התאם אישית את דוחות הקריסה של Firebase Crashlytics

בלוח המחוונים של Crashlytics, אתה יכול ללחוץ על בעיה ולקבל דוח אירועים מפורט. אתה יכול להתאים אישית את הדוחות האלה כדי לעזור לך להבין טוב יותר מה קורה באפליקציה שלך ואת הנסיבות סביב אירועים שדווחו ל-Crashlytics.

  • קבל אוטומטית יומני פירורי לחם אם האפליקציה שלך משתמשת ב-Firebase SDK עבור Google Analytics. יומנים אלה נותנים לך חשיפה לפעולות המשתמש המובילות לאירוע שנאסף על ידי Crashlytics באפליקציה שלך.

  • כבה את דיווח הקריסה האוטומטי והפעל את דיווח הסכמה עבור המשתמשים שלך. שים לב שכברירת מחדל, Crashlytics אוספת אוטומטית דוחות קריסה עבור כל משתמשי האפליקציה שלך.

דווח על חריגים

הדוח תפס חריגים

אם יש לך חריגים שצפויים, תוכל לבקש מ-Crashlytics SDK לדווח עליהם כאירועים לא קטלניים . אירועים אלו נרשמים במכשיר ולאחר מכן נשלחים יחד עם דוח האירוע הקטלני הבא או כאשר משתמש הקצה מפעיל מחדש את המשחק.

אתה יכול לרשום חריגים ב-C# באמצעות השיטה הבאה:

Crashlytics.LogException(Exception ex);

אתה יכול לרשום חריגים צפויים בבלוק הנסיון/תפוס של המשחק שלך:

try {
    myMethodThatThrows();
} catch (Exception e) {
   Crashlytics.LogException(e);
   // handle your exception here!
}

דווח על חריגים שלא נתפסו

