エラーの発生を報告する

Firebase Crash Reporting は、アプリで発生したエラーの詳細レポートを作成します。 エラーは類似したスタック トレースのクラスタにグループ化され、ユーザーに与える影響の大きさで優先順位付けされます。自動レポートのほかに、カスタム イベントをログに記録して、問題発生にいたる過程の把握に役立てることができます。

Crash Reporting を設定する

アプリで Crash Reporting を設定するには:

  1. Firebase SDK をインストールします。
  2. Firebase console でアプリを Firebase プロジェクトに追加します。
  3. Firebase Crash Reporting の依存関係を podfile に追加します。
    pod 'Firebase/Crash'

シンボル ファイルをアップロードする

人が理解できる形式のクラッシュ レポートを表示するためには、各ビルドの後にシンボル ファイルをアップロードする必要があります。これは実行スクリプトを Xcode に追加することで自動的に実行できます。

  1. アップロードを認証するためのサービス アカウント キーを次の手順でダウンロードします。
    1. Firebase console に移動して Firebase プロジェクトを開きます。
    2. [設定] をクリックして [権限] を選択します。
    3. [権限] ページの左側のメニューから [サービス アカウント] を選択します。
    4. [サービス アカウントを作成] をクリックします。
    5. サービス アカウントに「Symbol Upload service account」という名前を付けます。
    6. [新しい秘密鍵の提供] チェックボックスをオンにします。
    7. 鍵のタイプとして [JSON] を選択します。
    8. [作成] をクリックすると、必要な鍵を含む JSON ファイルが自動的にダウンロードされます。
  2. サービス アカウントに書き込み権限があることを次の手順で確認します。
    1. [権限] ページの左側のメニューから [IAM] を選択します。
    2. 検索ボックスに「Symbol Upload」と入力します。
    3. 「Symbol Upload service account」には、少なくとも編集者の役割が必要です。
  3. 次のようにして、シンボル ファイルのアップロード スクリプトを追加します。
    1. Xcode でアプリのターゲットをクリックして [ビルドフェーズ] を選択し、[+] をクリックしてフェーズを追加します。
    2. [スクリプトを実行] を選択して次の内容を追加し、「JSON_FILE」と「GOOGLE_APP_ID」に適切な値を設定します。
      # Replace this path with the path to the key you just downloaded
      JSON_FILE=Path/To/ServiceAccount.json
      
      # Replace this with the GOOGLE_APP_ID from your GoogleService-Info.plist file
      GOOGLE_APP_ID=1:my:app:id
      
      defaults write com.google.SymbolUpload version -integer 1   # creates file if it does not exist
      JSON=$(cat "${JSON_FILE}")
      /usr/bin/plutil -replace "app_${GOOGLE_APP_ID//:/_}" -json "${JSON}" "$HOME/Library/Preferences/com.google.SymbolUpload.plist"
      "${PODS_ROOT}"/FirebaseCrash/upload-sym
              

最初のエラーを作成する

  1. AppDelegate の didFinishLaunchingWithOptions メソッドに assert を追加して、 アプリ起動時の Firebase 初期化呼び出しの直後に エラーを発生させます。

Objective-C

assert(false);

Swift

fatalError()

  1. アプリを Xcode から起動します。
  2. Xcode で [Stop] をクリックして、デバッガとの接続を解除します。
  3. 端末またはエミュレータのホーム画面からアプリを直接起動します。
  4. アプリでエラーが発生するのを待ちます。
  5. アプリが正常に起動するように、クラッシュする行を削除します。
  6. Xcode でもう一度クイックスタートを実行します。レポートが正常にアップロードされたことを示すログ メッセージが 15 秒以内に表示されます。
  7. エラーが Firebase console の Crash Reporting ダッシュボードに表示されるには、20 分程度かかります。

カスタムログを作成する

FIRCrashLog() を使用して、クラッシュ レポートに含めるカスタムログ メッセージを作成できます。次の例はログ メッセージの作成方法を示しています。

Objective-C

FIRCrashLog(@"Cause Crash button clicked");
assert(NO);

Swift

FIRCrashMessage("Cause Crash button clicked")
fatalError()

既知の問題

端末のモデルは、エラーレポートに表示されない場合があります。これは、今後のポッドの 更新で対処されます。

フィードバックを送信...