فهم المقاييس الخالية من الأعطال

بالنسبة إلى كل تطبيق من تطبيقاتك، تحسب Crashlytics تلقائيًا وتعرض مقاييس خلو التطبيق من الأعطال، وتحديدًا النسبة المئوية للمستخدمين الذين لم يواجهوا أي أعطال والنسبة المئوية للجلسات الخالية من الأعطال. يمكن أن تساعدك هذه المقاييس في فهم مدى ثبات تطبيقك بسرعة.

يمكنك العثور على رسومات بيانية لهذه المقاييس الخالية من الأعطال في أعلى لوحة بيانات Crashlytics، ويمكنك فلترة هذه الرسومات البيانية حسب مجموعة متنوّعة من السمات، مثل النطاق الزمني والإصدار و (بالنسبة إلى تطبيقات Android) حسب المسار Google Play.

يُرجى العِلم أنّه يتم احتساب مقاييس عدم حدوث أعطال للأحداث الخطيرة فقط (والاستثناءات التي لم يتم رصدها والتي تم الإبلاغ عنها كأخطاء خطيرة في Unity وFlutter).

الحصول على مقاييس عدم حدوث أعطال

في معظم التطبيقات، يتم احتساب مقاييس عدم حدوث أعطال تلقائيًا عند دمج حزمة تطوير البرامج (SDK) Crashlytics في تطبيقك. ومع ذلك، هناك بعض الحالات التي لا تتلقّى فيها Crashlytics البيانات اللازمة لاحتساب مقاييس عدم حدوث أعطال، وهي:

  • إصدارات تطبيقك التي تستخدم إصدارًا قديمًا من حزمة تطوير البرامج (SDK) الخاصة بـ "Crashlytics" (يمكنك الاطّلاع على الحد الأدنى من الإصدارات المتوافقة أدناه)

  • إصدارات تطبيقك التي توقِف عملية Crashlytics جمع البيانات وإعداد التقارير تلقائيًا (يمكنك الاطّلاع على مزيد من المعلومات في قسم "تأثير إعدادات جمع البيانات في جودة المقاييس" من هذه الصفحة)

إصدارات حزمة تطوير البرامج (SDK) التي تتوافق مع مقاييس عدم حدوث أعطال

للحصول على مقاييس خالية من الأعطال، يجب تحديث تطبيقك لاستخدام إصدار Crashlytics من حزمة تطوير البرامج (SDK) يتوافق مع هذه المقاييس. في ما يلي الحد الأدنى للإصدارات المتوافقة من حزمة تطوير البرامج (SDK) Crashlytics التي يمكنها توفير مقاييس خالية من الأعطال:

  • منصات Apple: الإصدار 10.8.0 والإصدارات الأحدث
  • ‫Android: الإصدار 18.6.0 أو إصدار أحدث (BoM الإصدار 32.6.0 أو إصدار أحدث)
  • ‫Flutter: الإصدار 3.4.5 أو إصدار أحدث
  • ‫Unity: الإصدار 11.7.0 أو إصدار أحدث

ستتلقّى تلقائيًا مقاييس خالية من الأعطال لإصدارات تطبيقك التي تستخدم إصدارًا محدَّثًا من حزمة تطوير البرامج (SDK).

ما هي مقاييس عدم حدوث أعطال؟

تتضمّن مقاييس عدم حدوث أعطال المستخدمين الذين لم يواجهوا أي أعطال والجلسات التي لم تشهد أي أعطال.

تعتمد مقاييس "عدم حدوث أعطال" على مفهومَين: المستخدمون والجلسات. للحصول على مقاييس خالية من الأعطال لتطبيقك، عليك استخدام إصدار Crashlytics من حزمة تطوير البرامج (SDK) يمكنه إرسال بيانات حول كلا المفهومين. في ما يلي كيفية تمييز Crashlytics المستخدِم عن الجلسة:

  • المستخدم هو عملية تثبيت فردية لتطبيقك على أحد الأجهزة. على سبيل المثال، إذا كان أحد المستخدمين قد ثبّت تطبيقك على عدة أجهزة مختلفة، سيحتسب مقياس Crashlytics كل عملية تثبيت كمستخدم مختلف وفريد.

  • الجلسة هي فترة زمنية متواصلة يتفاعل خلالها المستخدم مع أحد التطبيقات. تبدأ جلسة جديدة عند بدء تشغيل التطبيق من البداية أو عند تشغيل التطبيق في المقدّمة بعد 30 دقيقة على الأقل من تشغيله في الخلفية.

