Catch up on everthing we announced at this year's Firebase Summit. Learn more

התחל בעבודה עם Creblytics של Firebase

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

הגדרת Crashlytics דורשת משימות הן במסוף Firebase והן ב-IDE שלך (כמו הוספת קובץ תצורה של Firebase ו-Crashlytics SDK). כדי לסיים את ההגדרה, תצטרך לאלץ קריסת בדיקה כדי לשלוח את דוח הקריסה הראשון שלך ל-Firebase.

לפני שאתה מתחיל

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

  2. מומלץ: כדי לקבל תכונות כמו משתמשי התרסקות ללא, יומני סימני דרך התראות מהירות, אתה צריך להפעיל את Google Analytics בפרויקט Firebase שלך.

    • אם הפרויקט Firebase הקיים שלך אין Google Analytics מופעלת, תוכל להפעיל את Google Analytics מן הכרטיסייה ואינטגרציות של שלך > הגדרות הפרויקט במסוף Firebase.

    • אם אתה יוצר פרויקט Firebase חדש, הפעל את Google Analytics במהלך תהליך העבודה של יצירת הפרויקט.

שלב 1: הפעל Crashlytics במסוף Firebase

  1. עבור אל לוח המחוונים Crashlytics במסוף Firebase.

  2. ודאו שהאפליקציה שלכם נבחרת מתוך התפריט הנפתח לצד Crashlytics בראש הדף.

  3. לחץ אפשר Crashlytics.

שלב 2: מוסיפים את Firebase Crashlytics SDK באפליקציה

שים לב שכאשר רשמת את פרויקט Unity שלך בפרויקט Firebase שלך, ייתכן שכבר הורדת את Firebase Unity SDK והוספת את חבילת Crashlytics.

  1. הורד את ה- SDK האחדות Firebase , אז לפתוח את SDK איפשהו נוח.

    ה-SDK של Firebase Unity אינו ספציפי לפלטפורמה.

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

  3. מתוך SDK רוכסן, ובחר לייבא את ה- SDK Crashlytics ( FirebaseCrashlytics.unitypackage ).

    ניתן לייבא כל האחרים המוצר Firebase נתמך , כמו גם.

  4. בחלון חבילת אחדות ייבוא, לחץ על ייבוא.

שלב 3: Initialize Crashlytics

  1. צור סקריפט # C חדש, ולאחר מכן להוסיף אותו GameObject בסצנה.

    1. פתח הסצינה הראשונה שלך, ולאחר מכן ליצור ריק GameObject בשם CrashlyticsInitializer .

    2. לחץ להוסיף רכיב של המפקח על האובייקט החדש.

    3. בחר שלך CrashlyticsInit סקריפט כדי להוסיף אותו CrashlyticsInitializer האובייקט.

  2. Initialize Crashlytics בבית של תסריט Start שיטה:

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    // Import Firebase
    using Firebase;
    
    public class CrashlyticsInit : MonoBehaviour {
        // Use this for initialization
        void Start () {
            // Initialize Firebase
            Firebase.FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(task => {
                var dependencyStatus = task.Result;
                if (dependencyStatus == Firebase.DependencyStatus.Available)
                {
                    // Create and hold a reference to your FirebaseApp,
                    // where app is a Firebase.FirebaseApp property of your application class.
                    // Crashlytics will use the DefaultInstance, as well;
                    // this ensures that Crashlytics is initialized.
                    Firebase.FirebaseApp app = Firebase.FirebaseApp.DefaultInstance;
    
                    // Set a flag here for indicating that your project is ready to use Firebase.
                }
                else
                {
                    UnityEngine.Debug.LogError(System.String.Format(
                      "Could not resolve all Firebase dependencies: {0}",dependencyStatus));
                    // Firebase Unity SDK is not safe to use here.
                }
            });
        }
    
      // Update is called once per frame
      void Update()
        // ...
    }

שלב 4: (Android בלבד) הגיע הזמן להגדיר להעלאת סמל

השלבים בסעיף זה נדרשים רק עבור אפליקציות אנדרואיד המשתמשות ב-IL2CPP.

  • עבור אפליקציות אנדרואיד המשתמשות ב-Mono scripting backend של Unity, אין צורך בצעדים אלה.

  • עבור אפליקציות פלטפורמת אפל, אין צורך בצעדים אלה מכיוון שהתוסף Firebase Unity Editor מגדיר באופן אוטומטי את פרויקט Xcode שלך ​​להעלאת סמלים.

Crashlytics של האחדות SDK 8.6.1+ אוטומטית כולל דיווח על קריסת NDK, המאפשר Crashlytics לדווח אוטומטית האחדות IL2CPP מתרסק על אנדרואיד. עם זאת, כדי לראות עקבות מחסנית סימבולית עבור קריסות ספריות מקוריות בלוח המחוונים של Crashlytics, עליך להעלות מידע על סמל בזמן הבנייה באמצעות Firebase CLI.

השלם את השלבים הבאים כדי להתקין להעלאת סמלים:

  1. פעל בהתאם להוראות כדי להתקין את Firebase CLI .

    אם כבר התקנת את CLI, הקפד לעדכן לגרסה האחרונה שלה .

  2. (רק עבור אפליקציות המשתמשות רמת API אנדרואיד 30+) עדכון של האפליקציה שלך AndroidManifest.xml תבנית להשבית פוינטר תיוג:

    1. סמן את התיבה עבור הגדרות נגן אנדרואיד> הגדרות פרסום> Build> מניפסט הראשי מותאם אישית.

    2. פתח את תבנית המניפסט הממוקמת Assets/Plugins/Android/AndroidManifest.xml .

    3. להוסיף את התכונה הבאה אל תג יישום: <application android:allowNativeHeapPointerTagging="false" ... />

