Google 致力于为黑人社区推动种族平等。查看具体举措

Firebase Crashlytics 使用入门

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

准备工作

  1. 为您的 Unity 项目添加 Firebase(如果尚未添加)。如果您没有 Unity 项目,可以下载示例应用

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

  2. 建议做法:若要使用“未遇到崩溃问题的用户”、“面包屑导航日志”和“疾速崩溃提醒”等功能,您需要在 Firebase 项目中启用 Google Analytics(分析)。

    • 如果您的现有 Firebase 项目未启用 Google Analytics(分析),您可以访问 Firebase 控制台,依次点击”>“项目设置”,然后在集成标签页中启用 Google Analytics(分析)。

    • 如果您要创建新的 Firebase 项目,请在项目创建工作流内启用 Google Analytics(分析)。

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

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

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

  3. 点击启用 Crashlytics

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

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

    Firebase Unity SDK 不局限于特定平台。

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

  3. 从解压缩后的 SDK 中,选择导入 Crashlytics 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 的自述文件。

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

第 5 步:强制造成一次测试崩溃以完成设置

若要完成 Crashlytics 设置并在 Firebase 控制台的 Crashlytics 信息中心内查看初始数据,您需要强制造成一次测试崩溃。

若要详细了解如何执行此操作,请参阅测试您的实现

后续步骤