將 Firebase Crashlytics 資料匯出至 BigQuery

您可以將Firebase Crashlytics資料匯出至 BigQuery: 進一步分析BigQuery 可讓您使用 BigQuery SQL,匯出至其他雲端服務供應商,並用於 視覺化呈現和自訂資訊主頁。

啟用匯出到 BigQuery 功能

  1. 前往 Firebase 控制台中的 「整合」頁面
  2. 在「BigQuery資訊卡中,按一下「連結」
  3. 按照畫面上的指示啟用匯出至 BigQuery 的功能。

啟用匯出至 BigQuery 的功能後,會發生以下情況:

  • 根據預設,專案中的所有應用程式會連結至「BigQuery」和 您稍後加入專案的應用程式會自動連結至 BigQuery。你可以 管理該傳送資料的應用程式

  • Firebase 會設定每天同步處理 Firebase 專案的資料 BigQuery

  • Firebase 匯出現有資料的副本BigQuery。對於每個連結的應用程式,此資料會包含批次表格 包含每日同步的資料

  • 如果發生以下情況: 啟用 Crashlytics 串流匯出至 BigQuery功能, 所有連結的應用程式都會有即時資料表,內含持續更新的項目 資料。

如要停用匯出至 BigQuery 的功能,請在 Firebase 控制台中取消連結專案

哪些資料會匯出至「BigQuery」?

Firebase Crashlytics 資料會匯出至名為「BigQuery」的資料集 firebase_crashlytics。根據預設,系統會為專案中的每個應用程式在 Crashlytics 資料集中建立個別資料表。Firebase 會將 當中的表格是以應用程式 ID 為依據,半形句號轉換為底線,且 附加在結尾處的平台名稱

例如,來自套件名稱為 com.google.test 的 Android 應用程式資料 位於名為 com_google_test_ANDROID 的資料表中這個批次資料表已更新 每天一次如果啟用 Crashlytics 串流匯出到 BigQueryCrashlytics的資料也會即時串流播放 至名為 com_google_test_ANDROID_REALTIME 的資料表。

表格中的每一列都代表應用程式發生的事件,包括 當機、一般錯誤和 ANR 事件

Crashlytics 串流資料匯出至 BigQuery

你可以透過下列方式即時串流Crashlytics資料: BigQuery 串流處理。 這個 API 可用於任何需要即時資料的用途,例如進行簡報 查看即時資訊主頁中的資訊、即時觀看推出作業,或監控 以及觸發快訊和自訂工作流程的應用程式問題。

啟用 Crashlytics 串流匯出至 BigQuery 功能後, 除了批次表格外,系統還會提供即時表格。接著來介紹 請留意資料表之間的差異:

批次資料表 即時資料表
  • 資料每天會匯出一次。
  • 事件會在批次寫入至 BigQuery
  • 資料可以是 (最多 30 天前)。
  • 系統會即時匯出資料。
  • 沒有可用的補充作業。

批次表格非常適合長期分析並找出變化趨勢 因為我們必須在寫入事件之前儲存資料,而且這些事件可以補充 資料表最多保留 30 天當我們將資料寫入即時資料表時,會立即將資料寫入 BigQuery,因此非常適合用於即時資訊主頁和自訂快訊。這兩種表格 結合查詢來取得 好處

根據預設,即時資料表的分區到期時間為 30 天。目的地: 要瞭解如何修改這項設定,請參閱 設定分區到期時間 BigQuery說明文件中。

啟用 Crashlytics 串流匯出至 BigQuery

  1. 前往 Firebase 控制台中的 「整合」頁面
  2. 在「BigQuery資訊卡中,按一下「管理」
  3. 勾選「包含串流」核取方塊。

這樣就能為所有已連結的應用程式啟用串流功能。

你可以如何處理匯出的資料?

匯出至 BigQuery 的資料包含原始當機資料,包括裝置類型 作業系統、例外狀況 (Android 應用程式) 或錯誤 (Apple 應用程式),以及 Crashlytics 記錄以及其他資料。

