تقدّم هذه الصفحة مخطط مجموعة البيانات الخاصة ببيانات Crashlytics التي تم تصديرها وبيانات جلسات Firebase في BigQuery.
تنشئ Firebase مجموعات بيانات جديدة في BigQuery لبياناتك التي تم تصديرها:
مجموعة بيانات Crashlytics
مجموعة بيانات الجلسات في Firebase (في حال تفعيل تصدير بيانات الجلسات)
مجموعة بيانات Crashlytics
يتم تصدير بيانات Crashlytics إلى مجموعة بيانات BigQuery باسم firebase_crashlytics. تغطّي مجموعة البيانات مشروعك بالكامل، حتى إذا كان يتضمّن تطبيقات متعددة.
الجداول
تنشئ Firebase تلقائيًا جداول فردية داخل مجموعة البيانات لكل تطبيق في مشروعك مرتبط بـ BigQuery.Crashlytics
تتم تسمية الجداول استنادًا إلى معرّف التطبيق (مع تحويل النقاط إلى شرطات سفلية) وإضافة نظام التشغيل الخاص بالتطبيق (_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 |
الطابع الزمني | الطابع الزمني المرتبط بمسار التنقل |
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 |
الطابع الزمني | وقت وقوع الحدث |
exceptions |
سجلّ متكرّر | (على أجهزة Android فقط) الاستثناءات التي حدثت أثناء هذا الحدث يتم عرض الاستثناءات المتداخلة بترتيب زمني عكسي، ما يعني أنّ السجلّ الأخير هو الاستثناء الأول الذي تم طرحه. |
exceptions.blamed |
قيمة منطقية | صحيح إذا حدّد Crashlytics أنّ الاستثناء مسؤول عن الخطأ أو التعطُّل |
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 |
الطابع الزمني | وقت إنشاء السجل |
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 |
الطابع الزمني | وقت وقوع الحدث |
received_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)
|