لكل تطبيق من تطبيقاتك، تعمل أداة Crashlytics على احتساب ومقدّمة تلقائيًا المقاييس الخالية من الأعطال، وتحديدًا النسبة المئوية للمستخدمين الذين لم يواجهوا أي أعطال ومقدّمةالجلسات الخالية من الأعطال. يمكن أن تساعدك هذه المقاييس في معرفة ثبات تطبيقك بسرعة.
يمكنك العثور على الرسوم البيانية لهذه المقاييس الخالية من الأعطال في أعلى لوحة بيانات Crashlytics، ويمكنك فلترة هذه الرسوم البيانية استنادًا إلى مجموعة متنوعة من السمات، مثل النطاق الزمني والإصدار (بالنسبة إلى تطبيقات Android) وGoogle Play قناة الإصدار.
يُرجى العلم أنّه لا يتم احتساب المقاييس الخالية من الأعطال إلا للأحداث الفادحة (والاستثناءات غير المكتشفة التي يتم الإبلاغ عنها كأحداث فادحة في Unity وFlutter).
الحصول على مقاييس خالية من الأعطال
في معظم التطبيقات، يتم احتساب المقاييس الخالية من الأعطال تلقائيًا عند دمج حزمة تطوير البرامج (SDK) لنظام التشغيل Crashlytics في تطبيقك. ومع ذلك، هناك حالات معيّنة لا تتلقّى فيها أداة Crashlytics البيانات اللازمة لاحتساب المقاييس الخالية من الأعطال:
إصدارات تطبيقك التي تستخدم إصدارًا قديمًا من حزمة SDK لنظام التشغيل Crashlytics (تعرَّف على الحد الأدنى للإصدارات المتوافقة أدناه)
إصدارات تطبيقك التي تُوقِف جمع بيانات Crashlytics و reporting تلقائيًا (اطّلِع على مزيد من المعلومات في القسم "تأثير إعدادات جمع البيانات في جودة المقاييس" في هذه الصفحة)
إصدارات حزمة تطوير البرامج (SDK) المتوافقة مع المقاييس الخالية من الأعطال
للحصول على مقاييس خالية من الأعطال، يجب تحديث تطبيقك لاستخدام إصدار حزمة تطوير البرامج (SDK)Crashlytics المتوافق معها. في ما يلي الحد الأدنى للإصدارات المتوافقة من حزمة 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 من المستخدمين الذين وافقوا صراحةً على جمع data. وبالتالي، ستتأثّر دقة المقاييس الخالية من الأعطال لأنّه ليس لدى Crashlytics سوى معلومات الأعطال من هؤلاء المستخدمين الذين وافقوا على المشاركة (بدلاً من جميع المستخدمين). وهذا يعني أنّ مقاييس عدم حدوث الأعطال قد تكون أقل اعتمادية وأقل تعبيرًا عن الثبات العام لتطبيقك.
إذا كانت ميزة جمع البيانات التلقائي غير مفعّلة، يمكنك استخدام
sendUnsentReports
لإرسال التقارير المخزّنة مؤقتًا على الجهاز إلى Crashlytics. سيؤدي استخدام هذه الطريقة إلى إرسال بيانات الأعطال إلى Crashlytics، ولكن ليس data الجلسات التي تؤدي إلى عرض قيم منخفضة أو صفرية للمقاييس الخالية من الأعطال في وحدة التحكّم.