確實檢查匯出的「Crashlytics」資料及其資料表 結構定義 (見本頁後半部)

使用數據分析範本

如要在數據分析範本中啟用即時資料,請按照 操作說明 使用數據分析將匯出的 Crashlytics 資料視覺化

建立檢視表

您可以使用 BigQuery UI 將查詢轉換為檢視表。 如需詳細操作說明,請參閱 在「資料檢視」頁面中建立資料檢視BigQuery 說明文件。

執行查詢

下列範例示範您可以在 Crashlytics 資料上執行的查詢,以產生報表,將當機事件資料匯總至更容易理解的摘要中。由於這類報表 該機構可在 Firebase 控制台的 Crashlytics 資訊主頁中補充資料 協助您分析及瞭解當機資料

範例 1:每日當機次數

在盡可能修正錯誤後,您認為團隊終於 即可啟動新的相片分享應用程式。開始前,請先查看 在過去一個月內每天當機的次數,藉此確保您的 Bug-bash 讓 長期下來應用程式就越穩定

以下是 Android 應用程式的查詢範例。如果是 iOS 應用程式,請使用軟體包 ID 和 IOS (而非套件名稱和 ANDROID)。

SELECT
  COUNT(DISTINCT event_id) AS number_of_crashes,
  FORMAT_TIMESTAMP("%F", event_timestamp) AS date_of_crashes
FROM
 `PROJECT_ID.firebase_crashlytics.PACKAGE_NAME_ANDROID`
GROUP BY
  date_of_crashes
ORDER BY
  date_of_crashes DESC
LIMIT 30;

範例 2:找出最普遍的當機事件

如要妥善安排製作計畫的優先順序,建議您找出前 10 名 常見當機情形您將產生一個查詢 資料點

以下是 Android 應用程式的查詢範例。如果是 iOS 應用程式,請使用軟體包 ID 和 IOS (而非套件名稱和 ANDROID)。

SELECT
  DISTINCT issue_id,
  COUNT(DISTINCT event_id) AS number_of_crashes,
  COUNT(DISTINCT installation_uuid) AS number_of_impacted_user,
  blame_frame.file,
  blame_frame.line
FROM
  `PROJECT_ID.firebase_crashlytics.PACKAGE_NAME_ANDROID`
WHERE
  event_timestamp >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(),INTERVAL 168 HOUR)
  AND event_timestamp < CURRENT_TIMESTAMP()
GROUP BY
  issue_id,
  blame_frame.file,
  blame_frame.line
ORDER BY
  number_of_crashes DESC
LIMIT 10;

示例 3:前 10 大當機裝置

秋天是換新手機的季節!貴公司知道這也代表 裝置發生問題的日期,尤其是 Android 裝置。為了提前 變得越來越少,成功建立查詢後 過去一週 (168 小時) 發生當機次數最多的裝置。

以下是 Android 應用程式的查詢範例。如果是 iOS 應用程式,請使用軟體包 ID 和 IOS (而非套件名稱和 ANDROID)。

SELECT
  device.model,
COUNT(DISTINCT event_id) AS number_of_crashes
FROM
  `PROJECT_ID.firebase_crashlytics.PACKAGE_NAME_ANDROID`
WHERE
  event_timestamp >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 168 HOUR)
  AND event_timestamp < CURRENT_TIMESTAMP()
GROUP BY
  device.model
ORDER BY
  number_of_crashes DESC
LIMIT 10;

範例 4:依自訂鍵篩選

您是遊戲開發人員,想要瞭解遊戲的哪個關卡最常當機。

為了幫助追蹤這項統計資料,您設定了 自訂 Crashlytics 稱為 current_level,每當使用者達到新關卡時,就更新此屬性。

Swift

Crashlytics.sharedInstance().setIntValue(3, forKey: "current_level");

Objective-C

CrashlyticsKit setIntValue:3 forKey:@"current_level";

Java

