برای هر یک از برنامههای شما، Crashlytics به طور خودکار معیارهای بدون خرابی، به ویژه درصد کاربران بدون خرابی و درصد جلسات بدون خرابی را محاسبه و نمایش میدهد. این معیارها میتوانند به شما کمک کنند تا به سرعت پایداری برنامه خود را درک کنید.
میتوانید نمودارهای این معیارهای بدون خرابی را در بالای داشبورد Crashlytics پیدا کنید و میتوانید این نمودارها را بر اساس ابعاد مختلفی مانند محدوده زمانی، ساخت و (برای برنامههای اندروید) بر اساس آهنگ Google Play فیلتر کنید.
توجه داشته باشید که معیارهای بدون خرابی فقط برای رویدادهای مهلک (و استثنائات ناشناخته که به عنوان رویدادهای مهلک برای Unity و Flutter گزارش شدهاند) محاسبه میشوند.
معیارهای بدون خرابی را دریافت کنید
برای اکثر برنامهها، معیارهای بدون خرابی (Crash-free metrics) هنگام ادغام Crashlytics SDK در برنامه شما به طور خودکار محاسبه میشوند. با این حال، موقعیتهای خاصی وجود دارد که Crashlytics دادههای لازم را برای محاسبه معیارهای بدون خرابی دریافت نمیکند:
نسخههای قدیمی برنامه شما که از نسخه قدیمی Crashlytics SDK استفاده میکنند (در زیر با حداقل نسخههای پشتیبانیشده آشنا شوید)
نسخههایی از برنامه شما که جمعآوری و گزارشدهی خودکار دادههای Crashlytics را غیرفعال میکنند (برای اطلاعات بیشتر به بخش «تأثیر تنظیمات جمعآوری دادهها بر کیفیت معیارها» در این صفحه مراجعه کنید)
نسخههای SDK که از معیارهای بدون خرابی پشتیبانی میکنند
برای دریافت معیارهای بدون خرابی، باید برنامه خود را بهروزرسانی کنید تا از نسخه Crashlytics SDK که از آنها پشتیبانی میکند، استفاده کند. در زیر حداقل نسخههای پشتیبانیشده از Crashlytics SDK که میتوانند معیارهای بدون خرابی را پشتیبانی کنند، آمده است:
- پلتفرمهای اپل: نسخه ۱۰.۸.۰+
- اندروید: نسخه ۱۸.۶.۰+ ( BoM نسخه ۳۲.۶.۰+)
- فلاتر: نسخه ۳.۴.۵+
- یونیتی: ۱۱.۷.۰+
شما باید به طور خودکار معیارهای بدون خرابی را برای نسخههای ساخته شده برنامه خود که از نسخه SDK بهروز شده استفاده میکنند، دریافت کنید.
معیارهای بدون خرابی چیست؟
معیارهای بدون خرابی شامل کاربران بدون خرابی و جلسات بدون خرابی میشود.
معیارهای بدون خرابی به دو مفهوم بستگی دارند: کاربران و جلسات. برای دریافت معیارهای بدون خرابی برای برنامه خود، باید از نسخه Crashlytics SDK استفاده کنید که بتواند دادههای مربوط به هر دوی این مفاهیم را ارسال کند. در اینجا نحوه تمایز Crashlytics بین کاربر و جلسه آورده شده است:
کاربر، نصب انفرادی برنامه شما روی یک دستگاه است. برای مثال، اگر شخصی برنامه شما را روی چندین دستگاه مختلف نصب کرده باشد، Crashlytics هر نصب را به عنوان یک کاربر متفاوت و منحصر به فرد در نظر میگیرد.
یک جلسه (session) یک دوره زمانی مداوم است که کاربر با یک برنامه درگیر است. یک جلسه جدید زمانی شروع میشود که برنامه به صورت سرد (cold-started) شروع به کار کند یا برنامه پس از حداقل 30 دقیقه فعالیت در پسزمینه، در حالت آماده به کار (forgrounded) قرار گیرد.
همچنین، معیارهای بدون خرابی فقط برای رویدادهای مهلک (و استثنائات گزارش نشده به عنوان رویدادهای مهلک برای Unity و Flutter) محاسبه میشوند.
معیار کاربران بدون خرابی چیست؟
معیار کاربران بدون خرابی، درصد کاربرانی است که در یک دوره زمانی مشخص با برنامه شما تعامل داشتهاند اما دچار خرابی نشدهاند. این معیار، تجربهای را که برنامه شما به یک کاربر ارائه میدهد، منعکس میکند. این معیار اغلب به عنوان معیار کلیدی سلامت کل برنامه، زمانی که هدف، تجربه کلی کاربر است، مورد بررسی قرار میگیرد.
این معیار میتواند بهطور خاص برای انواع برنامههای زیر قابل استفاده باشد:
برنامههایی با جلسات طولانی و غیررسمی مانند برنامههای پخش آنلاین درخواستی، برنامههای رسانههای اجتماعی یا بازیهای غیررسمی که کاربر میتواند از جایی که متوقف شده است، ادامه دهد. از آنجا که کاربران معمولاً در این برنامهها در تجربیات طولانیتر و اغلب چند جلسهای درگیر میشوند، به حداکثر رساندن تعداد کل کاربران بدون خرابی بر اطمینان از بینقص بودن هر جلسه جداگانه اولویت دارد.
برنامههایی با پایگاههای کاربری تثبیتشده مانند برنامههای کاری جاافتاده یا پلتفرمهای آنلاین در مقیاس بزرگ، که در آنها عادت و نیاز به این پلتفرمها بر ناراحتی ناشی از خرابی غلبه میکند.
معیار جلسات بدون خرابی چیست؟
معیار جلسات بدون خرابی، درصد جلساتی است که در یک دوره زمانی انتخاب شده اتفاق افتاده و به خرابی ختم نشده است. جلسات بدون خرابی، نشاندهنده قابلیت اطمینان کلی یک برنامه است و اعتماد کاربر را افزایش میدهد. ردیابی جلسات بدون خرابی به ویژه در مراحل اولیه انتشار یک نسخه جدید مهم است، زمانی که خرابی در اولین تعامل کاربر میتواند منجر به ناامیدی فوری تا حد رها کردن شود.
این معیار اغلب معیار ترجیحی برای انواع برنامههای زیر است:
برنامههایی با الگوهای استفاده کوتاه و شدید مانند بازیهای بلادرنگ یا برنامههای پخش جریانی حساس به زمان، که در آنها خرابی در میانه یک لحظه بحرانی میتواند کاربر را به شدت آسیب برساند.
برنامههایی با پیامدهای قابل توجه مانند برنامههای مالی یا برنامههای ناوبری، که در آنها تأکید بر وضعیت نهایی تجربه است. خرابی یکی از این برنامهها میتواند منجر به مشکلات قابل توجهی شود و در نتیجه اعتماد به برنامه را از بین ببرد.
محاسبه معیارهای بدون تصادف
کاربران بدون خرابی چگونه محاسبه میشوند؟
مقدار کاربران بدون خرابی، درصد کاربرانی را نشان میدهد که با برنامه شما تعامل داشتهاند اما در یک دوره زمانی انتخاب شده، خرابی نداشتهاند .
فرمول محاسبه درصد کاربران بدون خرابی به این صورت است. مقادیر ورودی آن توسط Crashlytics SDK ارائه شده است و بر اساس دوره زمانی است که شما از منوی کشویی در سمت راست بالای داشبورد Crashlytics انتخاب کردهاید.
CRASH_FREE_USERS_PERCENTAGE = 1 - ( CRASHED_USERS / ALL_USERS )
CRASHED_USERS تعداد کل کاربران منحصر به فردی را نشان میدهد که در بازه زمانی انتخاب شده دچار خرابی شدهاند.
ALL_USERS تعداد کل کاربرانی را نشان میدهد که در بازه زمانی انتخاب شده با برنامه شما تعامل داشتهاند.
درصد کاربران بدون خرابی، حاصل جمع کل زمان است، نه میانگین.
برای مثال، تصور کنید برنامه شما سه کاربر دارد که ما آنها را کاربر A، کاربر B و کاربر C مینامیم. جدول زیر نشان میدهد که کدام کاربران هر روز با برنامه شما تعامل داشتهاند و کدام یک از این کاربران در آن روز دچار مشکل شدهاند:
| دوشنبه | سهشنبه | چهارشنبه | |
|---|---|---|---|
| کاربرانی که با اپلیکیشن شما تعامل داشتهاند | الف، ب، ج | الف، ب، ج | الف، ب |
| کاربری که دچار خرابی شده است | سی | ب | الف |
روز چهارشنبه، درصد کاربران بدون خرابی شما ۵۰٪ است (از هر ۲ کاربر، ۱ نفر بدون خرابی بوده است).
دو نفر از کاربران شما روز چهارشنبه با برنامه شما تعامل داشتند، اما فقط یکی از آنها (کاربر B) هیچ مشکلی نداشت.در دو روز گذشته، درصد کاربران بدون خرابی شما ۳۳.۳٪ است (از هر ۳ کاربر، ۱ نفر بدون خرابی بوده است).
سه نفر از کاربران شما در دو روز گذشته با برنامه شما تعامل داشتهاند، اما فقط یکی از آنها (کاربر C) هیچ مشکلی نداشته است.در ۳ روز گذشته، درصد کاربران بدون خرابی شما ۰٪ است (۰ از ۳ کاربر بدون خرابی بودهاند).
سه نفر از کاربران شما در سه روز گذشته با اپلیکیشن شما تعامل داشتهاند، اما هیچکدام از آنها دچار خرابی (کرش) نشدهاند.
ارزش کاربران بدون خرابی نباید در دورههای زمانی مختلف مقایسه شود. احتمال اینکه یک کاربر واحد با خرابی مواجه شود، با افزایش دفعات استفاده از برنامه شما افزایش مییابد، بنابراین ارزش کاربران بدون خرابی احتمالاً برای دورههای زمانی طولانیتر کمتر خواهد بود.
دورههای بدون خرابی چگونه محاسبه میشوند؟
مقدار جلسات بدون خرابی، درصد جلساتی را نشان میدهد که در یک دوره زمانی انتخاب شده در برنامه شما اتفاق افتاده اما خرابی نداشتهاند .
فرمول محاسبه درصد جلسات بدون خرابی به شرح زیر است. مقادیر ورودی آن توسط Crashlytics SDK ارائه شده است و بر اساس دوره زمانی است که شما از منوی کشویی در سمت راست بالای داشبورد Crashlytics انتخاب کردهاید.
CRASH_FREE_SESSIONS_PERCENTAGE = 1 - ( CRASHED_SESSIONS / ALL_SESSIONS )
CRASHED_SESSIONS تعداد جلساتی را نشان میدهد که در دوره زمانی انتخاب شده به خرابی منجر شدهاند.
ALL_SESSIONS تعداد کل جلساتی را نشان میدهد که در دوره زمانی انتخاب شده در برنامه شما رخ داده است.
درصد جلسات بدون خرابی، یک میانگین نیست، بلکه یک مجموع در طول زمان است.
تأثیر تنظیمات جمعآوری دادهها بر کیفیت معیارها
بسته به تنظیمات جمعآوری دادههای شما، معیارهای بدون خرابی شما ممکن است مقادیر کم یا صفر را نشان دهند. در اینجا دو سناریوی رایج وجود دارد که میتوانند باعث ایجاد معیارهای بدون خرابی غیرقابل اعتماد شوند:
اگر با غیرفعال کردن گزارش خودکار خرابی، گزارشدهی اختیاری را فعال کنید ، اطلاعات خرابی فقط از کاربرانی که صریحاً در جمعآوری دادهها مشارکت داشتهاند، میتواند به Crashlytics ارسال شود. بنابراین، دقت معیارهای بدون خرابی تحت تأثیر قرار خواهد گرفت زیرا Crashlytics فقط اطلاعات خرابی این کاربران انتخابی (و نه همه کاربران شما) را دارد. این بدان معناست که معیارهای بدون خرابی شما ممکن است کمتر قابل اعتماد باشند و کمتر نشاندهنده پایداری کلی برنامه شما باشند.
اگر جمعآوری خودکار دادهها را غیرفعال کردهاید، میتوانید از
sendUnsentReportsبرای ارسال گزارشهای ذخیرهشده روی دستگاه به Crashlytics استفاده کنید. استفاده از این روش، دادههای خرابی را به Crashlytics ارسال میکند، اما دادههای جلسات را نه، که باعث میشود نمودارهای کنسول مقادیر کم یا صفر را برای معیارهای بدون خرابی نشان دهند.