بالإضافة إلى ذلك، يتم احتساب مقاييس عدم حدوث أعطال لأحداث الأعطال فقط (والاستثناءات التي لم يتم رصدها والتي تم الإبلاغ عنها كأعطال في Unity وFlutter).

ما هو مقياس المستخدمين الذين لم يواجههم أي تعطُّل؟

مقياس المستخدمين الذين لم يواجهوا أي أعطال هو النسبة المئوية للمستخدمين الذين تفاعلوا مع تطبيقك خلال فترة زمنية محدّدة ولكن لم يواجهوا أي أعطال. يعكس هذا المقياس التجربة التي يقدّمها تطبيقك لمستخدم واحد. ويتم تتبُّعه بشكل متكرّر كمقياس رئيسي لحالة التطبيق بالكامل، وذلك عندما يكون الهدف هو تجربة المستخدم بشكل عام.

قد ينطبق هذا المقياس تحديدًا على أنواع التطبيقات التالية:

  • التطبيقات التي تتضمّن جلسات طويلة وعادية، مثل تطبيقات البث عند الطلب أو تطبيقات التواصل الاجتماعي أو الألعاب العادية، حيث يمكن للمستخدم مواصلة اللعب من حيث توقّف، لأنّ المستخدمين يتفاعلون عادةً مع هذه التطبيقات في تجارب أطول، وغالبًا ما تكون متعددة الجلسات، لذا تكون الأولوية لزيادة إجمالي عدد المستخدمين الذين لم يواجهوا أي أعطال على ضمان عدم حدوث أي أعطال في كل جلسة على حدة.

  • التطبيقات التي لديها قاعدة مستخدمين كبيرة، مثل تطبيقات العمل المعروفة أو المنصات الكبيرة على الإنترنت، حيث تفوق العادة والحاجة إلى هذه المنصات الإزعاج الناتج عن حدوث عطل

ما هو مقياس الجلسات الخالية من الأعطال؟

مقياس الجلسات الخالية من الأعطال هو النسبة المئوية للجلسات التي حدثت خلال فترة زمنية محدّدة ولم تنتهِ بعطل. تشير الجلسات التي لا تحدث فيها أعطال إلى الموثوقية العامة للتطبيق وتزيد من ثقة المستخدمين. تتسم أهمية تتبُّع الجلسات الخالية من الأعطال بأهمية خاصة في المراحل المبكرة من الإصدار الجديد، إذ قد يؤدي حدوث عُطل أثناء تفاعل المستخدم الأول مع التطبيق إلى شعوره بالإحباط الشديد لدرجة التوقف عن استخدامه.

ويُعدّ هذا المقياس غالبًا المقياس المفضّل لأنواع التطبيقات التالية:

  • التطبيقات التي تتضمّن أنماط استخدام قصيرة ومكثّفة، مثل ألعاب الوقت الفعلي أو تطبيقات البث الحساسة للوقت، والتي يمكن أن يؤدي فيها حدوث عطل في منتصف لحظة مهمة إلى إحباط المستخدم

  • التطبيقات التي تتضمّن عواقب مهمة، مثل التطبيقات المالية أو تطبيقات الملاحة، حيث يكون التركيز على الحالة النهائية للتجربة ويمكن أن يؤدي تعطّل أحد هذه التطبيقات إلى حدوث مشاكل كبيرة، ما يؤدي إلى فقدان الثقة في التطبيق.

احتساب المقاييس الخالية من الأعطال

كيف يتم احتساب المستخدمين الذين لم يواجهوا أي تعطُّل؟

تمثّل قيمة "المستخدمون الذين لم تواجههم أعطال" النسبة المئوية للمستخدمين الذين تفاعلوا مع تطبيقك ولكن لم يواجهوا أي أعطال خلال فترة زمنية محدّدة.

