Firebase Crashlytics 使用入门

此快速入门介绍了如何使用 Firebase Crashlytics SDK 在应用中设置 Firebase Crashlytics,以便您可以在 Firebase 控制台中获得全面的崩溃报告。

准备工作

您必须先注册 Unity 项目并将其配置为使用 Firebase,然后才能设置 Crashlytics

  • 如果您的 Unity 项目已使用 Firebase,则表示您已为 Firebase 注册和配置了该项目。

  • 如果您没有 Unity 项目,则可以下载示例应用

    请注意,将 Firebase 添加到 Unity 项目需要在 Firebase 控制台中和打开的 Unity 项目中执行若干任务(例如,从控制台下载 Firebase 配置文件,然后将配置文件转移到 Unity 项目中)。

第 1 步:在 Firebase 控制台中设置 Crashlytics

  1. Firebase 控制台的左侧导航面板中点击 Crashlytics

  2. 如果您的 Firebase 项目中注册了多个应用,请从控制台顶栏中的 Crashlytics 旁边的下拉列表中选择刚刚添加的应用。

  3. 点击添加 SDK

第 2 步:将 Firebase Crashlytics 添加到您的应用

  1. 下载 Firebase Unity SDK,然后将其解压缩到方便的位置。

    Firebase Unity SDK 不专用于特定平台。

  2. 在您打开的 Unity 项目中,依次转到 Assets > Import Package > Custom Package

  3. 从解压缩后的 SDK 中,选择导入 Analytics SDK (FirebaseCrashlytics.unitypackage)。

    您也可以导入其他任何受支持的 Firebase 产品

  4. 在“Import Unity Package”窗口中,点击 Import

第 3 步:初始化 Crashlytics

  1. 创建一个新的 C# 脚本,然后将其添加到场景中的 GameObject

    1. 打开您的第一个场景,然后创建一个名为 CrashlyticsInitializer 的空 GameObject

    2. 在新对象的 Inspector 中点击 Add Component

    3. 选择 CrashlyticsInit 脚本以将其添加到 CrashlyticsInitializer 对象中。

  2. 在该脚本的 Start 方法中初始化 Crashlytics:

    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()
        // ...
    }

添加并初始化 SDK 后,Crashlytics 就会立即自动开始侦听并收集崩溃报告。

第 4 步:运行项目

将您的项目导出到 iOSAndroid 后,请验证该项目已正确导出。

如果在将您的项目与下面的示例导出配置进行比较后似乎缺少文件,请打开 Unity 编辑器,然后运行 Google Play Services Resolver

iOS

Android

运行解析器(可选)

Google Play Services Resolver 可确保您的 Unity 项目具有将应用导出到 iOSAndroid 的相应依赖项。

如需详细了解该解析器,请访问 Unity Jar Resolver 的 README 文件。

iOS

iOS Resolver 会自动运行,并利用 Cocoapods 将 iOS 依赖项放入导出的 Pods 目录中。

  • 如需将 CocoaPods 下载到您的机器,请执行以下操作:

    • 依次转到 Assets > Play Services Resolver > iOS Resolver > Install Cocoapods
  • 如需允许或禁止生成 Podfile(可选),请执行以下操作:

    • 依次转到 Assets > Play Services Resolver > iOS Resolver > Settings

Android

Android Resolver 会自动运行,并利用 gradle 将 Android 依赖项放入 Assets/Plugins/Android 中。

  • 要手动运行该解析器,请执行以下操作:

    • 依次转到 Assets > Play Services Resolver > Android Resolver > Resolve
  • 如需启用或停用自动解析(默认启用),请执行以下操作:

    • 依次转到 Assets > Play Services Resolver > Android Resolver > Settings

后续步骤