آشنایی با سنجه‌های بدون خرابی

برای هریک از برنامه‌هایتان، Crashlytics به‌طور خودکار سنجه‌های بدون خرابی را محاسبه و نمایش می‌دهد، به‌طور دقیق، درصد کاربران بدون خرابی و درصد جلسه‌های بدون خرابی. این سنجه‌ها می‌توانند به شما کمک کنند به‌سرعت ثبات برنامه‌تان را درک کنید.

نمودارهای این سنجه‌های بدون خرابی را می‌توانید در بالای داشبورد Crashlytics پیدا کنید و این نمودارها را براساس ابعاد مختلفی مثل محدوده زمانی، ساخت، و (برای برنامه‌های Android) براساس مسیر Google Play فیلتر کنید.

توجه داشته باشید که سنجه‌های بدون خرابی فقط برای رویدادهای مهلک محاسبه می‌شوند (و استثناهای گزارش‌نشده به‌عنوان مهلک برای Unity و Flutter).

دریافت سنجه‌های بدون خرابی

برای اکثر برنامه‌ها، سنجه‌های بدون خرابی به‌طور خودکار وقتی «کیت توسعه نرم‌افزار» Crashlytics را در برنامه‌تان ادغام می‌کنید محاسبه می‌شود. بااین‌حال، در شرایط خاصی Crashlytics داده‌های لازم برای محاسبه سنجه‌های بدون خرابی را دریافت نمی‌کند:

  • ساختمان‌های برنامه‌تان که از نسخه قدیمی کیت توسعه نرم‌افزار Crashlytics استفاده می‌کنند (در زیر درباره حداقل نسخه‌های پشتیبانی‌شده بیشتر بدانید)

  • ساختمان‌های برنامه‌تان که جمع‌آوری خودکار داده‌های Crashlytics و گزارش‌دهی را غیرفعال می‌کنند (در بخش «تأثیر تنظیمات جمع‌آوری داده‌ها بر کیفیت معیارها» در این صفحه بیشتر بدانید)

نسخه‌های کیت توسعه نرم‌افزار که از سنجه‌های بدون خرابی پشتیبانی می‌کنند

برای دریافت سنجه‌های بدون خرابی، باید برنامه‌تان را به‌روز کنید تا از نسخه Crashlytics کیت توسعه نرم‌افزار که از آن‌ها پشتیبانی می‌کند استفاده کند. در زیر حداقل نسخه‌های پشتیبانی‌شده کیت توسعه نرم‌افزار Crashlytics که می‌تواند معیارهای بدون خرابی را ارائه دهد آمده است:

  • پلاتفرم‌های Apple: نسخه ۱۰.۸.۰ و بالاتر
  • Android: نسخه ۱۸.۶.۰ و بالاتر (BoM نسخه ۳۲.۶.۰ و بالاتر)
  • Flutter: v3.4.5+‎
  • ‫Unity: نسخه ۱۱.۷.۰ و بالاتر

باید به‌طور خودکار سنجه‌های بدون خرابی برای ساخت‌های برنامه‌تان که از نسخه به‌روزشده کیت توسعه نرم‌افزار استفاده می‌کنند دریافت کنید.

سنجه‌های بدون خرابی چیست؟

سنجه‌های بدون خرابی شامل کاربران بدون خرابی و جلسه‌های بدون خرابی می‌شود.

سنجه‌های بدون خرابی به دو مفهوم بستگی دارد: کاربران و جلسه‌ها. برای دریافت سنجه‌های بدون خرابی برای برنامه‌تان، باید از نسخه Crashlytics کیت توسعه نرم‌افزار استفاده کنید که بتواند درباره هر دوی این مفاهیم داده ارسال کند. در اینجا نحوه تمایز Crashlytics کاربر از جلسه آمده است:

  • کاربر به نصب برنامه شما در یک دستگاه گفته می‌شود. برای مثال، اگر فردی برنامه شما را روی چندین دستگاه مختلف نصب کرده باشد، Crashlytics هر نصب را به‌عنوان کاربر متفاوت و منحصربه‌فردی محاسبه می‌کند.

  • جلسه عبارت است از دوره زمانی پیوسته‌ای که کاربر با برنامه‌ای تعامل دارد. وقتی برنامه راه‌اندازی سرد می‌شود یا برنامه پس‌از حداقل ۳۰ دقیقه در پس‌زمینه بودن به پیش‌زمینه می‌آید، جلسه جدیدی شروع می‌شود.

