تقدّم هذه الصفحة مخطط مجموعة البيانات للبيانات التي تم تصديرها Crashlytics وبيانات جلسات Firebase في BigQuery.
تنشئ Firebase مجموعات بيانات جديدة في BigQuery لبياناتك التي تم تصديرها:
مجموعة بيانات الجلسات في Firebase (في حال تفعيل تصدير بيانات الجلسات)
مجموعة بيانات Crashlytics
يتم تصدير بيانات Crashlytics إلى مجموعة بيانات BigQuery باسم firebase_crashlytics. تغطي مجموعة البيانات مشروعك بالكامل، حتى لو كان يتضمّن تطبيقات متعددة.
الجداول
تنشئ Firebase تلقائيًا جداول فردية داخل مجموعة البيانات Crashlytics لكل تطبيق في مشروعك مرتبط بـ BigQuery.
تتم تسمية الجداول استنادًا إلى معرّف التطبيق (مع تحويل النقاط إلى شرطات سفلية) وإضافة نظام التشغيل الخاص بالتطبيق (_IOS أو _ANDROID). على سبيل المثال، ستكون بيانات تطبيق Android الذي يحمل اسم الحزمة com.google.test في جدول باسم com_google_test_ANDROID.
في حال تفعيل خيار تصدير متواصل إلى BigQuery، سيتم أيضًا بث البيانات في الوقت الفعلي إلى جدول مُلحق بـ
_REALTIME(على سبيل المثال،com_google_test_ANDROID_REALTIME).يمثّل كل صف في الجدول حدثًا وقع في التطبيق، بما في ذلك الأعطال والأخطاء غير القاتلة وأخطاء ANR.
تحتوي الجداول على مجموعة معايير التعلُّم من بيانات Crashlytics بالإضافة إلى أي مفاتيح Crashlytics مخصّصة تحدّدها في تطبيقك (iOS+ | Android | Flutter | Unity ).
الصفوف
يمثّل كل صف في الجدول خطأ واجهه التطبيق.
الأعمدة
تكون الأعمدة في الجدول متطابقة بالنسبة إلى الأعطال والأخطاء غير الخطيرة وأخطاء ANR.
في حال تفعيل تصدير متواصل إلى BigQuery، سيتضمّن الجدول في الوقت الفعلي الأعمدة نفسها التي يتضمّنها جدول الدفعات.
قد تتضمّن الصفوف أعمدة تمثّل أحداثًا لا تتضمّن عمليات تتبُّع تسلسل استدعاء الدوال البرمجية.
في ما يلي الأعمدة في جدول بيانات Crashlytics التي تم تصديرها:
| اسم الحقل | نوع البيانات | الوصف |
|---|---|---|
app_orientation |
سلسلة | على سبيل المثال، PORTRAIT وLANDSCAPE وFACE_UP وFACE_DOWN وما إلى ذلك. |
application |
سجلّ | التطبيق الذي أنشأ الحدث |
application.build_version |
سلسلة | إصدار بنية التطبيق |
application.display_version |
سلسلة | |
blame_frame |
سجلّ | إطار تحديد السبب الجذري للتعطُّل أو الخطأ |
blame_frame.address |
INT64 | عنوان الصورة الثنائية الذي يحتوي على الرمز لم يتم ضبطه لإطارات Java |
blame_frame.blamed |
قيمة منطقية | ما إذا كان Crashlytics قد حدّد أنّ هذا الإطار هو سبب التعطُّل أو الخطأ |
blame_frame.file |
سلسلة | اسم ملف الإطار |
blame_frame.library |
سلسلة | الاسم المعروض للمكتبة التي تتضمّن اللقطة |
blame_frame.line |
INT64 | رقم السطر في ملف الإطار |
blame_frame.offset |
INT64 | إزاحة البايت في الصورة الثنائية التي تحتوي على الرمز لم يتم ضبطها بالنسبة إلى استثناءات Java |
blame_frame.owner |
سلسلة | على سبيل المثال، DEVELOPER أو VENDOR أو RUNTIME أو PLATFORM أو SYSTEM |
blame_frame.symbol |
سلسلة | الرمز المائي أو الرمز الأولي إذا كان غير قابل للترطيب |
breadcrumbs |
سجلّ متكرّر | Google Analytics شريط التنقل مع طوابع زمنية، في حال تفعيل هذه الميزة |
breadcrumbs.name |
سلسلة | الاسم المرتبط بمسار التنقل |
breadcrumbs.params |
سجلّ متكرّر | المَعلمات المرتبطة بمسار التنقّل |
breadcrumbs.params.key |
سلسلة | مفتاح مَعلمة مرتبط بمسار التنقّل |
breadcrumbs.params.value |
سلسلة | قيمة مَعلمة مرتبطة بمسار التنقّل |
breadcrumbs.timestamp |
TIMESTAMP | الطابع الزمني المرتبط بمسار التنقل |
bundle_identifier |
سلسلة | المعرّف الفريد للتطبيق كما هو مسجّل في مشروع Firebase
(مثلاً، com.google.gmailبالنسبة إلى تطبيقات منصة Apple، هذا هو معرّف الحزمة للتطبيق. بالنسبة إلى تطبيقات Android، هذا هو اسم حزمة التطبيق. |
crashlytics_sdk_versions |
سلسلة | إصدار حزمة تطوير البرامج (SDK) Crashlytics الذي أنشأ الحدث |
custom_keys |
سجلّ متكرّر | أزواج المفتاح/القيمة التي يحدّدها المطوّر |
custom_keys.key |
سلسلة | مفتاح يحدّده المطوّر |
custom_keys.value |
سلسلة | قيمة يحدّدها المطوّر |
device |
سجلّ | الجهاز الذي وقع فيه الحدث |
device_orientation |
سلسلة | على سبيل المثال، PORTRAIT وLANDSCAPE وFACE_UP وFACE_DOWN وما إلى ذلك. |
device.architecture |
سلسلة | على سبيل المثال، X86_32 أو X86_64 أو ARMV7 أو ARM64 أو ARMV7S أو ARMV7K |
device.manufacturer |
سلسلة | الشركة المصنّعة للجهاز |
device.model |
سلسلة | طراز الجهاز |
error |
سجلّ متكرّر | (تطبيقات Apple فقط) أخطاء غير خطيرة |
error_type |
سلسلة | نوع الخطأ في الحدث (على سبيل المثال، FATAL أو NON_FATAL أو ANR أو غير ذلك) |
error.blamed |
قيمة منطقية | تحدِّد هذه السمة ما إذا كان Crashlytics قد حدّد أنّ هذا الإطار هو سبب الخطأ |
error.code |
INT64 | رمز الخطأ المرتبط بـ NSError المخصّص الذي سجّله التطبيق |
error.frames |
سجلّ متكرّر | إطارات تتبُّع تسلسل استدعاء الدوال البرمجية |
error.frames.address |
INT64 | عنوان الصورة الثنائية التي تحتوي على الرمز |
error.frames.blamed |
قيمة منطقية | تحدِّد هذه السمة ما إذا كان Crashlytics قد حدّد أنّ هذا الإطار هو سبب الخطأ |
error.frames.file |
سلسلة | اسم ملف الإطار |
error.frames.library |
سلسلة | الاسم المعروض للمكتبة التي تتضمّن اللقطة |
error.frames.line |
INT64 | رقم السطر في ملف الإطار |
error.frames.offset |
INT64 | إزاحة البايت في الصورة الثنائية التي تحتوي على الرمز |
error.frames.owner |
سلسلة | على سبيل المثال، DEVELOPER أو VENDOR أو RUNTIME أو PLATFORM أو SYSTEM |
error.frames.symbol |
سلسلة | الرمز المائي أو الرمز الأولي إذا كان غير قابل للترطيب |
error.queue_name |
سلسلة | قائمة الانتظار التي كان يتم تشغيل سلسلة التعليمات عليها |
error.subtitle |
سلسلة | العنوان الفرعي لسلسلة المحادثات |
error.title |
سلسلة | تمثّل هذه السمة عنوان سلسلة المحادثات. |
event_id |
سلسلة | المعرّف الفريد للحدث |
event_timestamp |
TIMESTAMP | وقت وقوع الحدث |
exceptions |
سجلّ متكرّر | (على أجهزة Android فقط) الاستثناءات التي حدثت أثناء هذا الحدث يتم عرض الاستثناءات المتداخلة بترتيب زمني عكسي، ما يعني أنّ السجلّ الأخير هو الاستثناء الأول الذي تم طرحه. |
exceptions.blamed |
قيمة منطقية | True if Crashlytics determines the exception is responsible for the error or crash |
exceptions.exception_message |
سلسلة | رسالة مرتبطة بالاستثناء |
exceptions.frames |
سجلّ متكرّر | اللقطات المرتبطة بالاستثناء |
exceptions.frames.address |
INT64 | عنوان الصورة الثنائية الذي يحتوي على الرمز لم يتم ضبطه لإطارات Java |
exceptions.frames.blamed |
قيمة منطقية | ما إذا كان Crashlytics قد حدّد أنّ هذا الإطار هو سبب التعطُّل أو الخطأ |
exceptions.frames.file |
سلسلة | اسم ملف الإطار |
exceptions.frames.library |
سلسلة | الاسم المعروض للمكتبة التي تتضمّن اللقطة |
exceptions.frames.line |
INT64 | رقم السطر في ملف الإطار |
exceptions.frames.offset |
INT64 | إزاحة البايت في الصورة الثنائية التي تحتوي على الرمز لم يتم ضبطها بالنسبة إلى استثناءات Java |
exceptions.frames.owner |
سلسلة | على سبيل المثال، DEVELOPER أو VENDOR أو RUNTIME أو PLATFORM أو SYSTEM |
exceptions.frames.symbol |
سلسلة | الرمز المائي أو الرمز الأولي إذا كان غير قابل للترطيب |
exceptions.nested |
قيمة منطقية | صحيح لجميع الاستثناءات باستثناء الاستثناء الأخير الذي تم طرحه (أي السجلّ الأول) |
exceptions.subtitle |
سلسلة | العنوان الفرعي لسلسلة المحادثات |
exceptions.title |
سلسلة | تمثّل هذه السمة عنوان سلسلة المحادثات. |
exceptions.type |
سلسلة | نوع الاستثناء
(على سبيل المثال، java.lang.IllegalStateException) |
firebase_session_id |
سلسلة | المعرّف الذي يتم إنشاؤه تلقائيًا لجلسة Firebase المرتبطة بالحدث من Crashlytics |
installation_uuid |
سلسلة | معرّف يحدّد عملية تثبيت فريدة للتطبيق والجهاز |
is_fatal |
قيمة منطقية | ما إذا كان التطبيق قد تعطل |
issue_id |
سلسلة | المشكلة المرتبطة بالحدث |
logs |
سجلّ متكرّر | رسائل السجلّ التي تحمل طابعًا زمنيًا والتي تم إنشاؤها بواسطة أداة تسجيل Crashlytics، في حال تفعيلها |
logs.message |
سلسلة | الرسالة المسجّلة |
logs.timestamp |
TIMESTAMP | وقت إنشاء السجلّ |
memory |
سجلّ | حالة ذاكرة الجهاز |
memory.free |
INT64 | عدد وحدات البايت المتبقية في الذاكرة |
memory.used |
INT64 | وحدات بايت من الذاكرة المستخدَمة |
operating_system |
سجلّ | تفاصيل نظام التشغيل على الجهاز |
operating_system.device_type |
سلسلة | نوع الجهاز (على سبيل المثال، MOBILE أو TABLET أو TV وما إلى ذلك)، ويُعرف أيضًا باسم "فئة الجهاز" |
operating_system.display_version |
سلسلة | إصدار نظام التشغيل على الجهاز |
operating_system.modification_state |
سلسلة | ما إذا تم تعديل الجهاز
(على سبيل المثال، يكون التطبيق الذي تمت إزالة جميع القيود عنه MODIFIED والتطبيق المزوّد بإذن الوصول إلى الجذر UNMODIFIED) |
operating_system.name |
سلسلة | اسم نظام التشغيل على الجهاز |
operating_system.type |
سلسلة | (تطبيقات Apple فقط) نوع نظام التشغيل الذي يعمل على الجهاز (على سبيل المثال،
IOS أو MACOS أو غير ذلك) |
platform |
سلسلة | منصّة التطبيق كما تم تسجيلها في مشروع Firebase
(القيم الصالحة: IOS أو ANDROID)
|
process_state |
سلسلة | BACKGROUND أو FOREGROUND |
storage |
سجلّ | مساحة التخزين الدائمة على الجهاز |
storage.free |
INT64 | عدد وحدات البايت المتبقية من مساحة التخزين |
storage.used |
INT64 | وحدات بايت من مساحة التخزين المستخدَمة |
threads |
سجلّ متكرّر | سلاسل المحادثات المتوفّرة في وقت الحدث |
threads.blamed |
قيمة منطقية | ما إذا كان Crashlytics قد حدّد أنّ هذا الإطار هو سبب التعطُّل أو الخطأ |
threads.code |
INT64 | (تطبيقات Apple فقط) رمز الخطأ المخصّص الذي تم تسجيله في NSError للتطبيق |
threads.crash_address |
INT64 | عنوان الإشارة التي تسبّبت في تعطُّل التطبيق، ولا يظهر إلا في سلاسل التعليمات البرمجية الأصلية التي تعذّر تشغيلها |
threads.crashed |
قيمة منطقية | ما إذا تعطّلت سلسلة المحادثات |
threads.frames |
سجلّ متكرّر | إطارات سلسلة المحادثات |
threads.frames.address |
INT64 | عنوان الصورة الثنائية التي تحتوي على الرمز |
threads.frames.blamed |
قيمة منطقية | تحدِّد هذه السمة ما إذا كان Crashlytics قد حدّد أنّ هذا الإطار هو سبب الخطأ |
threads.frames.file |
سلسلة | اسم ملف الإطار |
threads.frames.library |
سلسلة | الاسم المعروض للمكتبة التي تتضمّن اللقطة |
threads.frames.line |
INT64 | رقم السطر في ملف الإطار |
threads.frames.offset |
INT64 | إزاحة البايت في الصورة الثنائية التي تحتوي على الرمز |
threads.frames.owner |
سلسلة | على سبيل المثال، DEVELOPER أو VENDOR أو RUNTIME أو PLATFORM أو SYSTEM |
threads.frames.symbol |
سلسلة | الرمز المائي أو الرمز الأولي إذا كان غير قابل للترطيب |
threads.queue_name |
سلسلة | (تطبيقات Apple فقط) قائمة الانتظار التي كان يتم تشغيل سلسلة المحادثات عليها |
threads.signal_code |
سلسلة | رمز الإشارة التي تسبّبت في تعطُّل التطبيق، ولا يظهر إلا في سلاسل التعليمات البرمجية الأصلية التي تعذّر تشغيلها |
threads.signal_name |
سلسلة | اسم الإشارة التي أدّت إلى تعطُّل التطبيق، ولا تظهر إلا في سلاسل المحادثات الأصلية التي تعذّر تشغيلها |
threads.subtitle |
سلسلة | العنوان الفرعي لسلسلة المحادثات |
threads.thread_name |
سلسلة | اسم سلسلة المحادثات |
threads.title |
سلسلة | تمثّل هذه السمة عنوان سلسلة المحادثات. |
unity_metadata.debug_build |
قيمة منطقية | إذا كان هذا إصدارًا مخصّصًا لتصحيح الأخطاء |
unity_metadata.graphics_copy_texture_support |
سلسلة | إتاحة نسخ نسيج الرسومات على النحو المحدّد في Unity API |
unity_metadata.graphics_device_id |
INT64 | معرّف جهاز الرسومات |
unity_metadata.graphics_device_name |
سلسلة | اسم جهاز الرسومات |
unity_metadata.graphics_device_type |
سلسلة | نوع جهاز الرسومات |
unity_metadata.graphics_device_vendor_id |
INT64 | معرّف مورّد معالج الرسومات |
unity_metadata.graphics_device_vendor |
سلسلة | مورّد جهاز الرسوميات |
unity_metadata.graphics_device_version |
سلسلة | إصدار جهاز الرسومات |
unity_metadata.graphics_max_texture_size |
INT64 | الحد الأقصى للحجم المخصّص لعرض الزخرفة |
unity_metadata.graphics_memory_size_mb |
INT64 | ذاكرة الرسومات بالميغابايت |
unity_metadata.graphics_render_target_count |
INT64 | عدد أهداف العرض الرسومي |
unity_metadata.graphics_shader_level |
INT64 | مستوى التظليل للرسومات |
unity_metadata.processor_count |
INT64 | عدد المعالِجات (النوى) |
unity_metadata.processor_frequency_mhz |
INT64 | تردد المعالجات بالميغاهرتز |
unity_metadata.processor_type |
سلسلة | نوع المعالج |
unity_metadata.screen_refresh_rate_hz |
INT64 | معدّل تحديث الشاشة بالهرتز |
unity_metadata.screen_resolution_dpi |
سلسلة | عدد النقاط لكل بوصة على الشاشة كرقم نقطة عائمة |
unity_metadata.screen_size_px |
سلسلة | حجم الشاشة بالبكسل، بتنسيق العرض × الارتفاع |
unity_metadata.system_memory_size_mb |
INT64 | حجم ذاكرة النظام بالميغابايت |
unity_metadata.unity_version |
سلسلة | إصدار Unity الذي يتم تشغيله على هذا الجهاز |
user |
سجلّ | (اختياري) المعلومات التي يتم جمعها عن مستخدم التطبيق |
user.email |
سلسلة | (اختياري) عنوان البريد الإلكتروني للمستخدم |
user.id |
سلسلة | (اختياري) معرّف خاص بالتطبيق ومرتبط بالمستخدم |
user.name |
سلسلة | (اختياري) اسم المستخدم |
variant_id |
سلسلة | نوع المشكلة المرتبط بهذا الحدث يُرجى العِلم أنّه لا تتضمّن بعض الأحداث نوع مشكلة مرتبطًا بها. |
مجموعة بيانات الجلسات في Firebase
يتم تصدير بيانات الجلسات في Firebase إلى مجموعة بيانات BigQuery باسم firebase_sessions. تغطي مجموعة البيانات مشروعك بالكامل، حتى لو كان يتضمّن تطبيقات متعددة.
الجداول
تنشئ Firebase تلقائيًا جداول فردية داخل مجموعة بيانات جلسات Firebase لكل تطبيق في مشروعك مرتبط بـ BigQuery.
تتم تسمية الجداول استنادًا إلى معرّف التطبيق (مع تحويل النقاط إلى شرطات سفلية) وإضافة نظام التشغيل الخاص بالتطبيق (_IOS أو _ANDROID). على سبيل المثال، ستكون بيانات تطبيق Android الذي يحمل اسم الحزمة com.google.test في جدول باسم com_google_test_ANDROID.
الصفوف
يمثّل كل صف في الجدول حدث جلسة حدث.
الأعمدة
في حال تفعيل تصدير متواصل إلى BigQuery، سيتضمّن الجدول في الوقت الفعلي الأعمدة نفسها التي يتضمّنها جدول الدفعات.
في ما يلي الأعمدة ضِمن الجدول الخاص ببيانات الجلسات التي تم تصديرها من Firebase:
| اسم الحقل | نوع البيانات | الوصف |
|---|---|---|
instance_id |
سلسلة | معرّف التثبيت في Firebase (FID) من الجهاز تحدّد هذه السمة عملية تثبيت فريدة للتطبيق والجهاز |
session_id |
سلسلة | المعرّف الفريد لهذه الجلسة |
first_session_id |
سلسلة |
المعرّف الأول لسلسلة من الجلسات التي تنتمي إليها هذه الجلسة منذ بدء تشغيل التطبيق على البارد. يمكن استخدام هذا الحقل لتجميع كل الجلسات التي حدثت منذ بدء التشغيل على البارد. إذا كانت هذه الجلسة هي الجلسة الأولى، سيكون هذا الحقل هو نفسه session_id.
|
session_index |
عدد صحيح |
ترتيب هذه الجلسة بعد بدء تشغيل التطبيق على البارد بالنسبة إلى الجلسة الأولى بعد بدء التشغيل على البارد، ستكون القيمة 0. سيتم زيادة الفهرس
في كل مرة يتم فيها إنشاء جلسة بدون حدوث بدء تشغيل بارد (على سبيل المثال، بعد 30 دقيقة من عدم النشاط).
|
event_type |
سلسلة |
نوع الحدث الذي وقع في الجلسة (على سبيل المثال،
SESSION_START)
|
event_timestamp |
TIMESTAMP | وقت وقوع الحدث |
received_timestamp |
TIMESTAMP | الوقت الذي تلقّى فيه الخادم الحدث من الجهاز |
performance_data_collection_enabled |
قيمة منطقية | تحديد ما إذا كان قد تم تفعيل جمع البيانات في حزمة تطوير البرامج (SDK) الخاصة بخدمة "مراقبة الأداء في Firebase" في وقت الجلسة |
crashlytics_data_collection_enabled |
قيمة منطقية | تحديد ما إذا كانت ميزة جمع البيانات عبر حزمة تطوير البرامج (SDK) في Firebase Crashlytics مفعَّلة في وقت الجلسة |
application |
سجلّ | توضّح هذه السمة التطبيق |
application.build_version |
سلسلة |
إصدار البنية للتطبيق (مثلاً،
1523456)
|
application.display_version |
سلسلة |
إصدار التطبيق المعروض (على سبيل المثال، 4.1.7)
|
device |
سجلّ | الجهاز الذي وقع فيه الحدث |
device.model |
سلسلة | طراز الجهاز |
device.manufacturer |
سلسلة |
الشركة المصنّعة للجهاز بالنسبة إلى تطبيقات منصة Apple، سيكون هذا المعرّف هو
NULL.
|
operating_system |
سجلّ | توضّح هذه السمة نظام التشغيل على الجهاز |
operating_system.display_version |
سلسلة |
تعرِض هذه السمة إصدار نظام التشغيل (مثلاً،
10.2.1)
|
operating_system.name |
سلسلة | اسم نظام التشغيل |
operating_system.type |
سلسلة |
نوع نظام التشغيل (على سبيل المثال، IOS).
يتم ضبط هذا الحقل لأجهزة Apple فقط.
|
operating_system.device_type |
سلسلة |
نوع الجهاز (على سبيل المثال، MOBILE أو TABLET أو TV)
|