في ما يلي صيغة احتساب النسبة المئوية للمستخدمين الذين لم يواجهوا أي أعطال. يتم توفير قيم الإدخال من خلال حزمة تطوير البرامج (SDK) الخاصة بـ Crashlytics، وهي تستند إلى الفترة الزمنية التي اخترتها من القائمة المنسدلة في أعلى يسار لوحة بيانات Crashlytics.

CRASH_FREE_USERS_PERCENTAGE = 1 - (CRASHED_USERS / ALL_USERS)

  • يمثّل CRASHED_USERS إجمالي عدد المستخدِمين الفرديين الذين حدث عطل في أجهزتهم خلال الفترة الزمنية المحدّدة.

  • يمثّل ALL_USERS إجمالي عدد المستخدمين الذين تفاعلوا مع تطبيقك خلال الفترة الزمنية المحدّدة.

إنّ النسبة المئوية للمستخدمين الذين لم يواجهوا أي أعطال هي تجميع على مدار الوقت، وليس متوسطًا.

يجب عدم مقارنة قيمة "المستخدمون الذين لم تحدث لديهم أعطال" على مدار فترات زمنية مختلفة. يزداد احتمال مواجهة مستخدم واحد لعُطل كلما زاد عدد مرات استخدامه لتطبيقك، لذا من المرجّح أن تكون قيمة المستخدمين الذين لم يواجهوا أي أعطال أقل خلال الفترات الزمنية الأطول.

كيف يتم احتساب الجلسات الخالية من الأعطال؟

تمثّل قيمة "الجلسات الخالية من الأعطال" النسبة المئوية للجلسات التي حدثت في تطبيقك ولكنها لم تتضمّن أي أعطال خلال فترة زمنية محدّدة.

في ما يلي صيغة احتساب النسبة المئوية للجلسات الخالية من الأعطال. يتم توفير قيم الإدخال من خلال حزمة تطوير البرامج (SDK) الخاصة بـ Crashlytics، وهي تستند إلى الفترة الزمنية التي اخترتها من القائمة المنسدلة في أعلى يسار لوحة بيانات Crashlytics.

CRASH_FREE_SESSIONS_PERCENTAGE = 1 - (CRASHED_SESSIONS / ALL_SESSIONS)

  • يمثّل CRASHED_SESSIONS عدد الجلسات التي انتهت بتعطُّل خلال الفترة الزمنية المحدّدة.

  • يمثّل ALL_SESSIONS إجمالي عدد الجلسات التي حدثت في تطبيقك خلال الفترة الزمنية المحدّدة.

النسبة المئوية للجلسات الخالية من الأعطال هي تجميع على مدار الوقت، وليست متوسطًا.

تأثير إعدادات جمع البيانات في جودة المقاييس

استنادًا إلى إعدادات جمع البيانات، قد تعرض مقاييس "عدم حدوث أعطال" قيمًا منخفضة أو صفرية. في ما يلي سيناريوهان شائعان يمكن أن يؤديا إلى ظهور مقاييس غير موثوقة بشأن الجلسات الخالية من الأعطال:

  • في حال تفعيل ميزة إعداد التقارير عند الموافقة من خلال إيقاف ميزة إعداد تقارير الأعطال تلقائيًا، لن يتم إرسال معلومات الأعطال إلى Crashlytics إلا من المستخدمين الذين وافقوا صراحةً على جمع البيانات. وبالتالي، ستتأثر دقة مقاييس "الجلسات الخالية من الأعطال" لأنّ Crashlytics لا تتضمّن سوى معلومات الأعطال من هؤلاء المستخدمين الذين وافقوا على مشاركة البيانات (بدلاً من جميع المستخدمين). وهذا يعني أنّ مقاييسك المتعلقة بعدم حدوث أعطال قد تكون أقل موثوقية وأقل دلالة على الثبات العام لتطبيقك.

  • في حال إيقاف ميزة جمع البيانات التلقائي، يمكنك استخدام sendUnsentReports لإرسال التقارير المخزّنة مؤقتًا على الجهاز فقط إلى Crashlytics. سيؤدي استخدام هذه الطريقة إلى إرسال بيانات الأعطال إلى Crashlytics، ولكن ليس بيانات الجلسات، ما يؤدي إلى عرض قيم منخفضة أو صفرية في رسومات البيانية لوحدة التحكّم لمقاييس "الجلسات الخالية من الأعطال".