همچنین، سنجه‌های بدون خرابی فقط برای رویدادهای مهلک محاسبه می‌شوند (و استثناهای مدیریت‌نشده‌ای که به‌عنوان مهلک برای Unity و Flutter گزارش می‌شوند).

سنجه کاربران بدون خرابی چیست؟

سنجه کاربران بدون خرابی عبارت است از درصد کاربرانی که در دوره زمانی انتخابی با برنامه شما تعامل داشته‌اند اما خرابی نداشته‌اند. این سنجه تجربه‌ای را که برنامه‌تان به یک کاربر ارائه می‌دهد منعکس می‌کند. وقتی هدف تجربه کاربری کلی باشد، این سنجه اغلب به‌عنوان سنجه سلامت کلیدی برای کل برنامه ردیابی می‌شود.

این سنجه ممکن است به‌طور خاص برای انواع برنامه‌های زیر کاربرد داشته باشد:

  • برنامه‌هایی با جلسه‌های طولانی و غیررسمی مانند برنامه‌های جاری‌سازی براساس تقاضا، برنامه‌های رسانه‌های اجتماعی، یا بازی‌های غیررسمی، که در آن‌ها کاربر می‌تواند از جایی که متوقف کرده است ادامه دهد. ازآنجایی‌که کاربران معمولاً در تجربه‌های طولانی‌تر و اغلب چند جلسه‌ای با این برنامه‌ها تعامل دارند، به حداکثر رساندن تعداد کل کاربران بدون خرابی بر تضمین بی‌نقص بودن هر جلسه فردی اولویت دارد.

  • برنامه‌هایی با پایگاه‌های کاربری تثبیت‌شده مانند برنامه‌های کاری تثبیت‌شده یا پلاتفرم‌های آنلاین در مقیاس بزرگ، که عادت و نیاز به این پلاتفرم‌ها بر ناراحتی خرابی غلبه می‌کند.

سنجه جلسه‌های بدون خرابی چیست؟

سنجه جلسه‌های بدون خرابی عبارت است از درصد جلسه‌هایی که درطول دوره زمانی انتخاب‌شده اتفاق افتاده‌اند و به خرابی ختم نشده‌اند. جلسه‌های بدون خرابی نشان‌دهنده قابلیت اطمینان کلی برنامه و ایجاد اعتماد کاربر است. پیگیری جلسه‌های بدون خرابی به‌ویژه در مراحل اولیه انتشار جدید مهم است، زیرا خرابی در اولین تعامل کاربر می‌تواند منجر به ناامیدی فوری و ترک کردن شود.

این سنجه اغلب سنجه ترجیحی برای انواع برنامه‌های زیر است:

  • برنامه‌هایی با الگوهای استفاده کوتاه و شدید مانند بازی‌های بلادرنگ یا برنامه‌های جاری‌سازی حساس به زمان، که در آن‌ها خرابی در میانه یک لحظه حیاتی می‌تواند کاربر را ناامید کند.

  • برنامه‌هایی با پیامدهای قابل‌توجه مانند برنامه‌های مالی یا برنامه‌های ناوبری، که تأکید بر وضعیت نهایی تجربه است. ازکارافتادن یکی از این برنامه‌ها می‌تواند منجر به مشکلات قابل‌توجهی شود و درنتیجه اعتماد به برنامه ازبین برود.

محاسبه سنجه‌های بدون خرابی

کاربران بدون خرابی چگونه محاسبه می‌شوند؟

مقدار کاربران بدون خرابی نشان‌دهنده درصد کاربرانی است که با برنامه شما تعامل داشته‌اند اما در دوره زمانی انتخاب‌شده خرابی نداشته‌اند.

