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 в вашем приложении с помощью 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 для вашего приложения

Обратите внимание, что когда вы зарегистрировали свой проект Unity в своем проекте Firebase, вы, возможно, уже загрузили Firebase Unity SDK и добавили пакет Crashlytics.

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

    iOS

    Android

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

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

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

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

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

  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.

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

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

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

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


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

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