در داشبورد Crashlytics ، میتوانید روی یک مشکل کلیک کنید و گزارش رویداد مفصلی دریافت کنید. میتوانید آن گزارشها را سفارشی کنید تا به شما کمک کند بهتر بفهمید در برنامهتان چه اتفاقی میافتد و شرایط پیرامون رویدادهای گزارششده به Crashlytics .
موارد استثنا و استثنائات کشف نشده را به Crashlytics گزارش دهید.
شامل گزارش های GWP-ASan برای رفع اشکال مشکلات خرابی حافظه.
برنامه خود را برای ثبت کلیدهای سفارشی ، پیامهای گزارش سفارشی و شناسههای کاربر ابزار کنید.
اگر برنامه شما از Firebase SDK برای Google Analytics استفاده میکند، بهطور خودکار گزارشهای خرده نان را دریافت کنید. این گزارشها به شما امکان مشاهده اقدامات کاربر را میدهند که منجر به رویداد جمعآوریشده Crashlytics در برنامه شما میشود.
گزارش خودکار خرابی را خاموش کنید و گزارش انتخابی را برای کاربران خود فعال کنید . توجه داشته باشید که بهطور پیشفرض، Crashlytics بهطور خودکار گزارشهای خرابی را برای همه کاربران برنامه شما جمعآوری میکند.
موارد استثنا را گزارش کنید
گزارش موارد استثنا
اگر استثناهایی دارید که انتظار می رود، می توانید از Crashlytics SDK بخواهید آنها را به عنوان رویدادهای غیر کشنده گزارش کند. این رویدادها در دستگاه ثبت می شوند و سپس همراه با گزارش رویداد مرگبار بعدی یا زمانی که کاربر نهایی بازی را مجدداً راه اندازی می کند، ارسال می شود.
با استفاده از روش زیر می توانید استثناها را در سی شارپ ثبت کنید:
Crashlytics.LogException(Exception ex);
می توانید استثناهای مورد انتظار را در بلوک های try/catch بازی خود ثبت کنید:
try { myMethodThatThrows(); } catch (Exception e) { Crashlytics.LogException(e); // handle your exception here! }
استثناهای کشف نشده را گزارش کنید
برای استثناهای کشف نشده که بازی شما را خراب نمیکنند (به عنوان مثال، استثناهای C# در منطق بازی)، میتوانید از Crashlytics SDK بخواهید با تنظیم ویژگی Crashlytics.ReportUncaughtExceptionsAsFatal
در جایی که Crashlytics در پروژه Unity مقداردهی اولیه true
، آنها را به عنوان رویدادهای مرگبار گزارش کند. این رویدادها بدون نیاز به شروع مجدد بازی توسط کاربر نهایی به صورت بلادرنگ به Crashlytics گزارش می شود.
گزارش این استثناهای کشف نشده به عنوان رویدادهای مرگبار به این معنی است که آنها در آمار کاربران بدون تصادف شما و هشدارهای سرعت به حساب می آیند.
توجه داشته باشید که خرابی های بومی همیشه به عنوان رویدادهای مرگبار گزارش می شوند. این رویدادها در دستگاه ثبت میشوند و پس از شروع مجدد بازی توسط کاربر نهایی ارسال میشوند.
void Start() { // Since there is no try-block surrounding this call, if an exception is thrown, // it is considered unexpected. // Setting `Crashlytics.ReportUncaughtExceptionsAsFatal = true` // will ensure that such cases are reported as fatals. thirdPartyMethodThatMayThrow(); }
شامل گزارش های GWP-ASan برای رفع اشکال مشکلات خرابی حافظه
برای برنامههای اندرویدی که از IL2CPP استفاده میکنند، Crashlytics میتواند با جمعآوری گزارشهای GWP-ASan به شما کمک کند خرابیهای ناشی از خطاهای حافظه بومی را رفع اشکال کنید. این خطاهای مربوط به حافظه می تواند با خراب شدن حافظه در برنامه شما مرتبط باشد، که علت اصلی آسیب پذیری های امنیتی برنامه است.
وقتی روی جزئیات یک مشکل در داشبورد Crashlytics کلیک میکنید، میتوانید این دادهها را در برگه جدید «ردیابی پشته حافظه» مشاهده کنید.
همچنین میتوانید از سیگنال و فیلتر جدید «گزارش GWP-ASan» برای مشاهده سریع همه مشکلات مربوط به این دادهها استفاده کنید.
اگر برنامه شما از جدیدترین Crashlytics SDK for Unity (نسخه 10.7.0+) استفاده میکند و GWP-ASan را به صراحت فعال کرده است، میتوانید گزارشهای حافظه GWP-ASan را دریافت کنید (به شما نیاز دارد مانیفست برنامه Android خود را تغییر دهید ). اگر کد ++C در برنامه خود دارید، می توانید راه اندازی GWP-ASan خود را با استفاده از نمونه کد بومی در اسناد Android آزمایش کنید.
کلیدهای سفارشی را اضافه کنید
کلیدهای سفارشی به شما کمک می کنند تا وضعیت خاص برنامه خود را که منجر به خرابی می شود، دریافت کنید. میتوانید جفتهای کلید/مقدار دلخواه را با گزارشهای خرابی خود مرتبط کنید، سپس از کلیدهای سفارشی برای جستجو و فیلتر کردن گزارشهای خرابی در کنسول Firebase استفاده کنید.
- در داشبورد Crashlytics ، میتوانید مسائلی را جستجو کنید که با یک کلید سفارشی مطابقت دارند.
- هنگامی که در حال بررسی یک مشکل خاص در کنسول هستید، میتوانید کلیدهای سفارشی مرتبط برای هر رویداد (زیربرگه کلیدها ) را مشاهده کنید و حتی رویدادها را با کلیدهای سفارشی فیلتر کنید (منوی فیلتر در بالای صفحه).
هنگامی که چندین بار فراخوانی می شود، مقادیر جدید برای کلیدهای موجود، مقدار را به روز می کند و تنها زمانی که یک خرابی ثبت می شود، آخرین مقدار ثبت می شود.
Crashlytics.SetCustomKey(string key, string value);
پیام های ثبت سفارشی را اضافه کنید
پیامهای ثبتشده با دادههای خرابی شما مرتبط هستند و هنگام مشاهده یک خرابی خاص در داشبورد Firebase Crashlytics قابل مشاهده هستند.
Crashlytics.Log(string message);
تعیین شناسه های کاربر
شما می توانید از یک شماره شناسه، رمز یا مقدار هش شده برای شناسایی منحصر به فرد کاربر نهایی برنامه خود بدون افشا یا انتقال هیچ یک از اطلاعات شخصی آنها استفاده کنید. همچنین می توانید مقدار را با تنظیم آن روی یک رشته خالی پاک کنید. این مقدار در داشبورد Firebase Crashlytics هنگام مشاهده یک خرابی خاص نمایش داده می شود.
Crashlytics.SetUserId(string identifier);
سیاهههای مربوط به پودر سوخاری را دریافت کنید
گزارشهای Breadcrumb به شما درک بهتری از تعاملاتی که کاربر با برنامه شما منجر به خرابی، رویداد غیرکشنده یا ANR میکند، میدهد. این گزارشها میتوانند هنگام تلاش برای بازتولید و رفع اشکال یک مشکل مفید باشند.
گزارشهای Breadcrumb توسط Google Analytics ارائه میشوند، بنابراین برای دریافت گزارشهای breadcrumb، باید Google Analytics را برای پروژه Firebase خود فعال کنید و Firebase SDK برای Google Analytics را به برنامه خود اضافه کنید . هنگامی که این الزامات برآورده شد، هنگام مشاهده جزئیات یک مشکل، گزارشهای خرده نان به طور خودکار با دادههای رویداد در برگه گزارشها گنجانده میشوند.
Analytics SDK بهطور خودکار رویداد screen_view
ثبت میکند که به گزارشهای خرده نان امکان میدهد فهرستی از صفحههای مشاهده شده قبل از خرابی، رویداد غیرمرگبار یا ANR را نشان دهند. یک سیاهه پودر screen_view
حاوی یک پارامتر firebase_screen_class
است.
گزارشهای Breadcrumb همچنین با هر رویداد سفارشی که به صورت دستی در جلسه کاربر ثبت میکنید، پر میشوند، از جمله دادههای پارامتر رویداد. این دادهها میتوانند به نمایش مجموعهای از اقدامات کاربر منجر به خرابی، رویداد غیرکشنده یا ANR کمک کنند.
توجه داشته باشید که میتوانید جمعآوری و استفاده از دادههای Google Analytics را کنترل کنید ، که شامل دادههایی است که گزارشهای خرده نان را پر میکند.
فعال کردن گزارش انتخابی
به طور پیش فرض، Crashlytics به طور خودکار گزارش های خرابی را برای همه کاربران برنامه شما جمع آوری می کند. میتوانید با اجازه دادن به کاربران در گزارش خرابیها، کنترل بیشتری بر روی دادههایی که ارسال میکنند، در اختیار آنها قرار دهید.
برای غیرفعال کردن جمعآوری خودکار فقط برای کاربران منتخب، در زمان اجرا با لغو مجموعه دادههای Crashlytics تماس بگیرید. مقدار لغو در تمام راهاندازیهای بعدی برنامه شما باقی میماند، بنابراین Crashlytics میتواند بهطور خودکار گزارشهایی را برای آن کاربر جمعآوری کند.
Crashlytics.IsCrashlyticsCollectionEnabled = true
اگر کاربر بعداً از جمعآوری دادهها انصراف داد، میتوانید مقدار false
را بهعنوان مقدار نادیده بگیرید، که دفعه بعد که کاربر برنامه را راهاندازی میکند اعمال میشود و در تمام راهاندازیهای بعدی برای آن کاربر باقی میماند.
دادههای Crash Insights را مدیریت کنید
Crash Insights به شما کمک میکند با مقایسه ردیابیهای پشته ناشناس خود با ردیابیهای سایر برنامههای Firebase، مشکلات را حل کنید و به شما اطلاع میدهد که آیا مشکل شما بخشی از یک روند بزرگتر است. برای بسیاری از مسائل، Crash Insights حتی منابعی را برای کمک به شما در رفع اشکال خرابی فراهم می کند.
Crash Insights از دادههای خرابی انبوه برای شناسایی روندهای رایج پایداری استفاده میکند. اگر ترجیح میدهید دادههای برنامه خود را به اشتراک نگذارید، میتوانید از منوی Crash Insights در بالای فهرست مشکلات Crashlytics در کنسول Firebase ، از Crash Insights انصراف دهید.
،در داشبورد Crashlytics ، می توانید روی یک مسئله کلیک کرده و گزارش رویداد مفصلی را دریافت کنید. شما می توانید این گزارش ها را سفارشی کنید تا به شما در درک بهتر آنچه در برنامه خود می افتد و شرایط مربوط به وقایع گزارش شده به Crashlytics .
گزارش استثنائات و استثنائات نامشخص از Crashlytics .
گزارش های GWP-ASAN را برای اشکال زدایی در مورد فساد حافظه وارد کنید.
برنامه خود را برای ورود به کلیدهای سفارشی ، پیام های ورود به سیستم سفارشی و شناسه های کاربر سازگار کنید.
اگر برنامه شما از Firebase SDK برای Google Analytics استفاده می کند ، به طور خودکار سیاهههای مربوط به خرده فروش را دریافت کنید. این سیاهههای مربوط به اقدامات کاربر منتهی به یک رویداد جمع آوری شده Crashlytics در برنامه شما ، به شما امکان پذیر است.
گزارش تصادف خودکار را خاموش کرده و گزارش دهی را برای کاربران خود فعال کنید . توجه داشته باشید که ، به طور پیش فرض ، Crashlytics به طور خودکار گزارش های خرابی را برای همه کاربران برنامه شما جمع می کند.
استثنائات را گزارش دهید
گزارش استثنائات گرفتار
اگر استثنائاتی دارید که انتظار می رود ، می توانید Crashlytics SDK آنها را به عنوان رویدادهای غیر کشنده گزارش دهید. این رویدادها روی دستگاه وارد می شوند و سپس به همراه گزارش رویداد Fatal Next یا هنگامی که کاربر نهایی بازی را مجدداً راه اندازی می کند ، ارسال می شود.
با استفاده از روش زیر می توانید استثنائات را در C# وارد کنید:
Crashlytics.LogException(Exception ex);
شما می توانید استثنائات مورد انتظار را در بلوک های امتحان/گرفتن بازی خود وارد کنید:
try { myMethodThatThrows(); } catch (Exception e) { Crashlytics.LogException(e); // handle your exception here! }
استثنائات غیر آموخته را گزارش دهید
برای استثنائات Uncaught که بازی شما را خراب نمی کند (به عنوان مثال ، استثنائات C# Uncaught در منطق بازی) ، می توانید Crashlytics SDK آنها را با Crashlytics Crashlytics.ReportUncaughtExceptionsAsFatal
به عنوان رویدادهای کشنده گزارش true
. گزارش شده است که این رویدادها بدون نیاز به کاربر نهایی برای راه اندازی مجدد بازی ، در زمان واقعی Crashlytics به Crashlytics گفته می شود.
گزارش این استثنائات غیر آموخته به عنوان رویدادهای کشنده به این معنی است که آنها در آمار کاربر بدون تصادف و هشدارهای سرعت حساب می شوند.
توجه داشته باشید که تصادفات بومی همیشه به عنوان حوادث کشنده گزارش می شود. این رویدادها روی دستگاه وارد می شوند و هنگامی که کاربر نهایی بازی را مجدداً راه اندازی می کند ، ارسال می شوند.
void Start() { // Since there is no try-block surrounding this call, if an exception is thrown, // it is considered unexpected. // Setting `Crashlytics.ReportUncaughtExceptionsAsFatal = true` // will ensure that such cases are reported as fatals. thirdPartyMethodThatMayThrow(); }
شامل گزارش های GWP-ASAN برای اشکال زدایی در مورد فساد حافظه
برای برنامه های Android که از IL2CPP استفاده می کنند ، Crashlytics می تواند با جمع آوری گزارش های GWP-ASAN ، خرابی های ناشی از خطاهای حافظه بومی را به شما کمک کند. این خطاهای مرتبط با حافظه می تواند با فساد حافظه در برنامه شما همراه باشد ، که عامل اصلی آسیب پذیری های امنیتی برنامه است.
وقتی می توانید جزئیات مسئله را در داشبورد Crashlytics کلیک کنید ، می توانید این داده ها را در یک برگه جدید "Treas Traces" مشاهده کنید.
همچنین می توانید از سیگنال جدید "GWP-ASAN گزارش" استفاده کنید و فیلتر کنید تا به سرعت همه مسائل را با این داده ها مشاهده کنید.
اگر برنامه شما از آخرین SDK Crashlytics برای Unity (V10.7.0+) استفاده می کند ، می توانید گزارش های حافظه GWP-ASAN را دریافت کنید و GWP-ASAN را صریحاً فعال کرده است (شما را ملزم به تغییر برنامه Android خود می کند). اگر در برنامه خود کد C ++ دارید ، می توانید با استفاده از کد بومی مثال در اسناد Android ، تنظیم GWP-ASAN خود را آزمایش کنید.
کلیدهای سفارشی اضافه کنید
کلیدهای سفارشی به شما کمک می کنند وضعیت خاص برنامه خود را که منجر به تصادف می شود ، بدست آورید. شما می توانید جفت های کلید/مقدار دلخواه را با گزارش های Crash خود مرتبط کنید ، سپس از کلیدهای سفارشی برای جستجو و فیلتر گزارش های خرابی در کنسول Firebase استفاده کنید.
- در داشبورد Crashlytics ، می توانید مواردی را جستجو کنید که با یک کلید سفارشی مطابقت داشته باشد.
- هنگامی که در حال بررسی یک مسئله خاص در کنسول هستید ، می توانید کلیدهای سفارشی مرتبط را برای هر رویداد ( Keys Subtab) مشاهده کنید و حتی رویدادها را با کلیدهای سفارشی فیلتر کنید (منوی فیلتر در بالای صفحه).
هنگامی که چندین بار خوانده می شود ، مقادیر جدید برای کلیدهای موجود مقدار را به روز می کند و تنها با ثبت یک تصادف ، تنها بیشترین مقدار ضبط می شود.
Crashlytics.SetCustomKey(string key, string value);
پیام های ورود به سیستم سفارشی را اضافه کنید
پیام های وارد شده با داده های خرابی شما همراه هستند و در هنگام مشاهده یک تصادف خاص در داشبورد Firebase Crashlytics قابل مشاهده هستند.
Crashlytics.Log(string message);
شناسه های کاربر را تنظیم کنید
برای شناسایی منحصر به فرد کاربر نهایی برنامه خود می توانید از یک شماره شناسه ، نشانه یا مقدار هشده استفاده کنید بدون اینکه اطلاعات شخصی آنها را فاش یا انتقال دهید. همچنین می توانید با تنظیم آن روی یک رشته خالی ، مقدار را پاک کنید. این مقدار هنگام مشاهده یک تصادف خاص در داشبورد Firebase Crashlytics نمایش داده می شود.
Crashlytics.SetUserId(string identifier);
سیاهههای مربوط به خرده فروش را دریافت کنید
سیاهههای مربوط به نان های نان درک بهتر از تعامل هایی که کاربر با برنامه شما داشت منجر به یک رویداد تصادف ، غیر کشنده یا ANR می شود. این سیاهههای مربوط می توانند هنگام تلاش برای تولید مثل و اشکال زدایی یک مسئله مفید باشند.
سیاهههای مربوط به Breadcrumb از Google Analytics استفاده می شوند ، بنابراین برای به دست آوردن سیاهههای مربوط به نان ، باید Google Analytics را برای پروژه Firebase خود فعال کرده و SDK Firebase را برای Google Analytics به برنامه خود اضافه کنید . پس از برآورده شدن این الزامات ، هنگام مشاهده جزئیات یک مسئله ، سیاهههای مربوط به نان به طور خودکار با داده های یک رویداد در برگه سیاههها گنجانده می شوند.
Analytics SDK به طور خودکار رویداد screen_view
را که باعث می شود سیاهههای مربوط به نان آتشی را قادر می سازد لیستی از صفحه نمایش های مشاهده شده قبل از تصادف ، غیر کشنده یا رویداد ANR را نشان دهد. یک ورود به سیستم Breadcrumb screen_view
شامل یک پارامتر firebase_screen_class
است.
سیاهههای مربوط به نان های نان نیز با هر رویدادی سفارشی که به صورت دستی در جلسه کاربر وارد می شوید ، از جمله داده های پارامتر رویداد ، جمع شده است. این داده ها می تواند به نمایش یک سری اقدامات کاربر منتهی به یک رویداد خرابی ، غیر کشنده یا ANR کمک کند.
توجه داشته باشید که می توانید مجموعه و استفاده از داده های Google Analytics را کنترل کنید ، که شامل داده هایی است که شامل سیاهههای مربوط به نان های نان است.
گزارش دهی را فعال کنید
به طور پیش فرض ، Crashlytics به طور خودکار گزارش های خرابی را برای همه کاربران برنامه شما جمع می کند. شما می توانید با اجازه دادن به آنها در گزارش خرابی ، کنترل بیشتری بر داده های ارسال شده به کاربران ارائه دهید.
برای غیرفعال کردن مجموعه اتوماتیک فقط برای کاربران انتخاب شده ، با مجموعه داده های Crashlytics در زمان اجرا فراخوانی کنید. مقدار Override در تمام راه اندازی های بعدی برنامه شما ادامه دارد ، بنابراین Crashlytics می تواند به طور خودکار گزارش هایی را برای آن کاربر جمع کند.
Crashlytics.IsCrashlyticsCollectionEnabled = true
اگر کاربر بعداً از جمع آوری داده ها انتخاب کند ، می توانید false
به عنوان مقدار Override منتقل کنید ، که دفعه بعد که کاربر برنامه را راه اندازی می کند و در تمام پرتاب های بعدی برای آن کاربر باقی خواهد ماند.
داده های بینش Crash را مدیریت کنید
Crash Insights به شما کمک می کند تا با مقایسه آثار پشته ناشناس خود در مورد اثری از سایر برنامه های Firebase ، مسائل را حل کنید و به شما اطلاع می دهد که آیا مسئله شما بخشی از یک روند بزرگتر است یا خیر. برای بسیاری از مسائل ، Crash Insights حتی منابعی را برای کمک به اشکال زدایی در مورد تصادف فراهم می کند.
Crash Insights از داده های سقوط جمع شده برای شناسایی روند پایداری مشترک استفاده می کند. اگر ترجیح می دهید داده های برنامه خود را به اشتراک نگذارید ، می توانید از منوی Crash Insights در بالای لیست شماره Crashlytics خود در کنسول Firebase خودداری کنید.