در اینجا فرمول محاسبه درصد کاربران بدون خرابی آورده شده است. مقادیر ورودی آن توسط کیت توسعه نرم‌افزار Crashlytics ارائه می‌شود و براساس دوره زمانی است که از منو کرکره‌ای در بالا سمت چپ داشبورد Crashlytics انتخاب کرده‌اید.

CRASH_FREE_USERS_PERCENTAGE = 1 - (CRASHED_USERS / ALL_USERS)

  • CRASHED_USERS نشان‌دهنده تعداد کل کاربران متمایزی است که در دوره زمانی انتخاب‌شده با خرابی مواجه شده‌اند.

  • ALL_USERS نشان‌دهنده تعداد کل کاربرانی است که در دوره زمانی انتخاب‌شده با برنامه شما تعامل داشته‌اند.

درصد کاربران بدون خرابی تجمعی درطول زمان است، نه میانگین.

مقدار کاربران بدون خرابی نباید در دوره‌های زمانی مختلف مقایسه شود. هرچه کاربر بیشتر از برنامه شما استفاده کند، احتمال اینکه با خرابی مواجه شود بیشتر می‌شود، بنابراین مقدار کاربران بدون خرابی احتمالاً برای دوره‌های زمانی طولانی‌تر کمتر خواهد بود.

جلسه‌های بدون خرابی چگونه محاسبه می‌شوند؟

مقدار جلسه‌های بدون خرابی نشان‌دهنده درصد جلسه‌هایی است که در برنامه شما روی داده است اما در دوره زمانی انتخابی خرابی نداشته است.

در اینجا فرمول محاسبه درصد جلسه‌های بدون خرابی آورده شده است. مقادیر ورودی آن توسط کیت توسعه نرم‌افزار Crashlytics ارائه می‌شود و براساس دوره زمانی است که از منو کرکره‌ای در بالا سمت چپ داشبورد Crashlytics انتخاب کرده‌اید.

CRASH_FREE_SESSIONS_PERCENTAGE = 1 - (CRASHED_SESSIONS / ALL_SESSIONS)

  • CRASHED_SESSIONS نشان‌دهنده تعداد جلساتی است که در دوره زمانی انتخاب‌شده با خرابی پایان یافته است.

  • ALL_SESSIONS نشان‌دهنده تعداد کل جلساتی است که در برنامه شما در دوره زمانی انتخاب‌شده اتفاق افتاده است.

درصد جلسه‌های بدون خرابی تجمعی درطول زمان است، نه میانگین.

تأثیر تنظیمات جمع‌آوری داده بر کیفیت سنجه‌ها

بسته به تنظیمات جمع‌آوری داده‌هایتان، سنجه‌های بدون خرابی ممکن است مقادیر پایین یا صفر را نشان دهند. در اینجا دو سناریو رایج که می‌توانند باعث ایجاد سنجه‌های بدون خرابی غیرقابل‌اعتماد شوند آورده شده است:

  • اگر با غیرفعال کردن گزارش خرابی خودکار، گزارش موافقت را فعال کنید، اطلاعات خرابی فقط از کاربرانی که صریحاً با جمع‌آوری داده‌ها موافقت کرده‌اند به Crashlytics ارسال می‌شود. بنابراین، دقت سنجه‌های بدون خرابی تحت تأثیر قرار خواهد گرفت زیرا ‫Crashlytics فقط اطلاعات خرابی این کاربران موافقت‌کننده را دارد (به‌جای همه کاربران شما). این یعنی سنجه‌های بدون خرابی شما ممکن است قابل‌اعتماد نباشد و کمتر نشان‌دهنده پایداری کلی برنامه شما باشد.

  • اگر جمع‌آوری خودکار داده‌ها را غیرفعال کرده‌اید، می‌توانید از sendUnsentReports برای ارسال گزارش‌های ذخیره‌شده در حافظه نهان دستگاه به Crashlytics استفاده کنید. استفاده از این روش داده‌های خرابی را به Crashlytics ارسال می‌کند، اما داده‌های جلسه را ارسال نمی‌کند که باعث می‌شود نمودارهای کنسول مقادیر پایین یا صفر را برای سنجه‌های بدون خرابی نشان دهند.