Firebase Crash Reporting から Firebase Crashlytics にアップグレードする

iOS
android

Crashlytics は Firebase の新しい主要なクラッシュ レポート機能です。アプリで Firebase Crash Reporting を使用している場合、これまでとほぼ同じセットアップ プロセスで Crashlytics の拡張されたクラッシュ レポート機能を利用できます。そのためアップグレードは次のように簡単なものになっています。

  1. プロジェクトの依存関係を更新します。
  2. ログ呼び出しがある場合は、それらを移行します。
  3. 手動初期化を使用している場合は、それを設定します。

プロジェクトの依存関係を更新する

iOS

Firebase Crashlytics 用にアプリの依存関係を更新するには、Crashlytics のポッドファイルとビルドフェーズ スクリプトを入れ替えます。

  1. プロジェクトの Podfile を開きます。
  2. Firebase Crash Reporting ポッド pod 'Firebase/Crash' を Firebase Core ポッドと Crashlytics ポッドで置き換えます。
    pod 'Firebase/Core'
    pod 'Fabric', '~> 1.7.2'
    pod 'Crashlytics', '~> 3.9.3'
  3. ターミナルで、プロジェクト ディレクトリに移動し、ポッドをインストールします。
    pod install
  4. Firebase Crash Reporting ビルドフェーズ "${PODS_ROOT}"/FirebaseCrash/upload-sym を Crashlytics ビルドフェーズで置き換えます。
    "${PODS_ROOT}/Fabric/run"
android

Firebase Crashlytics 用にアプリの依存関係を更新するには、アプリレベルの build.gradle に次の変更を加えます。

apply plugin: 'com.android.application'
/* Add the Fabric plugin: */
apply plugin: 'io.fabric'

dependencies {
    // ...

    /* Delete Crash Reporting:
    compile 'com.google.firebase:firebase-crash:11.4.2'

    Add Crashlytics: */
    compile 'com.crashlytics.sdk.android:crashlytics:2.9.1'
}
注: 完全な機能を使用するには、Crashlytics で firebase-core バージョン 11.4.2 以降を使用する必要があります。

ログを移行する

Firebase Crash Reporting カスタムログを使用している場合は、Firebase Crashlytics のカスタムログも更新する必要があります。

iOS
Firebase Crash Reporting Firebase Crashlytics
Objective-C Swift Objective-C & Swift
FIRCrashLog CLSLog
FIRCrashLogv CLSLogv
FIRCrashMessage FirebaseCrashMessage CLSLog
FIRCrashNSLog CLSNSLog
FIRCrashNSLogv FirebaseCrashNSLogv CLSNSLogv
android
Firebase Crash ReportingFirebase Crashlytics
FirebaseCrash.log() Crashlytics.log()
FirebaseCrash.logcat() Crashlytics.log()
FirebaseCrash.report() Crashlytics.logException()

手動初期化を設定する

Firebase Crash Reporting と同様に、Firebase Crashlytics SDK をアプリに追加するとすぐに Crashlytics が自動的に初期化されます。レポートを手動で初期化する場合、Crashlytics にはそのための手段もあります。

iOS
  1. Info.plist ファイルの新しいキーを使用して自動収集を無効にします。
    • キー: firebase_crashlytics_collection_enabled
    • 値: false
  2. Crash Reporting の初期化呼び出しを Crashlytics の初期化呼び出しで置き換えます。
    Objective-C
    /* Delete Crash Reporting:
    [FIRCrash crashCollectionEnabled:YES];
    
       Add Crashlytics: */
    [Fabric with:@[[Crashlytics class]]];
    Swift
    /* Delete Crash Reporting:
    Crash.sharedInstance().isCrashCollectionEnabled = true
    
       Add Crashlytics: */
    Fabric.with([Crashlytics.self])
android
  1. AndroidManifest.xml ファイル内で、Firebase Crash Reporting の meta-data タグを Crashlytics のもので置き換えます。
    <!-- Delete Crash Reporting:
    <meta-data android:name="firebase_crash_collection_enabled" android:value=false />
    
         Add Crashlytics: -->
    <meta-data android:name="firebase_crashlytics_collection_enabled" android:value="false" />
  2. 関連するアクティビティでも初期化呼び出しを置き換えます。
    /*   Delete Crash Reporting:
    FirebaseCrash.setCrashCollectionEnabled(true);
    
         Add Crashlytics: */
    Fabric.with(this, new Crashlytics());
注: 初期化が完了すると、Crashlytics はユーザーがアプリを閉じるまでクラッシュの報告を続行します。Crashlytics の初期化後、ユーザーにレポートをオプトアウトするオプションを与える場合、ユーザーがアプリを再起動しなければこの変更は有効になりません。

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

ご不明な点がありましたら、Google のサポートページをご覧ください。