Crashlytics.setInt("current_level", 3);

將鍵匯出至 BigQuery 後,您就能將查詢寫入以下位置: 回報與個別當機事件相關的 current_level 值分佈情形 活動。

以下是 Android 應用程式的查詢範例。如果是 iOS 應用程式,請使用軟體包 ID 和 IOS (而非套件名稱和 ANDROID)。

SELECT
COUNT(DISTINCT event_id) AS num_of_crashes,
  value
FROM
  `PROJECT_ID.firebase_crashlytics.PACKAGE_NAME_ANDROID`
UNNEST(custom_keys)
WHERE
  key = "current_level"
GROUP BY
  key,
  value
ORDER BY
  num_of_crashes DESC

範例 5:User ID 擷取

您有一個處於搶先體驗階段的 Android 應用程式。大部分使用者都喜歡這個功能 發生異常當機次數為了釐清問題的真正原因,您可以撰寫查詢,使用這些使用者的使用者 ID 來提取所有當機事件:

以下是 Android 應用程式的查詢範例。如果是 iOS 應用程式,請使用軟體包 ID 和 IOS (而非套件名稱和 ANDROID)。

SELECT *
FROM
  `PROJECT_ID.firebase_crashlytics.PACKAGE_NAME_ANDROID`
WHERE
  user.id IN ("USER_ID_1", "USER_ID_2", "USER_ID_3")
ORDER BY
  user.id
 

範例 6:找出面臨特定當機問題的所有使用者

您的團隊不小心將重大錯誤發布給一群 Beta 版測試人員。 您的團隊可以使用上述「找出最常見的當機情形」範例中的查詢,找出特定的當機問題 ID。您的團隊現在想執行查詢,擷取受此當機情形影響的應用程式使用者名單。

以下是 Android 應用程式的查詢範例。如果是 iOS 應用程式,請使用軟體包 ID 和 IOS (而非套件名稱和 ANDROID)。

SELECT user.id as user_id
FROM
  `PROJECT_ID.firebase_crashlytics.PACKAGE_NAME_ANDROID`
WHERE
  issue_id = "ISSUE_ID"
  AND application.display_version = "APP_VERSION"
  AND user.id != ""
ORDER BY
  user.id;

示例 7:受到當機問題影響的使用者人數 (按國家/地區細分)

您的團隊在推出新版本時偵測到重大錯誤。您可以使用上述「找出最常見的當機情形」範例中的查詢,找出特定的當機問題 ID。您的團隊現在想瞭解這個當機問題是否已擴散到世界各地的使用者。

如要編寫這項查詢,您的團隊必須執行下列操作:

  1. 啟用將 Google Analytics 資料匯出至「BigQuery」的功能。 請參閱「將專案資料匯出至 BigQuery」。

  2. 更新應用程式,將使用者 ID 同時傳遞至 Google Analytics SDK 和 Crashlytics SDK

    Swift

    Crashlytics.sharedInstance().setUserIdentifier("123456789");
    Analytics.setUserID("123456789");
    

    Objective-C

    CrashlyticsKit setUserIdentifier:@"123456789";
    FIRAnalytics setUserID:@"12345678 9";
    

    Java

    Crashlytics.setUserIdentifier("123456789");
    mFirebaseAnalytics.setUserId("123456789");
    
  3. 撰寫查詢,使用 User-ID 欄位彙整 Crashlytics 資料集中有 Google Analytics 個發生當機情形的資料集。

    以下是 Android 應用程式的查詢範例。如果是 iOS 應用程式,請使用 軟體包 ID 和 IOS (而非套件名稱和 ANDROID)。

    SELECT DISTINCT c.issue_id, a.geo.country, COUNT(DISTINCT c.user.id) as num_users_impacted
    FROM `PROJECT_ID.firebase_crashlytics.PACKAGE_NAME_ANDROID` c
    INNER JOIN  `PROJECT_ID.analytics_TABLE_NAME.events_*` a on c.user.id = a.user_id
    WHERE
      c.issue_id = "ISSUE_ID"
      AND a._TABLE_SUFFIX BETWEEN '20190101'
      AND '20200101'
    GROUP BY
      c.issue_id,
      a.geo.country,
      c.user.id

