Na tej stronie znajdziesz schemat zbioru danych dotyczący wyeksportowanych danych Crashlytics i danych sesji Firebase w BigQuery.
Firebase tworzy w BigQuery nowe zbiory danych na potrzeby wyeksportowanych danych:
Zbiór danych sesji Firebase (jeśli dane sesji są włączone do eksportu)
Crashlytics zbiór danych
Dane Crashlytics są eksportowane do zbioru danych BigQuery o nazwie firebase_crashlytics. Zbiór danych obejmuje cały projekt, nawet jeśli zawiera on wiele aplikacji.
Tabele
Domyślnie Firebase tworzy osobne tabele w zbiorze danych Crashlytics dla każdej aplikacji w projekcie połączonym z BigQuery.
Nazwy tabel są tworzone na podstawie identyfikatora aplikacji (z kropkami zamienionymi na podkreślenia) i uzupełniane o platformę aplikacji (_IOS lub _ANDROID). Na przykład dane aplikacji na Androida o nazwie pakietu com.google.test będą znajdować się w tabeli o nazwie com_google_test_ANDROID.
Jeśli włączony jest eksport strumieniowy do BigQuery, dane będą również przesyłane strumieniowo w czasie rzeczywistym do tabeli z dołączonym ciągiem
_REALTIME(np.com_google_test_ANDROID_REALTIME).Każdy wiersz w tabeli reprezentuje zdarzenie, które wystąpiło w aplikacji, w tym awarie, błędy niekrytyczne i błędy ANR.
Tabele zawierają standardowy zestaw danych Crashlytics oraz niestandardowe klucze Crashlytics zdefiniowane przez Ciebie w aplikacji (iOS+ | Android | Flutter | Unity).
Wiersze
Każdy wiersz w tabeli odpowiada błędowi, który wystąpił w aplikacji.
Kolumny
Kolumny w tabeli są takie same w przypadku awarii, błędów niekrytycznych i błędów ANR.
Jeśli włączony jest eksport strumieniowy do BigQuery, tabela czasu rzeczywistego będzie miała takie same kolumny jak tabela zbiorcza.
W wierszach mogą znajdować się kolumny reprezentujące zdarzenia, które nie mają zrzutów stosu.
Oto kolumny w tabeli wyeksportowanych danych Crashlytics:
| Nazwa pola | Typ danych | Opis |
|---|---|---|
app_orientation |
CIĄG ZNAKÓW | Na przykład: PORTRAIT, LANDSCAPE, FACE_UP, FACE_DOWN itd. |
application |
REKORD | Aplikacja, która wygenerowała zdarzenie. |
application.build_version |
CIĄG ZNAKÓW | Wersja kompilacji aplikacji |
application.display_version |
CIĄG ZNAKÓW | |
blame_frame |
REKORD | Ramka zidentyfikowana jako główna przyczyna awarii lub błędu |
blame_frame.address |
INT64 | Adres w obrazie binarnym, który zawiera kod Nieustawiony w przypadku ramek Javy |
blame_frame.blamed |
WARTOŚĆ LOGICZNA | Czy Crashlytics ustalił, że ta ramka jest przyczyną awarii lub błędu |
blame_frame.file |
CIĄG ZNAKÓW | nazwę pliku ramki, |
blame_frame.library |
CIĄG ZNAKÓW | Wyświetlana nazwa biblioteki zawierającej ramkę |
blame_frame.line |
INT64 | Numer wiersza pliku klatki. |
blame_frame.offset |
INT64 | Przesunięcie bajtowe w obrazie binarnym zawierającym kod Nieustawione w przypadku wyjątków Javy |
blame_frame.owner |
CIĄG ZNAKÓW | na przykład DEVELOPER, VENDOR, RUNTIME, PLATFORM lub SYSTEM. |
blame_frame.symbol |
CIĄG ZNAKÓW | Symbol po konwersji lub symbol nieprzetworzony, jeśli nie można go przekonwertować. |
breadcrumbs |
REPEATED RECORD | Google AnalyticsMenu nawigacyjne z sygnaturami czasowymi, jeśli jest włączone |
breadcrumbs.name |
CIĄG ZNAKÓW | Nazwa powiązana ze ścieżką |
breadcrumbs.params |
REPEATED RECORD | Parametry powiązane z menu nawigacyjnym |
breadcrumbs.params.key |
CIĄG ZNAKÓW | Klucz parametru powiązany z okruszkiem |
breadcrumbs.params.value |
CIĄG ZNAKÓW | Wartość parametru powiązana ze ścieżką |
breadcrumbs.timestamp |
SYGNATURA CZASOWA | sygnatura czasowa powiązana z okruszkiem, |
bundle_identifier |
CIĄG ZNAKÓW | Unikalny identyfikator aplikacji zarejestrowanej w projekcie w Firebase (np. com.google.gmailW przypadku aplikacji na platformy Apple jest to identyfikator pakietu aplikacji. W przypadku aplikacji na Androida jest to nazwa pakietu aplikacji. |
crashlytics_sdk_versions |
CIĄG ZNAKÓW | Wersja pakietu SDK Crashlytics, która wygenerowała zdarzenie. |
custom_keys |
REPEATED RECORD | Pary klucz-wartość zdefiniowane przez dewelopera |
custom_keys.key |
CIĄG ZNAKÓW | Klucz zdefiniowany przez dewelopera |
custom_keys.value |
CIĄG ZNAKÓW | Wartość zdefiniowana przez dewelopera |
device |
REKORD | urządzenie, na którym wystąpiło zdarzenie; |
device_orientation |
CIĄG ZNAKÓW | Na przykład: PORTRAIT, LANDSCAPE, FACE_UP, FACE_DOWN itd. |
device.architecture |
CIĄG ZNAKÓW | Na przykład: X86_32, X86_64, ARMV7, ARM64, ARMV7S lub ARMV7K. |
device.manufacturer |
CIĄG ZNAKÓW | producenta urządzenia, |
device.model |
CIĄG ZNAKÓW | model urządzenia, |
error |
REPEATED RECORD | (Tylko aplikacje Apple) Błędy niekrytyczne |
error_type |
CIĄG ZNAKÓW | Typ błędu zdarzenia (np. FATAL, NON_FATAL, ANR itd.). |
error.blamed |
WARTOŚĆ LOGICZNA | Czy Crashlytics ustalił, że ta ramka jest przyczyną błędu |
error.code |
INT64 | Kod błędu powiązany z niestandardowym błędem NSError zarejestrowanym przez aplikację. |
error.frames |
REPEATED RECORD | Ramki zrzutu stosu. |
error.frames.address |
INT64 | Adres w obrazie binarnym, który zawiera kod. |
error.frames.blamed |
WARTOŚĆ LOGICZNA | Czy Crashlytics ustalił, że ta ramka jest przyczyną błędu |
error.frames.file |
CIĄG ZNAKÓW | nazwę pliku ramki, |
error.frames.library |
CIĄG ZNAKÓW | Wyświetlana nazwa biblioteki zawierającej ramkę |
error.frames.line |
INT64 | Numer wiersza pliku klatki. |
error.frames.offset |
INT64 | Przesunięcie bajtowe w obrazie binarnym zawierającym kod. |
error.frames.owner |
CIĄG ZNAKÓW | na przykład DEVELOPER, VENDOR, RUNTIME, PLATFORM lub SYSTEM. |
error.frames.symbol |
CIĄG ZNAKÓW | Symbol po konwersji lub symbol nieprzetworzony, jeśli nie można go przekonwertować. |
error.queue_name |
CIĄG ZNAKÓW | Kolejka, w której był uruchomiony wątek |
error.subtitle |
CIĄG ZNAKÓW | Podtytuł wątku |
error.title |
CIĄG ZNAKÓW | Tytuł wątku |
event_id |
CIĄG ZNAKÓW | Unikalny identyfikator zdarzenia |
event_timestamp |
SYGNATURA CZASOWA | czas wystąpienia zdarzenia, |
exceptions |
REPEATED RECORD | (Tylko Android) Wyjątki, które wystąpiły podczas tego zdarzenia. Zagnieżdżone wyjątki są wyświetlane w odwrotnej kolejności chronologicznej, co oznacza, że ostatni rekord to pierwszy zgłoszony wyjątek. |
exceptions.blamed |
WARTOŚĆ LOGICZNA | „Prawda”, jeśli Crashlytics ustali, że wyjątek jest odpowiedzialny za błąd lub awarię |
exceptions.exception_message |
CIĄG ZNAKÓW | komunikat powiązany z wyjątkiem, |
exceptions.frames |
REPEATED RECORD | Ramki powiązane z wyjątkiem |
exceptions.frames.address |
INT64 | Adres w obrazie binarnym, który zawiera kod Nieustawiony w przypadku ramek Javy |
exceptions.frames.blamed |
WARTOŚĆ LOGICZNA | Czy Crashlytics ustalił, że ta ramka jest przyczyną awarii lub błędu |
exceptions.frames.file |
CIĄG ZNAKÓW | nazwę pliku ramki, |
exceptions.frames.library |
CIĄG ZNAKÓW | Wyświetlana nazwa biblioteki zawierającej ramkę |
exceptions.frames.line |
INT64 | Numer wiersza pliku klatki. |
exceptions.frames.offset |
INT64 | Przesunięcie bajtowe w obrazie binarnym zawierającym kod Nieustawione w przypadku wyjątków Javy |
exceptions.frames.owner |
CIĄG ZNAKÓW | na przykład DEVELOPER, VENDOR, RUNTIME, PLATFORM lub SYSTEM. |
exceptions.frames.symbol |
CIĄG ZNAKÓW | Symbol po konwersji lub symbol nieprzetworzony, jeśli nie można go przekonwertować. |
exceptions.nested |
WARTOŚĆ LOGICZNA | Prawda dla wszystkich wyjątków oprócz ostatniego (czyli pierwszego rekordu) |
exceptions.subtitle |
CIĄG ZNAKÓW | Podtytuł wątku |
exceptions.title |
CIĄG ZNAKÓW | Tytuł wątku |
exceptions.type |
CIĄG ZNAKÓW | typ wyjątku (np. java.lang.IllegalStateException) |
firebase_session_id |
CIĄG ZNAKÓW | Automatycznie wygenerowany identyfikator sesji Firebase zmapowanej na zdarzenie z: Crashlytics |
installation_uuid |
CIĄG ZNAKÓW | Identyfikator, który identyfikuje unikalną instalację aplikacji i urządzenia. |
is_fatal |
WARTOŚĆ LOGICZNA | czy aplikacja uległa awarii; |
issue_id |
CIĄG ZNAKÓW | problem powiązany ze zdarzeniem, |
logs |
REPEATED RECORD | Komunikaty logu z sygnaturą czasową wygenerowane przez logger Crashlytics, jeśli jest włączony. |
logs.message |
CIĄG ZNAKÓW | Komunikat logu |
logs.timestamp |
SYGNATURA CZASOWA | Kiedy utworzono wpis w dzienniku |
memory |
REKORD | stan pamięci urządzenia, |
memory.free |
INT64 | Pozostałe bajty pamięci |
memory.used |
INT64 | Wykorzystanie pamięci w bajtach |
operating_system |
REKORD | szczegóły systemu operacyjnego na urządzeniu, |
operating_system.device_type |
CIĄG ZNAKÓW | Typ urządzenia (np. MOBILE, TABLET, TV itd.), nazywany też „kategorią urządzenia”. |
operating_system.display_version |
CIĄG ZNAKÓW | Wersja systemu operacyjnego na urządzeniu. |
operating_system.modification_state |
CIĄG ZNAKÓW | Czy urządzenie zostało zmodyfikowane (np. aplikacja po jailbreaku to MODIFIED, a aplikacja z dostępem do roota to UNMODIFIED) |
operating_system.name |
CIĄG ZNAKÓW | Nazwa systemu operacyjnego na urządzeniu. |
operating_system.type |
CIĄG ZNAKÓW | (Tylko aplikacje Apple) Typ systemu operacyjnego na urządzeniu (np. IOS, MACOS). |
platform |
CIĄG ZNAKÓW | Platforma aplikacji zarejestrowana w projekcie w Firebase
(prawidłowe wartości: IOS lub ANDROID)
|
process_state |
CIĄG ZNAKÓW | BACKGROUND lub FOREGROUND |
storage |
REKORD | pamięć trwała urządzenia, |
storage.free |
INT64 | Pozostałe bajty miejsca na dane |
storage.used |
INT64 | Zajęte miejsce na dane w bajtach |
threads |
REPEATED RECORD | Wątki obecne w momencie wystąpienia zdarzenia |
threads.blamed |
WARTOŚĆ LOGICZNA | Czy Crashlytics ustalił, że ta ramka jest przyczyną awarii lub błędu |
threads.code |
INT64 | (Tylko aplikacje Apple) Kod błędu niestandardowego błędu NSError zarejestrowanego przez aplikację. |
threads.crash_address |
INT64 | Adres sygnału, który spowodował awarię aplikacji. Jest on dostępny tylko w przypadku wątków natywnych, które uległy awarii. |
threads.crashed |
WARTOŚĆ LOGICZNA | Czy wątek uległ awarii |
threads.frames |
REPEATED RECORD | Ramki wątku |
threads.frames.address |
INT64 | Adres w obrazie binarnym, który zawiera kod. |
threads.frames.blamed |
WARTOŚĆ LOGICZNA | Czy Crashlytics ustalił, że ta ramka jest przyczyną błędu |
threads.frames.file |
CIĄG ZNAKÓW | nazwę pliku ramki, |
threads.frames.library |
CIĄG ZNAKÓW | Wyświetlana nazwa biblioteki zawierającej ramkę |
threads.frames.line |
INT64 | Numer wiersza pliku klatki. |
threads.frames.offset |
INT64 | Przesunięcie bajtowe w obrazie binarnym zawierającym kod. |
threads.frames.owner |
CIĄG ZNAKÓW | na przykład DEVELOPER, VENDOR, RUNTIME, PLATFORM lub SYSTEM. |
threads.frames.symbol |
CIĄG ZNAKÓW | Symbol po uzupełnieniu lub symbol nieprzetworzony, jeśli nie można go uzupełnić. |
threads.queue_name |
CIĄG ZNAKÓW | (tylko aplikacje Apple) Kolejka, w której działał wątek. |
threads.signal_code |
CIĄG ZNAKÓW | Kod sygnału, który spowodował awarię aplikacji; występuje tylko w przypadku awarii wątków natywnych. |
threads.signal_name |
CIĄG ZNAKÓW | Nazwa sygnału, który spowodował awarię aplikacji, obecna tylko w przypadku awarii wątków natywnych. |
threads.subtitle |
CIĄG ZNAKÓW | Podtytuł wątku |
threads.thread_name |
CIĄG ZNAKÓW | nazwę wątku, |
threads.title |
CIĄG ZNAKÓW | Tytuł wątku |
unity_metadata.debug_build |
WARTOŚĆ LOGICZNA | Jeśli jest to kompilacja do debugowania, |
unity_metadata.graphics_copy_texture_support |
CIĄG ZNAKÓW | Obsługa kopiowania tekstury grafiki zgodnie z definicją w interfejsie Unity API. |
unity_metadata.graphics_device_id |
INT64 | Identyfikator urządzenia graficznego |
unity_metadata.graphics_device_name |
CIĄG ZNAKÓW | Nazwa urządzenia graficznego |
unity_metadata.graphics_device_type |
CIĄG ZNAKÓW | Typ urządzenia graficznego |
unity_metadata.graphics_device_vendor_id |
INT64 | Identyfikator dostawcy procesora graficznego |
unity_metadata.graphics_device_vendor |
CIĄG ZNAKÓW | Dostawca urządzenia graficznego |
unity_metadata.graphics_device_version |
CIĄG ZNAKÓW | Wersja urządzenia graficznego |
unity_metadata.graphics_max_texture_size |
INT64 | Maksymalny rozmiar przeznaczony na renderowanie tekstury |
unity_metadata.graphics_memory_size_mb |
INT64 | Pamięć karty graficznej w MB |
unity_metadata.graphics_render_target_count |
INT64 | Liczba elementów docelowych renderowania graficznego |
unity_metadata.graphics_shader_level |
INT64 | Poziom cieniowania grafiki |
unity_metadata.processor_count |
INT64 | Liczba procesorów (rdzeni) |
unity_metadata.processor_frequency_mhz |
INT64 | Częstotliwość procesorów w MHz |
unity_metadata.processor_type |
CIĄG ZNAKÓW | Typ procesora |
unity_metadata.screen_refresh_rate_hz |
INT64 | Częstotliwość odświeżania ekranu w Hz |
unity_metadata.screen_resolution_dpi |
CIĄG ZNAKÓW | Rozdzielczość ekranu w DPI jako liczba zmiennoprzecinkowa |
unity_metadata.screen_size_px |
CIĄG ZNAKÓW | Rozmiar ekranu w pikselach w formacie szerokość x wysokość. |
unity_metadata.system_memory_size_mb |
INT64 | Rozmiar pamięci systemu w MB |
unity_metadata.unity_version |
CIĄG ZNAKÓW | Wersja Unity uruchomiona na tym urządzeniu |
user |
REKORD | (Opcjonalnie) Informacje zbierane o użytkowniku aplikacji |
user.email |
CIĄG ZNAKÓW | (Opcjonalnie) Adres e-mail użytkownika. |
user.id |
CIĄG ZNAKÓW | (Opcjonalnie) Identyfikator powiązany z użytkownikiem w aplikacji. |
user.name |
CIĄG ZNAKÓW | (Opcjonalnie) Nazwa użytkownika. |
variant_id |
CIĄG ZNAKÓW | Wariant problemu powiązany z tym zdarzeniem. Pamiętaj, że nie wszystkie zdarzenia mają powiązany wariant problemu. |
Zbiór danych sesji Firebase
Dane sesji Firebase są eksportowane do zbioru danych BigQuery o nazwie firebase_sessions. Zbiór danych obejmuje cały projekt, nawet jeśli zawiera on wiele aplikacji.
Tabele
Domyślnie Firebase tworzy osobne tabele w zbiorze danych sesji Firebase dla każdej aplikacji w projekcie połączonym z BigQuery.
Nazwy tabel są tworzone na podstawie identyfikatora aplikacji (z kropkami zamienionymi na podkreślenia) i uzupełniane o platformę aplikacji (_IOS lub _ANDROID).
Na przykład dane aplikacji na Androida o nazwie pakietu com.google.test znajdą się w tabeli o nazwie com_google_test_ANDROID.
Wiersze
Każdy wiersz w tabeli odpowiada zdarzeniu sesji, które miało miejsce.
Kolumny
Jeśli włączony jest eksport strumieniowy do BigQuery, tabela czasu rzeczywistego będzie miała takie same kolumny jak tabela zbiorcza.
Oto kolumny w tabeli wyeksportowanych danych sesji Firebase:
| Nazwa pola | Typ danych | Opis |
|---|---|---|
instance_id |
CIĄG ZNAKÓW | Identyfikator instalacji Firebase (FID) z urządzenia. Identyfikuje unikalną instalację aplikacji na urządzeniu. |
session_id |
CIĄG ZNAKÓW | Unikalny identyfikator tej sesji |
first_session_id |
CIĄG ZNAKÓW |
Pierwszy identyfikator z serii sesji, w której znajduje się ta sesja, od momentu uruchomienia aplikacji „na zimno”. Można go użyć do grupowania wszystkich sesji, które miały miejsce od uruchomienia „na zimno”. Jeśli jest to pierwsza sesja, to pole będzie takie samo jak session_id.
|
session_index |
LICZBA CAŁKOWITA |
Kolejność, w jakiej ta sesja została uruchomiona po uruchomieniu aplikacji „na zimno”. W przypadku pierwszej sesji po zimnym starcie będzie to 0. Indeks będzie zwiększany za każdym razem, gdy sesja zostanie wygenerowana bez uruchomienia na zimno (np. po 30 minutach braku aktywności).
|
event_type |
CIĄG ZNAKÓW |
Typ zdarzenia, które wystąpiło w sesji (np. SESSION_START)
|
event_timestamp |
SYGNATURA CZASOWA | czas wystąpienia zdarzenia, |
received_timestamp |
SYGNATURA CZASOWA | Czas odebrania zdarzenia przez serwer z urządzenia. |
performance_data_collection_enabled |
WARTOŚĆ LOGICZNA | Informacja o tym, czy w czasie sesji było włączone zbieranie danych przez pakiet SDK monitorowania skuteczności w Firebase. |
crashlytics_data_collection_enabled |
WARTOŚĆ LOGICZNA | Czy w czasie sesji było włączone zbieranie danych przez pakiet SDK Firebase Crashlytics. |
application |
REKORD | Opisuje aplikację |
application.build_version |
CIĄG ZNAKÓW |
Wersja kompilacji aplikacji (np. 1523456)
|
application.display_version |
CIĄG ZNAKÓW |
Wersja aplikacji (np. 4.1.7)
|
device |
REKORD | Urządzenie, na którym wystąpiło zdarzenie. |
device.model |
CIĄG ZNAKÓW | Model urządzenia. |
device.manufacturer |
CIĄG ZNAKÓW |
Producent urządzenia. W przypadku aplikacji na platformy Apple będzie to NULL.
|
operating_system |
REKORD | Opisuje system operacyjny urządzenia |
operating_system.display_version |
CIĄG ZNAKÓW |
Wersja systemu operacyjnego (np. 10.2.1)
|
operating_system.name |
CIĄG ZNAKÓW | Nazwa systemu operacyjnego. |
operating_system.type |
CIĄG ZNAKÓW |
Typ systemu operacyjnego (np. IOS). To pole jest ustawiane tylko w przypadku urządzeń Apple.
|
operating_system.device_type |
CIĄG ZNAKÓW |
Typ urządzenia (np. MOBILE, TABLET, TV)
|