本頁面提供匯出 Crashlytics 資料和 Firebase 工作階段資料的資料集結構定義。BigQuery
Firebase 會在 BigQuery 中為匯出的資料建立新資料集:
Firebase 工作階段資料集 (如果已啟用匯出工作階段資料)
Crashlytics 個資料集
Crashlytics資料會匯出至名為「」BigQuery的資料集firebase_crashlytics。這個資料集會涵蓋整個專案,即使專案包含多個應用程式亦同。
資料表
根據預設,Firebase 會在Crashlytics資料集中,為專案中連結至 BigQuery 的每個應用程式建立個別資料表。
資料表會依據應用程式的 ID (句號會轉換為底線),並附加應用程式的平台 (_IOS 或 _ANDROID) 來命名。舉例來說,套件名稱為 com.google.test 的 Android 應用程式資料會位於名為 com_google_test_ANDROID 的資料表中。
如果啟用串流匯出至 BigQuery,資料也會即時串流至附加
_REALTIME的資料表 (例如com_google_test_ANDROID_REALTIME)。表格中的每一列都代表應用程式中發生的事件,包括當機、非重大錯誤和 ANR。
除了您在應用程式中定義的任何自訂 Crashlytics 鍵之外,這些表格還包含一組標準的 Crashlytics 資料 (iOS+ | Android | Flutter | Unity )。
資料列
每個在資料表中的資料列都代表應用程式遇到的某個錯誤。
欄
對於當機、輕微錯誤和 ANR 來說,資料表中的資料欄都完全相同。
如果啟用串流匯出至 BigQuery,即時資料表就會與批次資料表有相同的資料欄。
您可能在代表事件的資料列中,有不含堆疊追蹤記錄的資料欄。
下表列出匯出 Crashlytics 資料時,表格中會顯示的資料欄:
| 欄位名稱 | 資料類型 | 說明 |
|---|---|---|
app_orientation |
STRING | 例如 PORTRAIT、LANDSCAPE、FACE_UP、FACE_DOWN 等。 |
application |
RECORD | 產生事件的應用程式 |
application.build_version |
STRING | 應用程式的建構版本 |
application.display_version |
STRING | |
blame_frame |
RECORD | 系統判定為導致當機或錯誤的根本原因的影格 |
blame_frame.address |
INT64 | 含有程式碼的二進位映像檔中的位址 Java 框架未設定 |
blame_frame.blamed |
BOOLEAN | Crashlytics 是否判定這個影格是導致當機或錯誤的原因 |
blame_frame.file |
STRING | 影格檔案的名稱 |
blame_frame.library |
STRING | 包含影格的程式庫顯示名稱 |
blame_frame.line |
INT64 | 框架檔案的行號 |
blame_frame.offset |
INT64 | 包含程式碼的二進位映像檔中的位元組偏移 Java 例外狀況未設定 |
blame_frame.owner |
STRING | 例如:DEVELOPER、VENDOR、RUNTIME、PLATFORM 或 SYSTEM |
blame_frame.symbol |
STRING | 水合符號,或無法水合的原始符號 |
breadcrumbs |
REPEATED RECORD | 時間戳記 Google Analytics導覽標記 (如已啟用) |
breadcrumbs.name |
STRING | 與麵包屑相關聯的名稱 |
breadcrumbs.params |
REPEATED RECORD | 與麵包屑相關聯的參數 |
breadcrumbs.params.key |
STRING | 與麵包屑相關聯的參數鍵 |
breadcrumbs.params.value |
STRING | 與麵包屑相關聯的參數值 |
breadcrumbs.timestamp |
TIMESTAMP | 與麵包屑相關的時間戳記 |
bundle_identifier |
STRING | 在 Firebase 專案中註冊的應用程式專屬 ID (例如 com.google.gmail如果是 Apple 平台應用程式,這是應用程式的套件組合 ID。 如果是 Android 應用程式,這是應用程式的套件名稱。 |
crashlytics_sdk_versions |
STRING | 產生事件的 Crashlytics SDK 版本 |
custom_keys |
REPEATED RECORD | 開發人員定義的鍵/值組合 |
custom_keys.key |
STRING | 開發人員定義的金鑰 |
custom_keys.value |
STRING | 開發人員定義的值 |
device |
RECORD | 發生事件的裝置 |
device_orientation |
STRING | 例如 PORTRAIT、LANDSCAPE、FACE_UP、FACE_DOWN 等。 |
device.architecture |
STRING | 例如:X86_32、X86_64、ARMV7、ARM64、ARMV7S 或 ARMV7K |
device.manufacturer |
STRING | 裝置製造商 |
device.model |
STRING | 裝置型號 |
error |
REPEATED RECORD | (僅限 Apple 應用程式) 一般錯誤 |
error_type |
STRING | 事件的錯誤類型 (例如 FATAL、NON_FATAL、ANR 等) |
error.blamed |
BOOLEAN | Crashlytics 是否判定這個影格是錯誤的原因 |
error.code |
INT64 | 與應用程式自訂記錄的 NSError 相關聯的錯誤代碼 |
error.frames |
REPEATED RECORD | 堆疊追蹤的框架 |
error.frames.address |
INT64 | 含有程式碼的二進位映像檔中的位址 |
error.frames.blamed |
BOOLEAN | Crashlytics 是否判定這個影格是錯誤的原因 |
error.frames.file |
STRING | 影格檔案的名稱 |
error.frames.library |
STRING | 包含影格的程式庫顯示名稱 |
error.frames.line |
INT64 | 框架檔案的行號 |
error.frames.offset |
INT64 | 包含程式碼的二進位映像檔中的位元組偏移 |
error.frames.owner |
STRING | 例如:DEVELOPER、VENDOR、RUNTIME、PLATFORM 或 SYSTEM |
error.frames.symbol |
STRING | 水合符號,或無法水合的原始符號 |
error.queue_name |
STRING | 執行緒執行的佇列 |
error.subtitle |
STRING | 討論串的子標題 |
error.title |
STRING | 討論串標題 |
event_id |
STRING | 活動的專屬 ID |
event_timestamp |
TIMESTAMP | 事件發生時間 |
exceptions |
REPEATED RECORD | (僅限 Android):此事件期間發生的例外狀況。巢狀例外狀況會依時間由近到遠排列,也就是說,最後一筆記錄是擲回的第一個例外狀況 |
exceptions.blamed |
BOOLEAN | 如果 Crashlytics 判斷例外狀況是造成錯誤或當機的原因,則為 True |
exceptions.exception_message |
STRING | 與例外狀況相關的訊息 |
exceptions.frames |
REPEATED RECORD | 與例外狀況相關聯的影格 |
exceptions.frames.address |
INT64 | 含有程式碼的二進位映像檔中的位址 Java 框架未設定 |
exceptions.frames.blamed |
BOOLEAN | Crashlytics 是否判定這個影格是導致當機或錯誤的原因 |
exceptions.frames.file |
STRING | 影格檔案的名稱 |
exceptions.frames.library |
STRING | 包含影格的程式庫顯示名稱 |
exceptions.frames.line |
INT64 | 框架檔案的行號 |
exceptions.frames.offset |
INT64 | 包含程式碼的二進位映像檔中的位元組偏移 Java 例外狀況未設定 |
exceptions.frames.owner |
STRING | 例如:DEVELOPER、VENDOR、RUNTIME、PLATFORM 或 SYSTEM |
exceptions.frames.symbol |
STRING | 水合符號,或無法水合的原始符號 |
exceptions.nested |
BOOLEAN | 適用於所有例外狀況,但最後擲回的例外狀況除外 (也就是第一個記錄) |
exceptions.subtitle |
STRING | 討論串的子標題 |
exceptions.title |
STRING | 討論串標題 |
exceptions.type |
STRING | 例外狀況類型 (例如 java.lang.IllegalStateException) |
firebase_session_id |
STRING | 系統自動為對應至事件的 Firebase 工作階段產生的 ID 來自 Crashlytics |
installation_uuid |
STRING | 用於識別不重複的應用程式和裝置安裝作業 |
is_fatal |
BOOLEAN | 應用程式是否異常終止 |
issue_id |
STRING | 與事件相關的問題 |
logs |
REPEATED RECORD | 由 Crashlytics記錄器產生的含時間戳記記錄訊息 (如已啟用) |
logs.message |
STRING | 記錄的訊息 |
logs.timestamp |
TIMESTAMP | 記錄建立時間 |
memory |
RECORD | 裝置的記憶體狀態 |
memory.free |
INT64 | 剩餘記憶體位元組數 |
memory.used |
INT64 | 使用的記憶體位元組數 |
operating_system |
RECORD | 裝置作業系統的詳細資料 |
operating_system.device_type |
STRING | 裝置類型 (例如 MOBILE、TABLET、
TV 等),也稱為「裝置類別」 |
operating_system.display_version |
STRING | 裝置上的作業系統版本 |
operating_system.modification_state |
STRING | 裝置是否經過修改 (例如已越獄解鎖的應用程式為 MODIFIED,已啟用 Root 權限的應用程式為 UNMODIFIED) |
operating_system.name |
STRING | 裝置上的作業系統名稱 |
operating_system.type |
STRING | (僅限 Apple 應用程式) 裝置執行的作業系統類型 (例如 IOS、MACOS 等) |
platform |
STRING | 在 Firebase 專案中註冊的應用程式平台
(有效值:IOS 或 ANDROID)
|
process_state |
STRING | BACKGROUND或FOREGROUND |
storage |
RECORD | 裝置的永久儲存空間 |
storage.free |
INT64 | 剩餘儲存空間 (位元組) |
storage.used |
INT64 | 已使用的儲存空間位元組數 |
threads |
REPEATED RECORD | 活動發生時的執行緒 |
threads.blamed |
BOOLEAN | Crashlytics 是否判定這個影格是導致當機或錯誤的原因 |
threads.code |
INT64 | (僅限 Apple 應用程式) 應用程式自訂記錄的 NSError 錯誤碼 |
threads.crash_address |
INT64 | 導致應用程式當機的信號位址;僅在當機的原生執行緒上顯示 |
threads.crashed |
BOOLEAN | 執行緒是否當機 |
threads.frames |
REPEATED RECORD | 執行緒的影格 |
threads.frames.address |
INT64 | 含有程式碼的二進位映像檔中的位址 |
threads.frames.blamed |
BOOLEAN | Crashlytics 是否判定這個影格是錯誤的原因 |
threads.frames.file |
STRING | 影格檔案的名稱 |
threads.frames.library |
STRING | 包含影格的程式庫顯示名稱 |
threads.frames.line |
INT64 | 框架檔案的行號 |
threads.frames.offset |
INT64 | 包含程式碼的二進位映像檔中的位元組偏移 |
threads.frames.owner |
STRING | 例如:DEVELOPER、VENDOR、RUNTIME、PLATFORM 或 SYSTEM |
threads.frames.symbol |
STRING | 水合符號,或無法水合的原始符號 |
threads.queue_name |
STRING | (僅限 Apple 應用程式) 執行執行緒的佇列 |
threads.signal_code |
STRING | 導致應用程式當機的信號程式碼;僅適用於當機的原生執行緒 |
threads.signal_name |
STRING | 導致應用程式當機的信號名稱,僅適用於當機的原生執行緒 |
threads.subtitle |
STRING | 討論串的子標題 |
threads.thread_name |
STRING | 討論串名稱 |
threads.title |
STRING | 討論串標題 |
unity_metadata.debug_build |
BOOLEAN | 如果是偵錯版本 |
unity_metadata.graphics_copy_texture_support |
STRING | 支援複製圖形紋理,如 Unity API 中所定義 |
unity_metadata.graphics_device_id |
INT64 | 圖形裝置的 ID |
unity_metadata.graphics_device_name |
STRING | 顯示裝置的名稱 |
unity_metadata.graphics_device_type |
STRING | 顯示卡裝置類型 |
unity_metadata.graphics_device_vendor_id |
INT64 | 圖形處理器供應商的 ID |
unity_metadata.graphics_device_vendor |
STRING | 繪圖裝置的供應商 |
unity_metadata.graphics_device_version |
STRING | 顯示卡版本 |
unity_metadata.graphics_max_texture_size |
INT64 | 專用於算繪紋理的大小上限 |
unity_metadata.graphics_memory_size_mb |
INT64 | 以 MB 為單位的圖形記憶體 |
unity_metadata.graphics_render_target_count |
INT64 | 圖形算繪目標數量 |
unity_metadata.graphics_shader_level |
INT64 | 圖像的著色器層級 |
unity_metadata.processor_count |
INT64 | 處理器 (核心) 數量 |
unity_metadata.processor_frequency_mhz |
INT64 | 處理器的頻率(以 MHz 為單位) |
unity_metadata.processor_type |
STRING | 處理器類型 |
unity_metadata.screen_refresh_rate_hz |
INT64 | 螢幕的刷新率 (以 Hz 為單位) |
unity_metadata.screen_resolution_dpi |
STRING | 螢幕的 DPI,以浮點數表示 |
unity_metadata.screen_size_px |
STRING | 螢幕大小 (以像素為單位),格式為「寬 x 高」 |
unity_metadata.system_memory_size_mb |
INT64 | 系統記憶體大小 (以 MB 為單位) |
unity_metadata.unity_version |
STRING | 裝置上執行的 Unity 版本 |
user |
RECORD | (選用) 收集應用程式使用者相關資訊 |
user.email |
STRING | (選用) 使用者的電子郵件地址 |
user.id |
STRING | (選用) 與使用者相關聯的應用程式專屬 ID |
user.name |
STRING | (選用) 使用者名稱 |
variant_id |
STRING | 與這個事件相關聯的問題變體 請注意,並非所有事件都有相關聯的問題變體。 |
Firebase 工作階段資料集
Firebase 工作階段資料會匯出至名為 BigQuery 的資料集。firebase_sessions這個資料集會涵蓋整個專案,即使專案包含多個應用程式亦同。
資料表
根據預設,Firebase 會在 Firebase 工作階段資料集中,為專案中連結至 BigQuery 的每個應用程式建立個別資料表。
資料表會根據應用程式 ID 命名 (句號會轉換為底線),並附加應用程式平台 (_IOS 或 _ANDROID)。舉例來說,套件名稱為 com.google.test 的 Android 應用程式資料會位於名為 com_google_test_ANDROID 的資料表中。
資料列
表格中的每一列都代表發生的工作階段事件。
欄
如果啟用串流匯出至 BigQuery,即時資料表就會與批次資料表有相同的資料欄。
下表列出匯出的 Firebase 工作階段資料包含的資料欄:
| 欄位名稱 | 資料類型 | 說明 |
|---|---|---|
instance_id |
STRING | 裝置的 Firebase 安裝 ID (FID)。識別應用程式和裝置的專屬安裝項目 |
session_id |
STRING | 這個工作階段的專屬 ID |
first_session_id |
STRING |
自應用程式冷啟動以來,這個工作階段所屬的一系列工作階段的第一個 ID。這可用於將自冷啟動以來發生的所有工作階段分組。如果這是第一個工作階段,這個欄位會與 session_id 相同。 |
session_index |
INTEGER |
應用程式冷啟動後,這個工作階段的順序。如果是冷啟動後的第一個工作階段,這個值會是 0。每產生一個工作階段,索引就會遞增,但不會發生冷啟動 (例如閒置 30 分鐘後)。 |
event_type |
STRING |
工作階段中發生的事件類型 (例如
SESSION_START)
|
event_timestamp |
TIMESTAMP | 事件發生的時間 |
received_timestamp |
TIMESTAMP | 伺服器從裝置收到事件的時間 |
performance_data_collection_enabled |
BOOLEAN | 工作階段期間是否已啟用 Firebase 效能監控 SDK 資料收集功能 |
crashlytics_data_collection_enabled |
BOOLEAN | 工作階段期間是否啟用 Firebase Crashlytics SDK 資料收集功能 |
application |
RECORD | 說明應用程式 |
application.build_version |
STRING |
應用程式的版本 (例如 1523456)
|
application.display_version |
STRING |
應用程式的顯示版本 (例如 4.1.7)
|
device |
RECORD | 發生事件的裝置 |
device.model |
STRING | 裝置型號 |
device.manufacturer |
STRING |
裝置製造商。如果是 Apple 平台應用程式,則為 NULL。 |
operating_system |
RECORD | 說明裝置的 OS |
operating_system.display_version |
STRING |
作業系統的顯示版本 (例如 10.2.1)
|
operating_system.name |
STRING | 作業系統名稱 |
operating_system.type |
STRING |
作業系統類型 (例如 IOS)。
這個欄位只會針對 Apple 裝置設定。
|
operating_system.device_type |
STRING |
裝置類型 (例如 MOBILE、TABLET、TV)
|