Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

התחל עם Firebase Crashlytics

קל לארגן דפים בעזרת אוספים אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.

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

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

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

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

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

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

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

שלב 1 : הוסף את ה-SDK של Crashlytics לאפליקציה שלך

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

  1. הורד את Firebase Unity SDK ולאחר מכן פתח את ה-SDK במקום נוח.

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

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

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

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

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

שלב 2 : אתחול Crashlytics

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

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

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

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

  2. אתחול 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()
        // ...
    }

שלב 3 : (אנדרואיד בלבד) הגדר להעלאת סמלים

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

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

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

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

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

  1. עקוב אחר ההוראות להתקנת Firebase CLI .

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

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

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

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

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

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

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

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

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

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

דְמוּי אָדָם

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

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

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

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

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

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

      • מיוצא לפרויקט Android Studio — PATH/TO/SYMBOLS היא unityLibrary/symbols , שנוצרת בשורש הפרויקט המיוצא לאחר בניית האפליקציה דרך Gradle או Android Studio.

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

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

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

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

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

    --generator=breakpad

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

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

    --dry-run

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

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

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

שלב 5 : כפה קריסת בדיקה כדי לסיים את ההגדרה

כדי לסיים את הגדרת 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 Unity Editor מגדיר באופן אוטומטי את פרויקט ה-Xcode שלך ​​כדי להעלות את קובץ הסמלים שלך.

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

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

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

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

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

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

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


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

הצעדים הבאים

  • שלב עם Google Play כך שתוכל לסנן את דוחות הקריסה של אפליקציית Android שלך לפי מסלול Google Play ישירות במרכז השליטה של ​​Crashlytics. זה מאפשר לך למקד טוב יותר את לוח המחוונים שלך בבנייה ספציפית.