تحديد المشاكل وحلّها في Crashlytics والأسئلة الشائعة بشأنها
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
تقدّم هذه الصفحة مساعدة في تحديد المشاكل وحلّها وإجابات عن
الأسئلة الشائعة حول استخدام Crashlytics. إذا
لم تتمكّن من العثور على ما تبحث عنه أو كنت بحاجة إلى مساعدة إضافية، يُرجى التواصل مع
فريق دعم Firebase.
الأسئلة الشائعة/الإجراءات العامة لتحديد المشاكل وحلّها
الاطّلاع على تنسيقات مختلفة
(وأحيانًا "صيغ" لبعض المشاكل في جدول المشاكل)
قد تلاحظ تنسيقين مختلفين للمشاكل مدرجَين في جدول المشاكل
في وحدة التحكّم Firebase. وقد تلاحظ أيضًا ميزة تُسمى
"الصيغ" ضمن بعض مشاكلك. إليك السبب.
في أوائل عام 2023، طرحنا محرّك تحليل محسّن لتجميع الأحداث، بالإضافة إلى تصميم محدَّث وبعض الميزات المتقدّمة لحلّ المشاكل الجديدة (مثل الخيارات المختلفة). يمكنك مراجعة مشاركة المدونة الحديثة لمعرفة جميع التفاصيل، ولكن يمكنك قراءة النقاط الأساسية أدناه.
يحلِّل Crashlytics جميع الأحداث من تطبيقك (مثل الأعطال والأعطال غير المميتة
وأخطاء ANR) وينشئ مجموعات من الأحداث تُسمى المشاكل، وجميع الأحداث في مشكلة لها نقطة فشل مشتركة.
لتجميع الأحداث في هذه المشاكل، يفحص محرّك التحليل المحسَّن الآن
العديد من جوانب الحدث، بما في ذلك اللقطات في تتبع تسلسل استدعاء الدوال البرمجية،
ورسالة الاستثناء، ورمز الخطأ، وغيرها من سمات نوع الخطأ أو المنصة.
ومع ذلك، ضمن هذه المجموعة من الأحداث، قد تختلف عمليات تتبُّع تسلسل استدعاء الدوال البرمجية التي تؤدّي إلى حدوث الخطأ. قد يشير تتبُّع تسلسل استدعاء الدوال البرمجية المختلف إلى سبب أساسي مختلف.
لتمثيل هذا الاختلاف المحتمل ضمن مشكلة، ننشئ الآن صيغًا مختلفة ضمن المشاكل، فكل صيغة هي مجموعة فرعية من الأحداث ضمن مشكلة لها نقطة العطل نفسها وتتبُّع تسلسل استدعاء الدوال البرمجية نفسه. باستخدام الصيغ،
يمكنك تصحيح أخطاء أكثر عمليات تتبُّع تسلسل استدعاء الدوال البرمجية شيوعًا ضمن مشكلة معيّنة وتحديد ما إذا كانت هناك أسباب أساسية مختلفة تؤدي إلى حدوث الخطأ.
في ما يلي الميزات التي ستستفيد منها من خلال هذه التحسينات:
البيانات الوصفية التي تمّ تجديدها والمعروضة ضمن صفّ المشكلة أصبح من الأسهل الآن فهم المشاكل في تطبيقك وتحديد أولوياتها.
عدد أقل من المشاكل المكرّرة لا يؤدي تغيير رقم السطر إلى ظهور مشكلة جديدة.
تصحيح الأخطاء في المشاكل المعقدة التي لها أسباب أساسية مختلفة بسهولة أكبر يمكنك استخدام الصيغ لتصحيح أخطاء عمليات تتبُّع تسلسل استدعاء الدوال البرمجية الأكثر شيوعًا ضمن مشكلة معيّنة.
تنبيهات وإشارات أكثر وضوحًا تشير المشكلة الجديدة إلى خطأ جديد.
بحث أكثر فعالية تحتوي كل مشكلة على المزيد من البيانات الوصفية القابلة للبحث،
مثل نوع الاستثناء واسم الحزمة.
في ما يلي كيفية طرح هذه التحسينات:
عندما نتلقى أحداثًا جديدة من تطبيقك، سنتحقق مما إذا كانت تتطابق مع مشكلة
حالية أم لا.
في حال عدم توفّر مطابقة، سنطبّق تلقائيًا خوارزمية تجميع الأحداث
الذكية على الحدث وننشئ مشكلة جديدة باستخدام تصميم
البيانات الوصفية المُعدَّل.
هذا هو التعديل الكبير الأول الذي نجريه على تجميع الأحداث. إذا كان لديك
ملاحظات أو واجهت أي مشاكل، يُرجى إعلامنا بها من خلال
إرسال بلاغ.
عدم ظهور مقاييس خالية من الأعطال و/أو تنبيهات السرعة
إذا لم تظهر لك المقاييس الخالية من الأعطال (مثل المستخدِمين والجلسات الخالية من الأعطال)
و/أو تنبيهات السرعة، تأكَّد من استخدام
عدم ظهور سجلّات شريط التنقل
إذا لم تظهر لك
سجلّات مسار التنقّل،
ننصحك بالتحقّق من إعدادات تطبيقك بشأن Google Analytics.
يجب استيفاء المتطلبات التالية:
لقد
إلى تطبيقك. يجب إضافة حزمة تطوير البرامج هذه بالإضافة إلى حزمة تطوير البرامج Crashlytics.
أنت تستخدم
لجميع المنتجات التي يتم استخدامها في تطبيقك
من يمكنه عرض الملاحظات وكتابتها وحذفها حول مشكلة ما؟
تتيح الملاحظات لأعضاء المشروع التعليق على مشاكل معيّنة من خلال طرح أسئلة أو إرسال رسائل بشأن الحالة
أو غيرها.
عندما ينشر أحد أعضاء المشروع ملاحظة، يتم تصنيفها باستخدام عنوان البريد الإلكتروني لحسابه على Google. يظهر عنوان البريد الإلكتروني هذا، بالإضافة إلى المذكرة، لجميع
أعضاء المشروع الذين لديهم إذن بالاطّلاع على المذكرة.
يوضِّح ما يلي الأذونات المطلوبة لعرض
الملاحظات وكتابتها وحذفها:
يمكن لأعضاء المشروع الذين لديهم أي من الأدوار التالية الاطّلاع على الملاحظات
الحالية وحذفها وكتابة ملاحظات جديدة حول مشكلة.
مَن يمكنه عرض الملاحظات حول مشكلة معيّنة وكتابتها وحذفها؟
تتيح الملاحظات لأعضاء المشروع التعليق على مشاكل معيّنة من خلال طرح أسئلة أو إرسال رسائل بشأن الحالة
أو غيرها.
عندما ينشر أحد أعضاء المشروع ملاحظة، يتم تصنيفها باستخدام عنوان البريد الإلكتروني لحسابه على Google. يظهر عنوان البريد الإلكتروني هذا، بالإضافة إلى المذكرة، لجميع
أعضاء المشروع الذين لديهم إذن بالاطّلاع على المذكرة.
يوضِّح ما يلي الأذونات المطلوبة لعرض
الملاحظات وكتابتها وحذفها:
يمكن لأعضاء المشروع الذين لديهم أي من الأدوار التالية الاطّلاع على الملاحظات
الحالية وحذفها وكتابة ملاحظات جديدة حول مشكلة.
يستخدم التطبيق أيضًا حزمة SDK الخاصة بمنصّة
Google Mobile Ads، ولكنّه لا يتضمّن أي أعطال.
إذا كان مشروعك يستخدم Crashlytics إلى جانب حزمة SDK Google Mobile Ads،
من المحتمل أن يتداخل أدوات تسجيل الأعطال عند
تسجيل معالجات الاستثناءات. لحلّ المشكلة، أوقِف ميزة الإبلاغ عن الأعطال في
حزمة SDK الخاصة بمنصّة Mobile Ads من خلال الاتصال برقم disableSDKCrashReporting.
أين تقع مجموعة بياناتي على BigQuery؟
بعد ربط Crashlytics بخدمة BigQuery، يتم تحديد موقع مجموعات البيانات الجديدة التي تنشئها
تلقائيًا في الولايات المتحدة، بغض النظر عن موقع
مشروعك على Firebase.
دعم المنصة
المشاكل التي تمّ حلّها
ما هي المشكلة التي تؤدي إلى تراجع المحتوى؟
تراجعت المشكلة عندما كنت قد أنهيت المشكلة في السابق، ولكن
تلقّى "Crashlytics" تقريرًا جديدًا بأنّ المشكلة قد حدثت مرة أخرى.
يعيد تطبيق "Crashlytics" تلقائيًا فتح هذه المشاكل التي تراجعت عن رواجها كي تتمكّن من معالجتها بالشكل المناسب لتطبيقك.
في ما يلي مثال على سيناريو يوضّح كيف يصنف Crashlytics
مشكلة على أنّها انحدار:
للمرة الأولى على الإطلاق، يتلقّى "Crashlytics" تقريرًا عن عطل "أ". يفتح Crashlytics مشكلة مقابلة لهذا العُطل (المشكلة "أ").
يمكنك إصلاح هذا الخطأ سريعًا وإغلاق المشكلة "أ"، ثم طرح إصدار جديد من تطبيقك.
تلقّى "Crashlytics" تقريرًا آخر بشأن المشكلة "أ" بعد إغلاق
المشكلة.
إذا كان التقرير صادرًا عن إصدار تطبيق علمه "Crashlytics"
عند إغلاق المشكلة (ما يعني أنّ الإصدار قد أرسل
تقرير أعطال بسبب أي عُطل على الإطلاق)، لن يعتبر "Crashlytics" المشكلة
على أنّها تراجعت. ستظلّ المشكلة مغلقة.
إذا كان التقرير واردًا من إصدار تطبيق لم يكن Crashlyticsعلى عِلم به عند إغلاق المشكلة (أي أنّ الإصدار
لم يرسلأي تقرير عن أي عطل على الإطلاق)، سيعدّ Crashlytics أنّ المشكلة قد عادت للظهور وسيعيد فتح
التقرير.
عندما تعود المشكلة إلى الظهور، نرسل تنبيهًا برصد الانحدار ونضيف إشارة انحدار إلى المشكلة لإعلامك بأنّ Crashlytics قد
أعاد فتح المشكلة. إذا كنت لا تريد إعادة فتح المشكلة بسبب
خوارزمية الانحدار، يمكنك "كتم" المشكلة بدلاً من إغلاقها.
لماذا تظهر لي مشاكل تتعلّق بالأداء المنخفض
في الإصدارات القديمة من التطبيق؟
إذا كان التقرير واردًا من إصدار قديم من التطبيق لم يرسل أي تقارير أعطال على الإطلاق عند إغلاق المشكلة، سيعتبر فريق Crashlytics أنّ المشكلة قد عادت للظهور مجددًا وسيعيد فتحها.
يمكن أن يحدث ذلك في الحالة التالية: إذا كنت قد أصلحت خطأً وطرحت إصدارًا جديدًا من تطبيقك، ولكن لا يزال لديك مستخدمون يستخدمون إصدارات قديمة بدون إصلاح الخطأ. إذا حدث أنّ أحد هذه الإصدارات القديمة لم يرسل أبدًا
أي تقارير أعطال عند إغلاق المشكلة، وبدأ هؤلاء المستخدمون
بمواجهة الخطأ، ستؤدي تقارير الأعطال هذه إلى إعادة ظهور المشكلة.
إذا كنت لا تريد إعادة فتح المشكلة بسبب خوارزمية الانحدار، يمكنك "كتم صوت" المشكلة بدلاً من إغلاقها.
تاريخ التعديل الأخير: 2024-11-18 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","easyToUnderstand","thumb-up"],["ساعَدني المحتوى في حلّ مشكلتي.","solvedMyProblem","thumb-up"],["غير ذلك","otherUp","thumb-up"]],[["لا يحتوي على المعلومات التي أحتاج إليها.","missingTheInformationINeed","thumb-down"],["الخطوات معقدة للغاية / كثيرة جدًا.","tooComplicatedTooManySteps","thumb-down"],["المحتوى قديم.","outOfDate","thumb-down"],["ثمة مشكلة في الترجمة.","translationIssue","thumb-down"],["مشكلة في العيّنات / التعليمات البرمجية","samplesCodeIssue","thumb-down"],["غير ذلك","otherDown","thumb-down"]],["تاريخ التعديل الأخير: 2024-11-18 (حسب التوقيت العالمي المتفَّق عليه)"],[],[]]