转到控制台

Firebase Crashlytics 使用入门

本快速入门将向您介绍如何设置 Firebase Crashlytics,以便您能够在 Firebase 控制台中获取全面的崩溃报告。

iOS

Android

Unity [测试版]

准备工作

iOS

您必须先注册 iOS 应用并将其配置为使用 Firebase,然后才能设置 Crashlytics。

  • 如果您的 iOS 应用已在使用 Firebase,那么您就已注册该 iOS 应用并已将其配置为使用 Firebase。

  • 如果您没有任何 iOS 应用,可以下载一个示例应用

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

Android

您必须先注册 Android 应用并将其配置为使用 Firebase,然后才能设置 Crashlytics。

  • 如果您的 Android 应用已在使用 Firebase,那么您就已注册该 Android 应用并已将其配置为使用 Firebase。

  • 如果您没有任何 Android 应用,可以下载一个示例应用

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

Unity [测试版]

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

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

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

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

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

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

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

  3. 点击设置 Crashlytics

  4. 选择此应用是第一次安装 Crashlytics(它没有安装过此 SDK 的任何版本)

第 2 步:添加 Crashlytics SDK

iOS

首先,请将 Crashlytics SDK 框架文件添加到您项目的 Xcode 工作区。对于大多数项目,最简单的方法是添加 Crashlytics CocoaPods。但是,如果您的项目不支持 CocoaPods,您也可以手动添加文件。

Android

  1. 在项目级 build.gradle 中,将您的 google-services 更新到 3.1.2 或更高版本,然后添加 Crashlytics 代码库和依赖项:

    buildscript {
        repositories {
            // ...
    
            // Add repository
            maven {
               url 'https://maven.fabric.io/public'
            }
        }
        dependencies {
            // ...
    
            // Check for v3.1.2 or higher
            classpath 'com.google.gms.google-services:4.2.0'
    
            // Add dependency
            classpath 'io.fabric.tools:gradle:1.26.1'
        }
    }
    
    allprojects { // ... repositories { // ... // Check that you have the following line (if not, add it): google() // Google's Maven repository // ... } }

  2. 在应用级 build.gradle 中,将 firebase-core 更新到 v11.4.2 或更高版本,然后添加 Crashlytics 依赖项:

    apply plugin: 'com.android.application'
    apply plugin: 'io.fabric'
    
    dependencies { // ... // Check for v11.4.2 or higher implementation 'com.google.firebase:firebase-core:16.0.8' // Add dependency implementation 'com.crashlytics.sdk.android:crashlytics:2.9.9' }

将 SDK 添加到您的应用后,Crashlytics 会自动开始监听并收集崩溃报告。

Unity [测试版]

  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

iOS

您已添加的框架中还包括一个用来初始化 Crashlytics 的运行脚本。请将其添加到您的项目的构建阶段:

  1. 在 Xcode 中打开您的项目,然后在 Navigator 中选择其项目文件。

  2. Select a project or target 下拉菜单中选择您的主要编译目标。

  3. 打开该目标的 Build Phases 标签。

  4. 点击 + Add a new build phase,然后选择 New Run Script Phase

  5. 将下面这行代码添加到 Type a script 文本框中:

    CocoaPods 安装
    "${PODS_ROOT}/Fabric/run"
    手动安装
    "${PROJECT_DIR}/Fabric.framework/run"

  6. 仅限 Xcode 10:将应用的已编译 Info.plist 位置添加到 Build Phase 的 Input Files 字段中:

    $(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)

将 SDK 添加到您的应用后,Crashlytics 会自动开始监听并收集崩溃报告。

Android

对于 Android 应用,AndroidManifest.xml 文件中的钩子会自动初始化 Firebase SDK。

Unity [测试版]

  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;
    
                      // WARNING: Do not call Crashlytics APIs from asynchronous tasks;
                      // they are not currently supported.
    
                      // 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 步:构建或运行您的项目

iOS

运行您的应用,以便向 Firebase 发送验证,证实您已成功集成 Firebase。

您的设备日志将显示初始化已完成的 Firebase 验证。

Android

运行您的应用,以便向 Firebase 发送验证,证实您已成功集成 Firebase。

您的设备日志将显示说明初始化已完成的 Firebase 验证信息。如果您在具有网络访问权限的模拟器上运行应用,Firebase 控制台会通知您应用连接已完成。

Unity [测试版]

将您的项目导出到 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

观看视频教程

iOS

如需详细的 Crashlytics 上手指南,请观看以下视频教程:

您可以通过 Firebase 在 YouTube 上的频道找到更多视频。

Android

如需详细的 Crashlytics 上手指南,请观看以下视频教程:

您可以通过 Firebase 在 YouTube 上的频道找到更多视频。

后续步骤

  • 测试您的实现 - 强制让崩溃发生以便在 Firebase 控制台中生成崩溃报告,从而测试您的 Crashlytics 设置。

  • 自定义崩溃报告 - 在您添加 SDK 后,Crashlytics 就会立即自动开始收集崩溃报告,但您也可以通过添加自选式报告、日志、键甚至跟踪非严重错误来自定义您的设置。