示例 8:目前為止的前 5 大問題

以下是 Android 應用程式的查詢範例。如果是 iOS 應用程式,請使用軟體包 ID 和 IOS (而非套件名稱和 ANDROID)。

SELECT
  issue_id,
  COUNT(DISTINCT event_id) AS events
FROM
  `PROJECT_ID.firebase_crashlytics.PACKAGE_NAME_ANDROID_REALTIME`
WHERE
  DATE(event_timestamp) = CURRENT_DATE()
GROUP BY
  issue_id
ORDER BY
  events DESC
LIMIT
  5;

示例 9:自 DATE 至今的前 5 大問題,包括今天

你也可以透過拼接查詢,合併批次和即時資料表並新增 即時處理可靠的批次資料因為 event_id 是主要帳戶 鍵時,可以使用 DISTINCT event_id 從兩個範例中刪除重複的常見事件 。

以下是 Android 應用程式的查詢範例。如果是 iOS 應用程式,請使用軟體包 ID 和 IOS (而非套件名稱和 ANDROID)。

SELECT
  issue_id,
  COUNT(DISTINCT event_id) AS events
FROM (
  SELECT
    issue_id,
    event_id,
    event_timestamp
  FROM
    `PROJECT_ID.firebase_crashlytics.PACKAGE_NAME_ANDROID_REALTIME`
  UNION ALL
  SELECT
    issue_id,
    event_id,
    event_timestamp
  FROM
    `PROJECT_ID.firebase_crashlytics.PACKAGE_NAME_ANDROID`)
WHERE
  event_timestamp >= "YYYY_MM_DD"
GROUP BY
  issue_id
ORDER BY
  events DESC
LIMIT
  5;

瞭解 BigQuery 中的 Crashlytics 結構定義

當您設定將Crashlytics資料匯出至「BigQuery」和 Firebase 時 匯出近期事件 (當機、一般錯誤和 ANR),包括事件 從連結算起的兩天前,使用者可選擇 候補 長達 30 天

從那時開始,直到停用匯出功能為止 每日 Crashlytics 個事件。資料可能需要幾分鐘才能顯示 BigQuery會在每個匯出完成後顯示。

資料集

Crashlytics 會在「BigQuery」中為 Crashlytics 建立新的資料集 資料。資料集涵蓋整個專案,即使專案包含多個應用程式亦然。

資料表

Crashlytics 會在資料集內為專案中的每個應用程式建立資料表。 除非您選擇不匯出該應用程式的資料。Firebase 會將 當中的表格是以應用程式 ID 為依據,半形句號轉換為底線,且 附加在結尾處的平台名稱

例如,來自套件名稱為 com.google.test 的 Android 應用程式資料 位於名為「com_google_test_ANDROID」的表格中,且會提供即時資料 (如果啟用) 存在於名為「com_google_test_ANDROID_REALTIME」的資料表中

除了任一資料表外,資料表還包含一組標準的 Crashlytics 資料 自訂 Crashlytics 您在應用程式中定義的定義。

資料列

每個在資料表中的資料列都代表應用程式遇到的某個錯誤。

當機事件、一般錯誤和 ANR 情形表中的資料欄相同。如果 已啟用「Crashlytics 串流匯出到 BigQuery」功能,之後 即時資料表的欄會與批次資料表相同。請注意,資料列中可能會有代表事件的資料欄,但這些事件沒有堆疊追蹤記錄。

匯出項目中的資料欄如下表所示:

