本頁面提供 BigQuery 中匯出的Crashlytics資料和 Firebase 工作階段資料的資料集結構定義。
Firebase 會在 BigQuery 中為匯出的資料建立新的資料集:
Firebase 工作階段資料集 (如果已啟用工作階段資料匯出功能)
Crashlytics 個資料集
Crashlytics 資料會匯出至名為 firebase_crashlytics 的 BigQuery 資料集。資料集涵蓋整個專案,即使專案有多個應用程式也一樣。
表格
根據預設,Firebase 會在 Crashlytics 資料集內,為專案中連結至 BigQuery 的每個應用程式建立個別資料表。
資料表的命名依據是應用程式的 ID (句號會轉換為底線),並附加應用程式的平台 (_IOS 或 _ANDROID)。舉例來說,套件名稱為 com.google.test 的 Android 應用程式資料會位於名為 com_google_test_ANDROID 的資料表中。
如果啟用串流匯出至 BigQuery,資料也會即時串流至附加
_REALTIME的資料表 (例如com_google_test_ANDROID_REALTIME)。表格中的每一列都代表應用程式中發生的事件,包括當機、非致命錯誤和 ANR。
除了您在應用程式中定義的任何自訂 Crashlytics 鍵 (iOS+ | Android | Flutter | Unity) 之外,資料表還包含一組標準 Crashlytics 資料。
資料列
每個在資料表中的資料列都代表應用程式遇到的某個錯誤。
欄
當機、非致命錯誤和 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 | 除了最後擲回的例外狀況 (即第一筆記錄) 以外,其餘皆為 True |
exceptions.subtitle |
STRING | 討論串的副標題 |
exceptions.title |
STRING | 討論串標題 |
exceptions.type |
STRING | 例外狀況類型 (例如 java.lang.IllegalStateException) |
firebase_session_id |
STRING | 自動產生的 Firebase 工作階段 ID,對應至 Crashlytics 的事件 |
installation_uuid |
STRING | 用於識別不重複應用程式和裝置安裝的 ID |
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 | 裝置 OS 的詳細資料 |
operating_system.device_type |
STRING | 裝置類型 (例如 MOBILE、TABLET、TV 等),也稱為「裝置類別」 |
operating_system.display_version |
STRING | 裝置的 OS 版本 |
operating_system.modification_state |
STRING | 裝置是否經過修改 (例如,越獄解鎖的應用程式為 MODIFIED,啟用 Root 權限的應用程式為 UNMODIFIED) |
operating_system.name |
STRING | 裝置上的 OS 名稱 |
operating_system.type |
STRING | (僅限 Apple 應用程式) 裝置上執行的 OS 類型 (例如 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 工作階段資料會匯出至名為 firebase_sessions 的 BigQuery 資料集。資料集涵蓋整個專案,即使專案有多個應用程式也一樣。
表格
根據預設,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 Performance Monitoring 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) |