Начать работу с 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: Включить Crashlytics в консоли Firebase

  1. Перейти к приборной панели Crashlytics в консоли Firebase.

  2. Убедитесь , что ваше приложение выбрано из выпадающего списка рядом с Crashlytics в верхней части страницы.

  3. Нажмите кнопку Включить Crashlytics.

Шаг 2: Добавьте Firebase Crashlytics SDK для вашего приложения

  1. Скачать Unity SDK Firebase , а затем распаковать SDK где - то удобно.

    SDK Firebase Unity не зависит от платформы.

  2. В открытом проекте Unity, перейдите в Assets> Import Package> Индивидуальный пакет.

  3. Из распакованной SDK, выберите импортировать Crashlytics SDK ( FirebaseCrashlytics.unitypackage ).

    Вы можете импортировать любой другой поддерживаемый Firebase продукта , а также.

  4. В окне Import Unity Package, нажмите кнопку Импорт.

Шаг 3: Initialize 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. После завершения экспорта убедитесь, что проект экспортирован правильно, сравнив экспортированный проект с примерами конфигураций экспорта ниже.

    Если после сравнения вашего проекта кажется, что файлы отсутствуют, откройте редактор Unity, затем запустите Google Play Services Resolver (см. Инструкции ниже).

    iOS

    Android

Запустите распознаватель , если отсутствуют файлы после экспорта случае необходимости)

Резольверы сервисов Google Play гарантируют, что ваш проект Unity имеет соответствующие зависимости для экспорта вашего приложения в iOS или Android. Для получения более подробной информации о распознавателе, посетите README для Jar резольвера Unity .

Шаг 5: Force краш - тест , чтобы завершить установку

Чтобы завершить настройку Crashlytics и увидеть исходные данные на панели инструментов Crashlytics консоли Firebase, вам необходимо вызвать тестовый сбой.

  1. Из иерархии окна, создать новый объект:

    1. Щелкните правой кнопкой мыши и выберите Создать Пустое , чтобы добавить новую пустую GameObject на сцену в вашей игре.

    2. Назовите новый объект CrashlyticsTester .

    3. Убедитесь , что CrashlyticsTester объект выбран , прежде чем продолжить.

  2. На вкладке инспектора, добавить новый скрипт , который будет вызывать краш - тест через несколько секунд после того, как вы запустите приложение:

    1. Нажмите кнопку Добавить компонент.

    2. Выберите New Script в нижней части списка компонентов.

    3. Назовите новый сценарий CrashlyticsTester , а, затем добавьте следующее содержимое сценария:

      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");
              }
          }
      }
      
  3. Создайте и запустите свое приложение:

    1. Перейти к Файл> Построить Настройка, а затем выбрать либо Android или IOS из списка платформ.

    2. Нажмите построить и запустить приложение для прошивки или Android.

  4. После того, как ваше приложение работает, смотрите журнал устройство и ждать исключения триггера от CrashlyticsTester .

    • IOS: Просмотр журналов в нижней панели Xcode.

    • Android: Просмотр журналов, выполнив следующую команду в терминале: adb logcat .

  5. Когда вы видите исключение в журнале своего устройства, перезапустите приложение, чтобы оно могло отправить отчет о сбое в Firebase.

  6. Перейти к приборной панели Crashlytics консоли Firebase увидеть краш - тест.

    Если вы обновили консоль , и вы все еще не видите краш - тест через пять минут, включить ведение журнала отладки , чтобы увидеть , если ваше приложение отправляет отчеты об ошибках.


Вот и все! Crashlytics теперь отслеживает сбои в вашем приложении, и вы можете просматривать и исследовать отчеты о сбоях и статистику на панели мониторинга Crashlytics.

Следующие шаги