עבור חריגים שלא נתפסו שאינם קורסים את המשחק שלך (לדוגמה, חריגים שלא נתפסו ב-C# בלוגיקה של המשחק), אתה יכול לבקש מה-Crashlytics SDK לדווח עליהם כאירועים קטלניים על ידי הגדרת המאפיין Crashlytics.ReportUncaughtExceptionsAsFatal ל- true במקום שבו אתה מאתחל את Crashlytics בפרויקט Unity שלך . אירועים אלו מדווחים ל-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 report" כדי להציג במהירות את כל הבעיות בנתונים אלה.

אתה יכול לקבל דוחות זיכרון GWP-ASan אם האפליקציה שלך משתמשת ב-Crashlytics SDK עבור Unity העדכנית ביותר (v10.7.0+) ו- GWP-ASan מופעלת במפורש (מחייב אותך לשנות את Manifest App Android שלך ). אם יש לך קוד C++ באפליקציה שלך, תוכל לבדוק את הגדרת ה-GWP-ASan שלך באמצעות הקוד המקורי לדוגמה בתיעוד אנדרואיד .

הוסף מפתחות מותאמים אישית

מפתחות מותאמים אישית עוזרים לך לקבל את המצב הספציפי של האפליקציה שלך לקראת קריסה. אתה יכול לשייך צמדי מפתח/ערך שרירותיים לדוחות הקריסה שלך, ולאחר מכן להשתמש במפתחות המותאמים אישית כדי לחפש ולסנן דוחות קריסה במסוף Firebase.

  • בלוח המחוונים של Crashlytics , תוכל לחפש בעיות התואמות למפתח מותאם אישית.
  • כאשר אתה בודק בעיה ספציפית במסוף, אתה יכול להציג את המפתחות המותאמים אישית המשויכים לכל אירוע (כרטיסיית המשנה Keys ) ואפילו לסנן את האירועים לפי מפתחות מותאמים אישית (תפריט סינון בראש העמוד).

כאשר נקראים מספר פעמים, ערכים חדשים עבור מפתחות קיימים יעדכנו את הערך, ורק הערך העדכני ביותר נקלט כאשר מתעדת קריסה.

Crashlytics.SetCustomKey(string key, string value);

הוסף הודעות יומן מותאמות אישית

הודעות שנרשמו משויכות לנתוני הקריסה שלך והן גלויות במרכז השליטה של ​​Firebase Crashlytics בעת הצגת קריסה ספציפית.

Crashlytics.Log(string message);

הגדר מזהי משתמש

אתה יכול להשתמש במספר מזהה, אסימון או ערך גיבוב כדי לזהות באופן ייחודי את משתמש הקצה של האפליקציה שלך מבלי לחשוף או לשדר כל מידע אישי שלו. אתה יכול גם לנקות את הערך על ידי הגדרתו למחרוזת ריקה. ערך זה מוצג בלוח המחוונים של Firebase Crashlytics בעת הצגת קריסה ספציפית.

Crashlytics.SetUserId(string identifier);

קבל יומני פירורי לחם

יומני פירורי לחם נותנים לך הבנה טובה יותר של האינטראקציות שהיו למשתמש עם האפליקציה שלך שהובילה לקריסה, לא קטלנית או לאירוע ANR. יומנים אלה יכולים להיות מועילים כאשר מנסים לשחזר ולתת באגים בבעיה.

יומני Breadcrumb מופעלים על ידי Google Analytics, אז כדי לקבל יומני Breadcrumb, עליך להפעיל את Google Analytics עבור פרויקט Firebase שלך ​​ולהוסיף את Firebase SDK עבור Google Analytics לאפליקציה שלך. לאחר עמידה בדרישות אלה, יומני פירורי לחם נכללים אוטומטית עם נתוני אירוע בכרטיסייה יומנים כאשר אתה מציג את הפרטים של בעיה.

ה-SDK של Analytics רושם אוטומטית את אירוע screen_view המאפשר ליומני ה-breadcrumb להציג רשימה של מסכים שנצפו לפני אירוע הקריסה, הלא קטלני או ה-ANR. יומן breadcrumb screen_view מכיל פרמטר firebase_screen_class .

יומני Breadcrumb מאוכלסים גם באירועים מותאמים אישית שאתה רושם באופן ידני במהלך ההפעלה של המשתמש, כולל נתוני הפרמטרים של האירוע. נתונים אלה יכולים לעזור להציג סדרה של פעולות משתמש המובילות לקריסה, לא קטלנית או אירוע ANR.

שים לב שאתה יכול לשלוט באיסוף ובשימוש בנתוני Google Analytics , הכוללים את הנתונים המאכלסים את יומני ה-breadcrumb.

אפשר דיווח על הסכמה

כברירת מחדל, Crashlytics אוספת אוטומטית דוחות קריסה עבור כל משתמשי האפליקציה שלך. אתה יכול לתת למשתמשים שליטה רבה יותר על הנתונים שהם שולחים על ידי מתן הסכמה לדיווח על קריסות.

כדי להשבית את האיסוף האוטומטי ולאתחל את Crashlytics רק עבור משתמשים נבחרים, קרא לעקיפה של איסוף הנתונים של Crashlytics בזמן ריצה. ערך העקיפה נמשך לאורך כל ההשקות של האפליקציה שלך כך ש-Crashlytics יכול לאסוף דוחות באופן אוטומטי. כדי לבטל את הסכמתך לדיווח על קריסה אוטומטי, העבר את false כערך העקיפה. כאשר מוגדר כ- false , הערך החדש אינו חל עד להרצה הבאה של האפליקציה.

Crashlytics.IsCrashlyticsCollectionEnabled = true

נהל נתוני Crash Insights

Crash Insights עוזר לך לפתור בעיות על ידי השוואת מעקבי הערימה האנונימיים שלך לעקבות מאפליקציות Firebase אחרות ומודיע לך אם הבעיה שלך היא חלק ממגמה גדולה יותר. עבור בעיות רבות, Crash Insights אפילו מספק משאבים שיעזרו לך לנפות באגים בקריסה.

Crash Insights משתמש בנתוני קריסה מצטברים כדי לזהות מגמות יציבות נפוצות. אם אתה מעדיף לא לשתף את הנתונים של האפליקציה שלך, תוכל לבטל את הסכמתך ל-Cash Insights מתפריט Crash Insights בראש רשימת הבעיות של Crashlytics במסוף Firebase .