欄位名稱 資料類型 說明
platform STRING 在 Firebase 專案中註冊的應用程式平台 (有效值:IOSANDROID)
bundle_identifier STRING 應用程式在 Firebase 專案中註冊的專屬 ID (例如 com.google.gmail)
如果是 Apple 平台應用程式,則為應用程式的軟體包 ID。
如果是 Android 應用程式,則為應用程式的套件名稱。
event_id STRING 事件的專屬 ID
is_fatal BOOLEAN 應用程式是否當機
error_type STRING 事件的錯誤類型 (例如 FATALNON_FATALANR 等)
issue_id STRING 與事件相關的問題
variant_id STRING 與這個事件相關聯的問題變化版本
請注意,並非所有事件都有相關聯的問題變化版本。
event_timestamp TIMESTAMP 事件發生時間
device RECORD 發生事件的裝置
device.manufacturer STRING 裝置製造商
device.model STRING 裝置型號
device.architecture STRING 例如 X86_32X86_64ARMV7 ARM64ARMV7SARMV7K
memory RECORD 裝置的記憶體狀態
memory.used INT64 已使用的記憶體位元組數
memory.free INT64 剩餘的記憶體位元組數
storage RECORD 裝置的永久儲存空間
storage.used INT64 已使用的儲存空間位元組數
storage.free INT64 剩餘的儲存空間位元組數
operating_system RECORD 裝置上作業系統的詳細資料
operating_system.display_version STRING 裝置上的作業系統版本
operating_system.name STRING 裝置上的作業系統名稱
operating_system.modification_state STRING 裝置是否曾遭修改 (例如,越獄解鎖的應用程式為 MODIFIED,而已取得 Root 權限的應用程式為 UNMODIFIED)
operating_system.type STRING (僅限 Apple 應用程式) 裝置上執行的作業系統類型 (例如 IOSMACOS 等)
operating_system.device_type STRING 裝置類型 (例如 MOBILETABLETTV 等);也稱為「裝置類別」
application RECORD 產生事件的應用程式
application.build_version STRING 應用程式的建構版本
application.display_version STRING
user RECORD (選用) 收集的應用程式使用者相關資訊
user.name STRING (選填) 使用者名稱
user.email STRING (選用) 使用者的電子郵件地址
user.id STRING (選用) 與使用者相關聯的應用程式專屬 ID
custom_keys 重複紀錄 開發人員定義的鍵/值組合
custom_keys.key STRING 開發人員定義的鍵
custom_keys.value STRING 開發人員定義的值
installation_uuid STRING 可識別專屬應用程式和裝置安裝的 ID
crashlytics_sdk_versions STRING 產生事件的 Crashlytics SDK 版本
app_orientation STRING 例如 PORTRAITLANDSCAPEFACE_UPFACE_DOWN
device_orientation STRING 例如 PORTRAITLANDSCAPEFACE_UPFACE_DOWN
process_state STRING BACKGROUNDFOREGROUND
logs 重複紀錄 Crashlytics 記錄器產生的時間戳記記錄訊息 (如果已啟用)
logs.timestamp TIMESTAMP 記錄建立時間
logs.message STRING 記錄的訊息
breadcrumbs 重複錄音 已加上時間戳記 Google Analytics 導覽標記、 如果已啟用
breadcrumbs.timestamp TIMESTAMP 與導覽標記相關聯的時間戳記
breadcrumbs.name STRING 與導覽標記相關聯的名稱
breadcrumbs.params 重複紀錄 與導覽標記相關聯的參數
breadcrumbs.params.key STRING 與導覽標記相關聯的參數鍵
breadcrumbs.params.value STRING 與導覽標記相關聯的參數值
blame_frame RECORD 經認定為當機或錯誤的根本原因
blame_frame.line INT64 影格檔案的行號
blame_frame.file STRING 框架檔案名稱
blame_frame.symbol STRING 已充水的符號,如果無法充水,則為原始符號
blame_frame.offset INT64 包含程式碼的二進位映像檔中的位元組偏移量
針對 Java 例外狀況,請取消設定
blame_frame.address INT64 二進位映像檔中的地址,其中包含程式碼
為 Java 頁框取消設定
blame_frame.library STRING 包含框架的程式庫顯示名稱
blame_frame.owner STRING 例如 DEVELOPERVENDORRUNTIMEPLATFORMSYSTEM
blame_frame.blamed BOOLEAN Crashlytics 是否判定這個影格是當機原因 或發生錯誤
exceptions 重複紀錄 (僅限 Android) 事件期間發生的例外狀況。巢狀 例外狀況會按時間順序由新至舊顯示,也就是說, 最後一個記錄是擲回的第一個例外狀況
exceptions.type STRING 例外狀況類型 (例如:java.lang.IllegalStateException)
exceptions.exception_message STRING 與例外狀況相關的訊息
exceptions.nested BOOLEAN 除了最後一次擲回的例外狀況 (也就是第一筆記錄) 外,其他所有例外狀況都為 True
exceptions.title STRING 討論串的標題
exceptions.subtitle STRING 討論串的副標題
exceptions.blamed BOOLEAN 如果 Crashlytics 判定負責 錯誤或當機
exceptions.frames 重複錄音 與例外狀況相關的影格
exceptions.frames.line INT64 影格檔案的行號
exceptions.frames.file STRING 框架檔案名稱
exceptions.frames.symbol STRING 已充水的符號,如果無法充水,則為原始符號
exceptions.frames.offset INT64 包含程式碼的二進位映像檔中的位元組偏移量
針對 Java 例外狀況,請取消設定
exceptions.frames.address INT64 二進位映像檔中的地址,其中包含程式碼
為 Java 頁框取消設定
exceptions.frames.library STRING 包含框架的程式庫顯示名稱
exceptions.frames.owner STRING 例如 DEVELOPERVENDORRUNTIMEPLATFORMSYSTEM
exceptions.frames.blamed BOOLEAN Crashlytics 是否判定這個影格是當機原因 或發生錯誤
error 重複紀錄 (僅限 Apple 應用程式) 一般錯誤
error.queue_name STRING 執行執行緒的佇列
error.code INT64 與應用程式自訂記錄 NSError 相關聯的錯誤代碼
error.title STRING 討論串的標題
error.subtitle STRING 討論串的副標題
error.blamed BOOLEAN Crashlytics 是否判斷這個影格是錯誤的原因
error.frames 重複紀錄 堆疊追蹤的框架
error.frames.line INT64 影格檔案的行號
error.frames.file STRING 框架檔案名稱
error.frames.symbol STRING 已充水的符號,如果無法充水,則為原始符號
error.frames.offset INT64 做為包含程式碼的二進位圖像的位元組偏移
error.frames.address INT64 包含程式碼的二進位映像檔中的位址
error.frames.library STRING 包含框架的程式庫顯示名稱
error.frames.owner STRING 例如 DEVELOPERVENDORRUNTIMEPLATFORMSYSTEM
error.frames.blamed BOOLEAN Crashlytics 是否判斷這個影格是錯誤的原因
threads 重複錄音 事件發生時的執行緒
threads.crashed BOOLEAN 執行緒是否當機
threads.thread_name STRING 討論串名稱
threads.queue_name STRING (僅限 Apple 應用程式) 執行執行緒的佇列
threads.signal_name STRING 造成應用程式當機的信號名稱 (僅在當機時顯示) 原生執行緒
threads.signal_code STRING 造成應用程式當機的信號程式碼。只在當機時顯示 原生執行緒
threads.crash_address INT64 造成應用程式當機的信號位址。僅顯示 以便瞭解原生執行緒停止運作的情況
threads.code INT64 (僅限 Apple 應用程式) 應用程式所記錄的 NSError 自訂錯誤代碼
threads.title STRING 討論串的標題
threads.subtitle STRING 討論串的副標題
threads.blamed BOOLEAN Crashlytics 是否判定這個影格是當機原因 或發生錯誤
threads.frames 重複紀錄 執行緒的框架
threads.frames.line INT64 影格檔案的行號
threads.frames.file STRING 框架檔案名稱
threads.frames.symbol STRING 脫水符號或原始符號 (如不確定性)
threads.frames.offset INT64 做為包含程式碼的二進位圖像的位元組偏移
threads.frames.address INT64 包含程式碼的二進位映像檔中的位址
threads.frames.library STRING 包含框架的程式庫顯示名稱
threads.frames.owner STRING 例如 DEVELOPERVENDORRUNTIMEPLATFORMSYSTEM
threads.frames.blamed BOOLEAN Crashlytics 是否判定這個頁框是導致 錯誤
unity_metadata.unity_version STRING 在這部裝置上執行的 Unity 版本
unity_metadata.debug_build BOOLEAN 如果這是偵錯版本
unity_metadata.processor_type STRING 處理器類型
unity_metadata.processor_count INT64 處理器 (核心) 數量
unity_metadata.processor_frequency_mhz INT64 處理器頻率(以 MHz 為單位)
unity_metadata.system_memory_size_mb INT64 系統記憶體大小 (以 MB 為單位)
unity_metadata.graphics_memory_size_mb INT64 圖形記憶體 (MB)
unity_metadata.graphics_device_id INT64 圖形裝置的 ID
unity_metadata.graphics_device_vendor_id INT64 圖形處理器供應商的 ID
unity_metadata.graphics_device_name STRING 圖形裝置名稱
unity_metadata.graphics_device_vendor STRING 圖形裝置的供應商
unity_metadata.graphics_device_version STRING 顯示卡裝置的版本
unity_metadata.graphics_device_type STRING 圖形裝置類型
unity_metadata.graphics_shader_level INT64 圖形的著色器層級
unity_metadata.graphics_render_target_count INT64 圖形算繪目標數量
unity_metadata.graphics_copy_texture_support STRING 支援複製圖形紋理,如 Unity API
unity_metadata.graphics_max_texture_size INT64 轉譯紋理專用的大小上限
unity_metadata.screen_size_px STRING 螢幕尺寸 (以像素為單位),格式為「寬 x 高」
unity_metadata.screen_resolution_dpi STRING 螢幕的 DPI 以浮點數表示
unity_metadata.screen_refresh_rate_hz INT64 螢幕刷新率 (以 Hz)

