Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

開始使用 Firebase Crashlytics

本快速入門介紹瞭如何使用 Firebase Crashlytics SDK 在您的應用中設置 Firebase Crashlytics,以便您可以在 Firebase 控制台中獲得全面的崩潰報告。

設置 Crashlytics 需要在 Firebase 控制台和您的 IDE 中執行任務(例如添加 Firebase 配置文件和 Crashlytics SDK)。要完成設置,您需要強制進行測試崩潰以將您的第一個崩潰報告發送到 Firebase。

在你開始之前

  1. 如果你還沒有,添加火力地堡到您的統一項目。如果你沒有一個統一的項目,你可以下載一個示例應用程序

  2. 建議:為了讓喜歡自由碰撞用戶,麵包屑日誌和警報速度的功能,您需要啟用谷歌Analytics(分析)在您的火力地堡項目。

    • 如果現有的火力地堡的項目沒有啟用谷歌分析,您可以啟用谷歌Analytics(分析) 集成選項卡中的 >項目設置在火力地堡控制台。

    • 如果您要創建新的 Firebase 項目,請在項目創建工作流程中啟用 Google Analytics。

第1步:在火力地堡控制台啟用Crashlytics

  1. 轉至Crashlytics儀表盤在火力地堡控制台。

  2. 請確保您的應用程序從下拉列表中選擇旁邊Crashlytics在頁面的頂部。

  3. 單擊啟用Crashlytics。

第2步:添加火力地堡Crashlytics SDK到您的應用

請注意,當您向 Firebase 項目註冊 Unity 項目時,您可能已經下載了 Firebase Unity SDK 並添加了 Crashlytics 包。

  1. 下載火力地堡統一SDK ,然後解壓縮SDK方便的地方。

    Firebase Unity SDK 不是特定於平台的。

  2. 在打開的團結項目,導航到資產>導入包>自定義套餐

  3. 從解壓縮後的SDK,選擇要導入的Crashlytics SDK( FirebaseCrashlytics.unitypackage )。

    您可以導入任何其他支持的火力地堡的產品,以及。

  4. 導入統一包窗口,單擊導入

步驟3:初始化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()
        // ...
    }

第4步:運行項目

  1. 將您的項目導出到 iOS 或 Android。

  2. 導出完成後,通過將導出的項目與下面的示例導出配置進行比較來驗證項目是否正確導出。

    iOS

    安卓

  3. 如果在比較您的項目後似乎缺少文件:打開您的 Unity 編輯器,然後運行 Google Play 服務解析器(找到下面的說明)。

(根據需要)運行的解析器,如果文件導出後失踪

Google Play 服務解析器確保您的 Unity 項目具有適當的依賴項,以便將您的應用程序導出到 iOS 或 Android。有關解析器的更多信息,請訪問該自述統一罐解析器

第5步:強制碰撞試驗,完成安裝

要完成 Crashlytics 的設置並在 Firebase 控制台的 Crashlytics 儀表板中查看初始數據,您需要強制進行測試崩潰。

  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. 構建並運行您的應用程序。

  3. 一旦你的應用程序正在運行,看設備日誌,並等待來自該異常觸發CrashlyticsTester

    • iOS版:查看日誌在Xcode的底部窗格中。

    • 機器人:查看記錄在終端運行下面的命令: adb logcat

  4. 當您在設備日誌中看到異常時,請重新啟動您的應用,以便它可以將崩潰報告發送到 Firebase。

  5. 轉至Crashlytics儀表盤的火力地堡控制台上看到你的測試崩潰。

    如果您刷新控制台,您還是看不到五分鐘後測試崩潰,啟用調試日誌記錄,看看你的應用正在發送崩潰報告。


就是這樣! Crashlytics 現在正在監控您的應用程序是否發生崩潰,您可以在 Crashlytics 儀表板中查看和調查崩潰報告和統計信息。

下一步