در داشبورد Crashlytics ، میتوانید روی یک مشکل کلیک کنید و گزارش رویداد مفصلی دریافت کنید. میتوانید آن گزارشها را سفارشی کنید تا به شما کمک کند بهتر بفهمید در برنامهتان چه اتفاقی میافتد و شرایط پیرامون رویدادهای گزارششده به Crashlytics .
برنامه خود را برای ثبت کلیدهای سفارشی ، پیامهای گزارش سفارشی و شناسههای کاربر ابزار کنید.
موارد استثنا را به Crashlytics گزارش دهید.
اگر برنامه شما از Firebase SDK برای Google Analytics استفاده میکند، بهطور خودکار گزارشهای خرده نان را دریافت کنید. این گزارشها به شما امکان مشاهده اقدامات کاربر را میدهند که منجر به رویداد جمعآوریشده Crashlytics در برنامه شما میشود.
گزارش خودکار خرابی را خاموش کنید و گزارش انتخابی را برای کاربران خود فعال کنید . توجه داشته باشید که بهطور پیشفرض، Crashlytics بهطور خودکار گزارشهای خرابی را برای همه کاربران برنامه شما جمعآوری میکند.
کلیدهای سفارشی را اضافه کنید
کلیدهای سفارشی به شما کمک می کنند تا وضعیت خاص برنامه خود را که منجر به خرابی می شود، دریافت کنید. میتوانید جفتهای کلید/مقدار دلخواه را با گزارشهای خرابی خود مرتبط کنید، سپس از کلیدهای سفارشی برای جستجو و فیلتر کردن گزارشهای خرابی در کنسول Firebase استفاده کنید.
- در داشبورد Crashlytics ، میتوانید مسائلی را جستجو کنید که با یک کلید سفارشی مطابقت دارند.
- هنگامی که در حال بررسی یک مشکل خاص در کنسول هستید، میتوانید کلیدهای سفارشی مرتبط برای هر رویداد (زیربرگه کلیدها ) را مشاهده کنید و حتی رویدادها را با کلیدهای سفارشی فیلتر کنید (منوی فیلتر در بالای صفحه).
از متد setCustomValue
برای تنظیم جفت کلید/مقدار استفاده کنید. به عنوان مثال:
سویفت
// Set int_key to 100. Crashlytics.crashlytics().setCustomValue(100, forKey: "int_key") // Set str_key to "hello". Crashlytics.crashlytics().setCustomValue("hello", forKey: "str_key")
هدف-C
هنگام تنظیم اعداد صحیح، بولی یا شناور، مقدار را به عنوان @( value )
در کادر قرار دهید.
// Set int_key to 100. [[FIRCrashlytics crashlytics] setCustomValue:@(100) forKey:@"int_key"]; // Set str_key to "hello". [[FIRCrashlytics crashlytics] setCustomValue:@"hello" forKey:@"str_key"];
همچنین میتوانید مقدار یک کلید موجود را با فراخوانی کلید و تنظیم آن روی مقدار دیگری تغییر دهید. به عنوان مثال:
سویفت
Crashlytics.crashlytics().setCustomValue(100, forKey: "int_key") // Set int_key to 50 from 100. Crashlytics.crashlytics().setCustomValue(50, forKey: "int_key")
هدف-C
[[FIRCrashlytics crashlytics] setCustomValue:@(100) forKey:@"int_key"]; // Set int_key to 50 from 100. [[FIRCrashlytics crashlytics] setCustomValue:@(50) forKey:@"int_key"];
با استفاده از متد setCustomKeysAndValues
با یک NSDictionary به عنوان تنها پارامتر، جفت های کلید/مقدار را به صورت انبوه اضافه کنید:
سویفت
let keysAndValues = [ "string key" : "string value", "string key 2" : "string value 2", "boolean key" : true, "boolean key 2" : false, "float key" : 1.01, "float key 2" : 2.02 ] as [String : Any] Crashlytics.crashlytics().setCustomKeysAndValues(keysAndValues)
هدف-C
NSDictionary *keysAndValues = @{@"string key" : @"string value", @"string key 2" : @"string value 2", @"boolean key" : @(YES), @"boolean key 2" : @(NO), @"float key" : @(1.01), @"float key 2" : @(2.02)}; [[FIRCrashlytics crashlytics] setCustomKeysAndValues: keysAndValues];
پیام های ثبت سفارشی را اضافه کنید
برای اینکه به خودتان زمینه بیشتری برای رویدادهایی که منجر به خرابی می شود بدهید، می توانید گزارش های Crashlytics سفارشی را به برنامه خود اضافه کنید. Crashlytics گزارشها را با دادههای خرابی شما مرتبط میکند و آنها را در صفحه Crashlytics کنسول Firebase در زیر برگه Logs نمایش میدهد.
سویفت
از log()
یا log(format:, arguments:)
برای کمک به مشخص کردن مشکلات استفاده کنید. اگر میخواهید یک خروجی log مفید با پیامها دریافت کنید، شیئی که به log()
ارسال میکنید باید با ویژگی CustomStringConvertible
مطابقت داشته باشد. log()
ویژگی توصیفی را که برای شی تعریف کرده اید برمی گرداند. به عنوان مثال:
Crashlytics.crashlytics().log("Higgs-Boson detected! Bailing out…, \(attributesDict)")
.log(format:, arguments:)
مقادیر بازگردانده شده از فراخوانی getVaList()
قالب بندی می کند. به عنوان مثال:
Crashlytics.crashlytics().log(format: "%@, %@", arguments: getVaList(["Higgs-Boson detected! Bailing out…", attributesDict]))
برای جزئیات بیشتر در مورد نحوه استفاده از log()
یا log(format:, arguments:)
، به مستندات مرجع Crashlytics مراجعه کنید.
هدف-C
از log
یا logWithFormat
برای کمک به شناسایی دقیق مشکلات استفاده کنید. توجه داشته باشید که اگر میخواهید یک خروجی گزارش مفید با پیامها دریافت کنید، شیئی که به هر یک از روشها ارسال میکنید باید ویژگی نمونه description
را لغو کند. به عنوان مثال:
[[FIRCrashlytics crashlytics] log:@"Simple string message"]; [[FIRCrashlytics crashlytics] logWithFormat:@"Higgs-Boson detected! Bailing out... %@", attributesDict]; [[FIRCrashlytics crashlytics] logWithFormat:@"Logging a variable argument list %@" arguments:va_list_arg];
برای جزئیات بیشتر در مورد نحوه استفاده از log
و logWithFormat
، به مستندات مرجع Crashlytics مراجعه کنید.
تعیین شناسه های کاربر
برای تشخیص یک مشکل، اغلب مفید است که بدانید کدام یک از کاربران شما یک خرابی را تجربه کرده اند. Crashlytics شامل راهی برای شناسایی ناشناس کاربران در گزارشهای خرابی شما است.
برای افزودن شناسههای کاربری به گزارشهای خود، به هر کاربر یک شناسه منحصربهفرد به شکل شماره شناسه، نشانه یا مقدار هش اختصاص دهید:
سویفت
Crashlytics.crashlytics().setUserID("123456789")
هدف-C
[[FIRCrashlytics crashlytics] setUserID:@"123456789"];
اگر بعد از تنظیم یک شناسه کاربری نیاز به پاک کردن آن داشتید، مقدار آن را به یک رشته خالی بازنشانی کنید. پاک کردن شناسه کاربر، سوابق موجود Crashlytics را حذف نمی کند. اگر نیاز به حذف سوابق مرتبط با شناسه کاربری دارید، با پشتیبانی Firebase تماس بگیرید .
سیاهههای مربوط به پودر سوخاری را دریافت کنید
گزارشهای 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 فقط در صورت انتخاب در کد، گزارش انتخاب را فعال کنید:
با افزودن یک کلید جدید به فایل
Info.plist
خود، مجموعه خودکار را خاموش کنید:- کلید:
FirebaseCrashlyticsCollectionEnabled
- مقدار:
false
- کلید:
با فراخوانی لغو مجموعه داده های Crashlytics در زمان اجرا، مجموعه را برای کاربران منتخب فعال کنید. مقدار لغو در سراسر راه اندازی برنامه شما باقی می ماند بنابراین Crashlytics می تواند به طور خودکار گزارش ها را جمع آوری کند.
برای انصراف از گزارش خودکار خرابی، مقدار
false
به عنوان مقدار نادیده بگیرید. وقتی رویfalse
تنظیم می شود، مقدار جدید تا اجرای بعدی برنامه اعمال نمی شود.سویفت
Crashlytics.crashlytics().setCrashlyticsCollectionEnabled(true)
هدف-C
[[FIRCrashlytics crashlytics] setCrashlyticsCollectionEnabled:YES];
دادههای Crash Insights را مدیریت کنید
Crash Insights به شما کمک میکند با مقایسه ردیابیهای پشته ناشناس خود با ردیابیهای سایر برنامههای Firebase، مشکلات را حل کنید و به شما اطلاع میدهد که آیا مشکل شما بخشی از یک روند بزرگتر است. برای بسیاری از مسائل، Crash Insights حتی منابعی را برای کمک به شما در رفع اشکال خرابی فراهم می کند.
Crash Insights از دادههای خرابی انبوه برای شناسایی روندهای رایج پایداری استفاده میکند. اگر ترجیح میدهید دادههای برنامه خود را به اشتراک نگذارید، میتوانید از منوی Crash Insights در بالای فهرست مشکلات Crashlytics در کنسول Firebase ، از Crash Insights انصراف دهید.
،در داشبورد Crashlytics ، می توانید روی یک مسئله کلیک کرده و گزارش رویداد مفصلی را دریافت کنید. شما می توانید این گزارش ها را سفارشی کنید تا به شما در درک بهتر آنچه در برنامه خود می افتد و شرایط مربوط به وقایع گزارش شده به Crashlytics .
برنامه خود را برای ورود به کلیدهای سفارشی ، پیام های ورود به سیستم سفارشی و شناسه های کاربر سازگار کنید.
استثنائات را به Crashlytics گزارش دهید.
اگر برنامه شما از Firebase SDK برای Google Analytics استفاده می کند ، به طور خودکار سیاهههای مربوط به خرده فروش را دریافت کنید. این سیاهههای مربوط به اقدامات کاربر منتهی به یک رویداد جمع آوری شده Crashlytics در برنامه شما ، به شما امکان پذیر است.
گزارش تصادف خودکار را خاموش کرده و گزارش دهی را برای کاربران خود فعال کنید . توجه داشته باشید که ، به طور پیش فرض ، Crashlytics به طور خودکار گزارش های خرابی را برای همه کاربران برنامه شما جمع می کند.
کلیدهای سفارشی اضافه کنید
کلیدهای سفارشی به شما کمک می کنند وضعیت خاص برنامه خود را که منجر به تصادف می شود ، بدست آورید. شما می توانید جفت های کلید/مقدار دلخواه را با گزارش های Crash خود مرتبط کنید ، سپس از کلیدهای سفارشی برای جستجو و فیلتر گزارش های خرابی در کنسول Firebase استفاده کنید.
- در داشبورد Crashlytics ، می توانید مواردی را جستجو کنید که با یک کلید سفارشی مطابقت داشته باشد.
- هنگامی که در حال بررسی یک مسئله خاص در کنسول هستید ، می توانید کلیدهای سفارشی مرتبط را برای هر رویداد ( Keys Subtab) مشاهده کنید و حتی رویدادها را با کلیدهای سفارشی فیلتر کنید (منوی فیلتر در بالای صفحه).
برای تنظیم جفت های کلید/مقدار از روش setCustomValue
استفاده کنید. به عنوان مثال:
سویفت
// Set int_key to 100. Crashlytics.crashlytics().setCustomValue(100, forKey: "int_key") // Set str_key to "hello". Crashlytics.crashlytics().setCustomValue("hello", forKey: "str_key")
هدف-C
هنگام تنظیم عدد صحیح ، بول ، یا شناور ، مقدار را به عنوان @( value )
جعبه کنید.
// Set int_key to 100. [[FIRCrashlytics crashlytics] setCustomValue:@(100) forKey:@"int_key"]; // Set str_key to "hello". [[FIRCrashlytics crashlytics] setCustomValue:@"hello" forKey:@"str_key"];
همچنین می توانید با فراخوانی کلید و تنظیم آن بر روی یک مقدار متفاوت ، مقدار یک کلید موجود را تغییر دهید. به عنوان مثال:
سویفت
Crashlytics.crashlytics().setCustomValue(100, forKey: "int_key") // Set int_key to 50 from 100. Crashlytics.crashlytics().setCustomValue(50, forKey: "int_key")
هدف-C
[[FIRCrashlytics crashlytics] setCustomValue:@(100) forKey:@"int_key"]; // Set int_key to 50 from 100. [[FIRCrashlytics crashlytics] setCustomValue:@(50) forKey:@"int_key"];
با استفاده از روش setCustomKeysAndValues
با یک nsdionary به عنوان تنها پارامتر ، جفت های کلید/مقدار را به صورت عمده اضافه کنید:
سویفت
let keysAndValues = [ "string key" : "string value", "string key 2" : "string value 2", "boolean key" : true, "boolean key 2" : false, "float key" : 1.01, "float key 2" : 2.02 ] as [String : Any] Crashlytics.crashlytics().setCustomKeysAndValues(keysAndValues)
هدف-C
NSDictionary *keysAndValues = @{@"string key" : @"string value", @"string key 2" : @"string value 2", @"boolean key" : @(YES), @"boolean key 2" : @(NO), @"float key" : @(1.01), @"float key 2" : @(2.02)}; [[FIRCrashlytics crashlytics] setCustomKeysAndValues: keysAndValues];
پیام های ورود به سیستم سفارشی را اضافه کنید
برای اینکه زمینه بیشتری برای وقایع منتهی به تصادف داشته باشید ، می توانید سیاهههای مربوط Crashlytics سفارشی را به برنامه خود اضافه کنید. Crashlytics سیاههها را با داده های خرابی شما مرتبط می کند و آنها را در صفحه Crashlytics کنسول Firebase ، در زیر برگه Logs نمایش می دهد.
سویفت
از log()
یا log(format:, arguments:)
برای کمک به مشکلات مشخص. اگر می خواهید با پیام ها یک خروجی ورود به سیستم مفید دریافت کنید ، شیء که برای ورود به log()
باید مطابق با ویژگی CustomStringConvertible
باشد. log()
ویژگی توضیحی را که برای شی تعریف می کنید برمی گرداند. به عنوان مثال:
Crashlytics.crashlytics().log("Higgs-Boson detected! Bailing out…, \(attributesDict)")
.log(format:, arguments:)
مقادیر فرمت ها از فراخوانی getVaList()
بازگردانده می شوند. به عنوان مثال:
Crashlytics.crashlytics().log(format: "%@, %@", arguments: getVaList(["Higgs-Boson detected! Bailing out…", attributesDict]))
برای اطلاعات بیشتر در مورد نحوه استفاده از log()
یا log(format:, arguments:)
، به مستندات مرجع Crashlytics مراجعه کنید.
هدف-C
برای کمک به مشکلات مشخص log
یا logWithFormat
استفاده کنید. توجه داشته باشید که اگر می خواهید با پیام ها یک خروجی ورود به سیستم مفید دریافت کنید ، شیء که به هر روش منتقل می کنید باید ویژگی نمونه description
را نادیده بگیرید. به عنوان مثال:
[[FIRCrashlytics crashlytics] log:@"Simple string message"]; [[FIRCrashlytics crashlytics] logWithFormat:@"Higgs-Boson detected! Bailing out... %@", attributesDict]; [[FIRCrashlytics crashlytics] logWithFormat:@"Logging a variable argument list %@" arguments:va_list_arg];
برای اطلاعات بیشتر در مورد نحوه استفاده از log
و logWithFormat
، به مستندات مرجع Crashlytics مراجعه کنید.
شناسه های کاربر را تنظیم کنید
برای تشخیص یک مسئله ، اغلب مفید است که بدانید کدام یک از کاربران شما یک تصادف خاص را تجربه کرده اند. Crashlytics شامل راهی برای شناسایی ناشناس کاربران در گزارش های تصادف شما است.
برای افزودن شناسه های کاربر به گزارش های خود ، به هر کاربر یک شناسه منحصر به فرد را در قالب شماره شناسه ، نشانه یا مقدار هش داده اختصاص دهید:
سویفت
Crashlytics.crashlytics().setUserID("123456789")
هدف-C
[[FIRCrashlytics crashlytics] setUserID:@"123456789"];
اگر بعد از تنظیم آن نیاز به پاک کردن شناسه کاربر دارید ، مقدار را در یک رشته خالی تنظیم کنید. پاکسازی شناسه کاربر سوابق موجود Crashlytics موجود را حذف نمی کند. اگر نیاز به حذف سوابق مرتبط با شناسه کاربر دارید ، با پشتیبانی Firebase تماس بگیرید .
سیاهههای مربوط به خرده فروش را دریافت کنید
سیاهههای مربوط به نان های نان درک بهتر از تعامل هایی که کاربر با برنامه شما داشت منجر به یک رویداد تصادف ، غیر کشنده یا 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 هنگام انتخاب کد خود ، گزارش دهی را فعال کنید:
با افزودن یک کلید جدید به پرونده
Info.plist
خود ، مجموعه خودکار را خاموش کنید:- کلید:
FirebaseCrashlyticsCollectionEnabled
- مقدار:
false
- کلید:
با فراخوانی مجموعه داده های Crashlytics در زمان اجرا ، مجموعه را برای کاربران انتخاب کنید. مقدار Override در راه اندازی برنامه شما ادامه دارد ، بنابراین Crashlytics می تواند به طور خودکار گزارش ها را جمع آوری کند.
برای امتناع از گزارش تصادف اتوماتیک ، به عنوان مقدار
false
گرفته شود. هنگام تنظیمfalse
، مقدار جدید تا اجرای بعدی برنامه اعمال نمی شود.سویفت
Crashlytics.crashlytics().setCrashlyticsCollectionEnabled(true)
هدف-C
[[FIRCrashlytics crashlytics] setCrashlyticsCollectionEnabled:YES];
داده های بینش Crash را مدیریت کنید
Crash Insights به شما کمک می کند تا با مقایسه آثار پشته ناشناس خود در مورد اثری از سایر برنامه های Firebase ، مسائل را حل کنید و به شما اطلاع می دهد که آیا مسئله شما بخشی از یک روند بزرگتر است یا خیر. برای بسیاری از مسائل ، Crash Insights حتی منابعی را برای کمک به اشکال زدایی در مورد تصادف فراهم می کند.
Crash Insights از داده های سقوط جمع شده برای شناسایی روند پایداری مشترک استفاده می کند. اگر ترجیح می دهید داده های برنامه خود را به اشتراک نگذارید ، می توانید از منوی Crash Insights در بالای لیست شماره Crashlytics خود در کنسول Firebase خودداری کنید.