【LT】AndroidでCrashlyticsをFabricからFirebaseに移行する際の注意点


リモートLTのYouTube(クリックで再生, 日本語/英語字幕あり)

はじめに

Fabric SDKがアプリのクラッシュを報告するのは 2020年11月15日 までとなります。
なぜかというと大人の事情です。
FabricはFirebaseに買収され、今年の3月にサポート終了していました。

大人の事情まとめ(FirebaseとCrashlyticsの歴史)

2011年 James TamplinさんとAndrew LeeさんがFirebase設立
2011年 Wayne ChangさんとJeff SeibertさんがCrashlytics設立
2013年 TwitterがCrashlyticsを買収
2014年 GoogleがFirebaseを買収
2014年 CrashlyticsがモバイルプラットフォームSDKのFabric発表
       (TwitterKit, Crashlytics, MoPub)
2017年 GoogleがTwitterからFabricを買収
       Firebase Crash Reportingは廃止
2018年 Fabricが移行ロードマップ公開
2020年 3月31日Fabricのサポート終了
2020年 11月15日にFabric SDKのCrashlytics機能停止

移行方法

11月以降もクラッシュを表示するにはCrashlyticsを以下バージョンに上げる必要があります。

Android: 17.0.0+
iOS: 4.0.0+
Unity: 6.15.0+

公式の移行ドキュメントは以下となります。

Firebase Crashlytics SDK にアップグレードする
https://firebase.google.com/docs/crashlytics/upgrade-sdk?platform=Android

Androidで対応したときに得た注意点を共有します。

注意点1: 英語のドキュメントを見る

Firebase Crashlytics SDK にアップグレードする
https://firebase.google.com/docs/crashlytics/upgrade-sdk?platform=Android

移行ドキュメントはAndroidを選択してもAndroidのドキュメントは表示されません。
解決するには右上のプルダウンからEnglishを選択して英語版を読んでください。

注意点2: Crashlyticsの移行ドキュメントと導入ドキュメントを両方見る

アップグレードのドキュメントのみではわからないことがあります。

Get started with Firebase Crashlytics
https://firebase.google.com/docs/crashlytics/get-started?platform=android

上記の導入ドキュメントでは google-service のバージョン指定があります。また、Kotlinを使っている方はfirebase-analytics-ktxのことについて触れられています。こちらを一読してから対応したほうが良さそうです。

  • com.google.gms:google-services:4.3.2+
  • firebase-analytics-ktx

注意点3: Android Studio3.2ではだめ(かも)

注意点2の通り、新しいCrashlyticsでは google-service:4.3.2が必要ですが、
com.android.tools.build:gradle:3.2.1 では動作しませんでした。

(自分の環境だけかもしれませんが)最低でもAndroid Studio 3.3で作業したほうが良さそうです。

移行作業

基本的に移行ドキュメントの通り行うと完了します。
NDKを使用していたり、コード上でCrashlyticsを呼んでいる場合は追加の対応が必要となります。

最低限の移行作業はYouTube内で行いました。
移行作業がまったくわからんという方は参考にしてみてください。

おわり