توفر هذه الصفحة مساعدة لاستكشاف الأخطاء وإصلاحها وإجابات على الأسئلة الشائعة حول استخدام Crashlytics. إذا لم تتمكّن من العثور على ما تبحث عنه أو كنت بحاجة إلى مساعدة إضافية، يُرجى التواصل مع فريق دعم Firebase.
الإجراءات العامّة لتحديد المشاكل وحلّها/الأسئلة الشائعة
الاطّلاع على تنسيقات مختلفة
(وأحيانًا "صيغ" لبعض المشاكل في جدول المشاكل)
قد تلاحظ تنسيقين مختلفين للمشكلات مدرجتين في جدول المشاكل ضمن وحدة تحكُّم Firebase. وقد تلاحظ أيضًا ميزة تسمى "المتغيرات"
ضمن بعض مشكلاتك. إليك السبب.
في أوائل العام 2023، طرحنا محرّك تحليل محسّن لتجميع الأحداث، بالإضافة إلى تصميم محدَّث وبعض الميزات المتقدّمة لحلّ المشاكل الجديدة (مثل الخيارات المختلفة). يمكنك مراجعة مشاركة المدونة الحديثة لمعرفة جميع التفاصيل، ولكن يمكنك قراءة النقاط الأساسية أدناه.
ويحلّل تطبيق Crashlytics جميع الأحداث في تطبيقك (مثل الأعطال والأخطاء غير الفادحة وأخطاء ANR) وينشئ مجموعات من الأحداث باسم المشاكل، حيث تتضمّن جميع الأحداث في العدد نقطة مشتركة من الفشل.
ولتجميع الأحداث حسب هذه المشاكل، يفحص محرك التحليل المحسّن الآن العديد من جوانب الفعالية، بما في ذلك الإطارات في تقرير تتبُّع تسلسل استدعاء الدوال البرمجية، ورسالة الاستثناء، ورمز الخطأ، وخصائص النظام الأساسي أو نوع الخطأ الأخرى.
ومع ذلك، داخل هذه المجموعة من الأحداث، قد تختلف عمليات تتبُّع تسلسل استدعاء الدوال البرمجية التي تؤدي إلى الفشل. وقد يؤدي اختلاف عملية تتبُّع تسلسل استدعاء الدوال البرمجية إلى سبب أساسي مختلف.
لتمثيل هذا الاختلاف المحتمل ضمن مشكلة، ننشئ الآن صيغًا مختلفة ضمن المشاكل، فكل صيغة هي مجموعة فرعية من الأحداث ضمن مشكلة لها نقطة العطل نفسها وتتبُّع تسلسل استدعاء الدوال البرمجية مشابهًا. باستخدام الصيغ، يمكنك تصحيح الأخطاء في عمليات تتبُّع تسلسُل استدعاء الدوال البرمجية الأكثر شيوعًا ضمن المشكلة وتحديد ما إذا كانت الأسباب الجذرية المختلفة تؤدي إلى الإخفاق.
في ما يلي تجربتك هذه التحسينات:
البيانات الوصفية المجدَّدة المعروضة ضمن صف المشاكل أصبح من السهل فهم المشاكل وتصنيفها في تطبيقك.
عدد أقل من المشاكل المكرّرة لا يؤدي تغيير رقم السطر إلى حدوث مشكلة جديدة.
تصحيح الأخطاء بسهولة أكبر عند معالجة المشاكل المعقّدة ذات الأسباب الجذرية المختلفة يمكنك استخدام الصيغ لتصحيح أخطاء عمليات تتبُّع تسلسل استدعاء الدوال البرمجية الأكثر شيوعًا ضمن المشكلة.
تنبيهات وإشارات أكثر فائدة تشير المشكلة الجديدة إلى خطأ جديد.
بحث أكثر فعالية تحتوي كل مشكلة على بيانات وصفية أكثر قابلية للبحث،
مثل نوع الاستثناء واسم الحزمة.
في ما يلي طريقة طرح هذه التحسينات:
عندما نحصل على أحداث جديدة من تطبيقك، سنتحقق مما إذا كانت تطابق مشكلة حالية أم لا.
وفي حال عدم العثور على نتيجة مطابِقة، سنطبّق تلقائيًا خوارزمية التجميع الأذكى
لتجميع الأحداث على الحدث وننشئ مشكلة جديدة في تصميم البيانات الوصفية
المحسّن.
هذا هو أول تحديث مهم نجريه على تجميع الفعاليات. إذا كانت لديك أي ملاحظات أو واجهت أي مشاكل، يُرجى إعلامنا بها من خلال
تقديم بلاغ
.
عدم ظهور مقاييس خالية من الأعطال و/أو تنبيهات السرعة
إذا لم تظهر لك مقاييس خالية من الأعطال (مثل المستخدمين والجلسات الخالية من الأعطال)
و/أو تنبيهات السرعة،
تأكَّد من استخدام
عدم ظهور سجلّات شريط التنقّل
إذا لم تظهر لك سجلّات شريط التنقّل، ننصحك بالتحقّق من إعدادات تطبيقك في "إحصاءات Google".
احرص على استيفاء المتطلبات التالية:
لقد
إلى تطبيقك. يجب إضافة حزمة تطوير البرامج (SDK) هذه بالإضافة إلى حزمة SDK هذه إلى تطبيقك.
أنت تستخدم
لجميع المنتجات التي يتم استخدامها في تطبيقك
من يمكنه عرض الملاحظات وكتابتها وحذفها حول مشكلة ما؟
تسمح الملاحظات لأعضاء المشروع بالتعليق على مشكلات معينة من خلال الأسئلة
وتحديثات الحالة وما إلى ذلك.
عندما ينشر أحد أعضاء المشروع ملاحظة، يتم تصنيفها بالبريد الإلكتروني لحساب
Google. عنوان البريد الإلكتروني هذا مرئي، إلى جانب الملاحظة، لجميع أعضاء المشروع الذين لديهم إمكانية الوصول لعرض الملاحظة.
في ما يلي وصف للوصول المطلوب لعرض الملاحظات وكتابتها وحذفها:
يمكن لأعضاء المشروع الذين لديهم أي من الأدوار التالية عرض الملاحظات
الحالية وحذفها وكتابة ملاحظات جديدة حول مشكلة ما.
من يمكنه عرض الملاحظات وكتابتها وحذفها حول مشكلة ما؟
تسمح الملاحظات لأعضاء المشروع بالتعليق على مشكلات معينة من خلال الأسئلة
وتحديثات الحالة وما إلى ذلك.
عندما ينشر أحد أعضاء المشروع ملاحظة، يتم تصنيفها بالبريد الإلكتروني لحساب
Google. عنوان البريد الإلكتروني هذا مرئي، إلى جانب الملاحظة، لجميع أعضاء المشروع الذين لديهم إمكانية الوصول لعرض الملاحظة.
في ما يلي وصف للوصول المطلوب لعرض الملاحظات وكتابتها وحذفها:
يمكن لأعضاء المشروع الذين لديهم أي من الأدوار التالية عرض الملاحظات
الحالية وحذفها وكتابة ملاحظات جديدة حول مشكلة ما.
يستخدم التطبيق أيضًا
حزمة "SDK لإعلانات Google على الأجهزة الجوّالة" ولكنه لا يتلقّى أعطالاً
إذا كان مشروعك يستخدم Crashlytics إلى جانب حزمة SDK لإعلانات Google على الأجهزة الجوّالة، فمن المحتمل أن يتدخل أصحاب تقارير الأعطال عند تسجيل معالِجات الاستثناء. لحل المشكلة، عليك إيقاف ميزة إعداد تقارير الأعطال في
"SDK لإعلانات الأجهزة الجوّالة" من خلال الاتصال بالرقم disableSDKCrashReporting.
أين توجد مجموعة بيانات BigQuery؟
بعد ربط Crashlytics بأداة BigQuery، يتم تلقائيًا تحديد موقع مجموعات البيانات الجديدة التي تنشئها في الولايات المتحدة، بغض النظر عن موقع مشروعك على Firebase.
دعم المنصة
المشاكل التي تم التراجع عنها
ما هي المشكلة التي تؤدي إلى تراجع أداء المحتوى؟
تراجعت المشكلة عندما أغلقت المشكلة في السابق، ولكن
تلقّى Crashlytics تقريرًا جديدًا يفيد بحدوث هذه المشكلة مرة أخرى.
ويعيد تطبيق Crashlytics تلقائيًا فتح هذه المشاكل التي تراجعت، حتى تتمكن من حلّها بالشكل المناسب لتطبيقك.
إليك مثال سيناريو يشرح كيفية تصنيف تطبيق Crashlytics لمشكلة على أنها انحدار:
تتلقّى Crashlytics لأول مرة تقرير أعطال عن الأعطال "A". يفتح Crashlytics مشكلة ذات صلة بهذا العطل (المشكلة "أ").
أنصحك بإصلاح هذا الخطأ بسرعة، وإغلاق المشكلة "أ"، ثم طرح إصدار جديد من تطبيقك.
يحصل Crashlytics على تقرير آخر عن المشكلة "أ" بعد إغلاق
المشكلة.
إذا كان التقرير من إصدار تطبيق عرفه تطبيق Crashlytics عند إغلاق المشكلة (أي أنّ الإصدار قد أرسل تقرير أعطال لأي عُطل على الإطلاق)، لن يعتبر Crashlytics المشكلة على أنّها تراجعت. ستظل المشكلة مغلقة.
إذا كان التقرير صادرًا من إصدار تطبيق لم يعلمه تطبيق Crashlytics عندما تم إغلاق المشكلة (أي أنّ الإصدار لم يرسل أيًا تقرير أعطال على الإطلاق) عندها، يعتبر Crashlytics أنّ المشكلة قد تراجعت، وسيعيد فتحها.
عندما تتراجع إحدى المشاكل، نرسل تنبيه بشأن رصد التراجع ونضيف إشارة انحدار إلى المشكلة لإعلامك بأنّ Crashlytics أعاد فتح المشكلة. إذا كنت لا تريد إعادة فتح المشكلة بسبب
خوارزمية الانحدار، يمكنك "كتم" المشكلة بدلاً من إغلاقها.
لماذا أرى مشاكل تراجعت
في الإصدارات القديمة من التطبيق؟
إذا كان التقرير من إصدار تطبيق قديم لم يسبق أن أرسل أي تقارير أعطال على الإطلاق عند غلق المشكلة، سيعتبر تطبيق Crashlytics أن المشكلة قد تراجعت ثم سيعيد فتح المشكلة.
يمكن أن يحدث هذا الموقف في الحالة التالية: عندما أصلحت خطأً وطرحت إصدارًا جديدًا من التطبيق، ولكن لا يزال لديك مستخدمون على إصدارات قديمة بدون إصلاح الخطأ. إذا كان أحد هذه الإصدارات القديمة قد لم يرسل أي تقارير أعطال على الإطلاق عند إغلاق المشكلة، وبدأ هؤلاء المستخدمون في مواجهة الخطأ، ستؤدي تقارير الأعطال هذه إلى ظهور مشكلة تراجعت الصفحة.
إذا كنت لا تريد إعادة فتح المشكلة بسبب خوارزمية الانحدار، يمكنك "تجاهل" المشكلة بدلاً من إغلاقها.