Firebase Crashlytics を使ってみる

このクイックスタートでは、Firebase コンソールで包括的なクラッシュ レポートを表示できるよう、Firebase Crashlytics をセットアップする方法を説明します。

始める前に

Crashlytics を設定する前に、Firebase を使用するように Unity プロジェクトを登録して構成する必要があります。

  • Unity プロジェクトですでに 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 を追加する

  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. 最初のシーンを開き、空の GameObject を作成します(CrashlyticsInitializer という名前を付けます)。

    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: プロジェクトをビルドまたは実行する

プロジェクトを iOS または Android にエクスポートした後、プロジェクトが正しくエクスポートされていることを確認します。

プロジェクトを以下のサンプル エクスポート構成と比較します。その結果、欠落しているファイルがあるようであれば、Unity エディタを開いて、Google Play 開発者サービス リゾルバを実行します。

iOS

Android

リゾルバを実行する(省略可)

Google Play 開発者サービス リゾルバは、アプリを iOS または Android にエクスポートするのに適切な依存関係が Unity プロジェクトに含まれていることを確認します。

リゾルバの詳細については、Unity Jar Resolver の README をご覧ください。

iOS

iOS リゾルバは自動的に実行され、Cocoapods を使用して iOS の依存関係をエクスポート済みの Pods ディレクトリに格納します。

  • Cocoapods をマシンにダウンロードするには:

    • [Assets] > [Play Services Resolver] > [iOS Resolver] > [Install Cocoapods] に移動します。
  • ポッドファイルの生成を有効または無効にするには(オプション):

    • [Assets] > [Play Services Resolver] > [iOS Resolver] > [Settings] に移動します。

    Android

    Android リゾルバは自動的に実行され、gradle を使用して Android の依存関係を Assets/Plugins/Android に格納します。

  • リゾルバを手動で実行するには:

    • [Assets] > [Play Services Resolver] > [Android Resolver] > [Resolve] に移動します。
  • 自動解決を有効または無効にするには(デフォルトでは有効):

    • [Assets] > [Play Services Resolver] > [Android Resolver] > [Settings] に移動します。

動画チュートリアルを視聴する

Crashlytics を使用する際の詳しいガイダンスについては、以下の動画チュートリアルをご覧ください。

Firebase の YouTube チャンネルにはさらに多くの動画があります。

次のステップ

  • 実装をテストする - 強制的にクラッシュさせて Firebase コンソールでクラッシュ レポートを生成することにより、Crashlytics の設定をテストします。

  • クラッシュ レポートをカスタマイズする - SDK を追加すると、Crashlytics は直ちに自動的にクラッシュ レポートの収集を開始しますが、設定をカスタマイズして、オプトインのレポート、ログ、キーの追加や、重大でないエラーの追跡もできます。