Crashlytics 実装のテスト

強制的にクラッシュさせて実装状況をテストする

  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 reports 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. アプリをビルドし、ビルドの完了後にシンボル情報をアップロードします。

    • iOS+: Firebase Unity Editor プラグインが、シンボル ファイルをアップロードするように Xcode プロジェクトを自動的に構成します。

    • Android: IL2CPP を使用する Android アプリの場合は、Firebase CLI crashlytics:symbols:upload コマンドを実行して、シンボル ファイルをアップロードします。

  3. アプリを実行します。アプリを実行したら、デバイスログを監視し、CrashlyticsTester で例外がトリガーされるのを待ちます。

    • iOS+: Xcode の下部ペインでログを確認します。

    • Android: ターミナルで adb logcat コマンドを実行してログを確認します。

  4. Firebase コンソールの Crashlytics ダッシュボードに移動して、テスト クラッシュを確認します。

コンソールを更新し、5 分経過してもテスト クラッシュが表示されない場合は、デバッグ ロギングを有効にしてみてください(次のセクション)。

Crashlytics のデバッグ ロギングを有効にする

Crashlytics ダッシュボードにテスト クラッシュが表示されない場合は、Crashlytics のデバッグ ロギングが問題解決に役立ちます。

  1. アプリの初期化の部分に次のコードを追加して、Firebase のデバッグ ロギングを有効にします。

    Firebase.FirebaseApp.LogLevel = Firebase.LogLevel.Debug;
  2. 強制的にテスト クラッシュを発生させます。この方法については、このページの最初のセクションで説明しています。

5 分経過しても Firebase からのログが表示されない場合、または Firebase コンソールの Crashlytics ダッシュボードにテスト クラッシュが表示されない場合は、Firebase サポートにお問い合わせください。その際に、詳細なトラブルシューティングに役立つログ出力のコピーをご提出ください。

次のステップ