使用數據分析將匯出的 Crashlytics 資料視覺化

Google 數據分析可讓 將 BigQuery 中的 Crashlytics 個資料集轉成報表更方便查看 不僅閱讀、分享更容易,而且可完全自訂

如要進一步瞭解如何使用數據分析,請參閱數據分析快速入門指南。 歡迎使用數據分析

使用「Crashlytics」報表範本

數據分析有一份 Crashlytics 報表範例,其中包含 匯出的Crashlytics中,包含的一組完整維度和指標 BigQuery 結構定義。如果已啟用「Crashlytics」串流匯出 BigQuery,接著您可以在即時趨勢中查看相關資料 「數據分析」範本。 將此範例做為範本使用 根據應用程式的原始當機資料,建立新的報表和視覺化圖表:

  1. 開啟 Crashlytics 數據分析資訊主頁範本

  2. 按一下右上角的 [Use Template] (使用範本)

  3. 在「新資料來源」下拉式選單中,選取「建立新資料來源」

  4. 在「BigQuery資訊卡上,按一下「選取」

  5. 請選取包含已匯出 Crashlytics 資料的資料表 我的專案 >PROJECT_ID >firebase_crashlytics>TABLE_NAME

    您隨時都能選取批次表格。如果啟用「Crashlytics 串流匯出至 BigQuery」,您可以改為選取即時資料表。

  6. 在「Configuration」下方,將「Crashlytics Template level」設為 預設

  7. 按一下 [Connect] (連結) 建立新的資料來源。

  8. 按一下「Add to Report」返回 Crashlytics 範本。

  9. 最後按一下「Create Report」,建立 Crashlytics 數據分析資訊主頁範本的複本。

,瞭解如何調查及移除這項存取權。