コンソールへ移動

Firebase Crashlytics を使ってみる

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

ios

android

unity [ベータ版]

準備

ios

Crashlytics を設定する前に、Firebase を使用するように iOS アプリを登録して構成する必要があります。

  • iOS アプリですでに Firebase を使用している場合、この登録と構成はすでに行われています。

  • iOS アプリがない場合は、サンプルアプリをダウンロードできます。

Firebase を iOS アプリに追加するには、Firebase コンソールと開いている Xcode プロジェクトの両方でタスクを行う必要があります(コンソールから Firebase 構成ファイルをダウンロードし、それを Xcode プロジェクトに移動するなど)。

Android

Crashlytics を設定する前に、Firebase を使用するように Android アプリを登録して構成する必要があります。

  • Android アプリですでに Firebase を使用している場合、この登録と構成はすでに行われています。

  • Android アプリがない場合は、サンプルアプリをダウンロードできます。

Firebase を Android アプリに追加するには、Firebase コンソールと開いている Android プロジェクトの両方でタスクを行う必要があります(コンソールから Firebase 構成ファイルをダウンロードし、それを Android プロジェクトに移動するなど)。

unity [ベータ版]

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 のいずれのバージョンもインストールされていません)] を選択します。

Step 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 でプロジェクトを開き、ナビゲータでプロジェクト ファイルを選択します。

  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 の場所をビルドフェーズの [Input Files] フィールドに追加します。

    $(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)

SDK をアプリに追加すると、Crashlytics が自動的にクラッシュ レポートをリッスンして収集するようになります。

Android

Android アプリの場合は、AndroidManifest.xml ファイルのフックによって Firebase SDK が自動的に初期化されます。

unity [ベータ版]

  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;
    
                      // 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 [ベータ版]

プロジェクトを 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] に移動します。

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

ios

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

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

android

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

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

次のステップ

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

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