שלב 5: בניית סימני פרויקט העלאת

iOS + (פלטפורמת Apple)

  1. מן הדו-שיח הגדרות Build, לייצא את הפרויקט אל סביבת העבודה Xcode.

  2. בנה את האפליקציה שלך.

    עבור פלטפורמות אפל, הפלאגין Firebase Unity Editor מגדיר באופן אוטומטי את פרויקט ה-Xcode שלך ​​ליצור ולהעלות קובץ סמלים תואם Crashlytics לשרתי Firebase עבור כל build.

דְמוּי אָדָם

  1. מן הדו-שיח הגדרות בנה, בצע אחת מהפעולות הבאות:

    • ייצא לפרויקט Android Studio כדי לבנות את הפרויקט שלך; אוֹ

    • בנה את ה-APK שלך ישירות מעורך Unity.
      לפני הבניין, לוודא את תיבת הסימון צור symbols.zip נבדקת על-שיח הגדרות בנה.

  2. לאחר שהבנייה שלך תסתיים, צור קובץ סמלים תואם Crashlytics והעלה אותו לשרתי Firebase על ידי הפעלת פקודת Firebase CLI הבאה:

    firebase crashlytics:symbols:upload --app=FIREBASE_APP_ID PATH/TO/SYMBOLS
    • FIREBASE_APP_ID : ID App אנדרואיד Firebase שלך (לא את שם החבילה שלך)
      דוגמה Firebase Android App ID: 1:567383003300:android:17104a2ced0c9b9b

    • PATH/TO/SYMBOLS : הנתיב אל קובץ הסמל שנוצר על ידי CLI

      • מיוצא פרויקט סטודיו אנדרואיד - PATH/TO/SYMBOLS היא unityLibrary/symbols הספרייה, אשר נוצרה שורש הפרויקט יוצא לאחר בונה את האפליקציה באמצעות Gradle או סטודיו אנדרואיד.

      • בנה את APK ישירות מתוך אחדות - PATH/TO/SYMBOLS הם נתיב קובץ הסמל המכווץ שנוצר בספריית שורש הפרויקט כאשר ההצטברות שלך סיימה (למשל: myproject/myapp-1.0-v100.symbols.zip ).

    הצג אפשרויות מתקדמות לשימוש בפקודת Firebase CLI להפקה והעלאה של קבצי סמלים

    דֶגֶל תיאור
    --generator=csym

    משתמש במחולל קבצי סמל cSYM מדור קודם במקום מחולל ברירת המחדל של Breakpad

    לא מומלץ לשימוש. אנו ממליצים להשתמש במחולל ברירת המחדל של סמלים של Breakpad.

    --generator=breakpad

    משתמש במחולל קבצי הסמלים Breakpad

    שים לב שברירת המחדל ליצירת קבצי סמלים היא Breakpad. השתמש רק את הדגל הזה אם שהוספת symbolGenerator { csym() } בתצורת לבנות שלך ואתה רוצה לעקוף אותו להשתמש Breakpad במקום.

    --dry-run

    יוצר את קבצי הסמלים אך אינו מעלה אותם

    דגל זה שימושי אם ברצונך לבדוק את תוכן הקבצים הנשלחים.

    --debug מספק מידע נוסף על ניפוי באגים

שלב 6: חיל התרסקות מבחן כדי לסיים את ההגדרה

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

  1. מצא קיים GameObject , ואז מוסיפים לזה את התסריט הבא. סקריפט זה יגרום לקריסת בדיקה מספר שניות לאחר הפעלת האפליקציה.

    using System;
    using UnityEngine;
    
    public class CrashlyticsTester : MonoBehaviour {
    
        int updatesBeforeException;
    
        // Use this for initialization
        void Start () {
          updatesBeforeException = 0;
        }
    
        // Update is called once per frame
        void Update()
        {
            // Call the exception-throwing method here so that it's run
            // every frame update
            throwExceptionEvery60Updates();
        }
    
        // A method that tests your Crashlytics implementation by throwing an
        // exception every 60 frame updates. You should see non-fatal errors in the
        // Firebase console a few minutes after running your app with this method.
        void throwExceptionEvery60Updates()
        {
            if (updatesBeforeException > 0)
            {
                updatesBeforeException--;
            }
            else
            {
                // Set the counter to 60 updates
                updatesBeforeException = 60;
    
                // Throw an exception to test your Crashlytics implementation
                throw new System.Exception("test exception please ignore");
            }
        }
    }
    
  2. בנה את האפליקציה שלך והעלה מידע על סמלים לאחר סיום הבנייה.

    • iOS +: עורך האחדות Firebase תוסף אוטומטי מגדיר פרויקט Xcode שלך כדי להעלות קובץ הסמל שלך.

    • Android: עבור אפליקציות אנדרואיד שלך המשתמשות IL2CPP, להפעיל את CLI Firebase crashlytics:symbols:upload פקוד להעלות קובץ הסמל שלך.

  3. הפעל את האפליקציה שלך. ברגע שהאפליקציה שלך רצתה, לצפות ביומן המכשיר ולחכות חריג ההדק מן CrashlyticsTester .

    • iOS +: הצגת יומנים בחלונית התחתונה של Xcode.

    • אנדרואיד: להציג יומני ידי הפעלת הפקודה הבאה בטרמינל: adb logcat .

  4. כאשר אתה רואה את החריגה ביומן המכשיר שלך, הפעל מחדש את האפליקציה שלך כדי שתוכל לשלוח את דוח הקריסה ל-Firebase.

  5. עבור אל לוח המחוונים Crashlytics של קונסולת Firebase לראות התרסקות הבדיקה שלך.

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


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

הצעדים הבאים