firebase crash reporting とは?
- firebaseの機能の一つ
- どこでクラッシュが発生したかレポートにしてくれる
アカウントセットアップ
firebaseでアカウント登録、アプリ登録し、firebase consoleが見れる状態にしておく
cocoapods
pod 'Firebase/Crash'
Podfileに追記し、 pod installする
import
objc
@import Firebase;
// または
#import <Firebase/Firebase.h>
swift
import Firebase
サービスアカウント設定
firebase consoleで歯車アイコン>サービスアカウント>クラッシュレポートを選択
新しい秘密鍵を生成を押すと、jsonファイルがDLされるので、そのファイルをxcode projectのあるディレクトリに移動させる
run script設定
- xcodeでrunscriptを追加する
# Replace this with the GOOGLE_APP_ID from your GoogleService-Info.plist file
GOOGLE_APP_ID=1:my:app:id #←書き換える
# Replace the /Path/To/ServiceAccount.json with the path to the key you just downloaded
"${PODS_ROOT}"/FirebaseCrash/upload-sym "/Path/To/ServiceAccount.json" # ← さっき移動したファイルのファイル名にする(proj直下なら/Path/To/は不要のはず
テスト
appdelegate内などで、
# for objc
assert(false);
# for swift
fatalError()
を実行し、わざとクラッシュさせる
ログを確認
2017-02-27 16:38:49.997 futaba[1734] <Debug> [Firebase/Core][I-COR000018] Already sending logs.
問題なさそう
🔺のクラッシュログをfirebaseのコンソールから確認することはできなかったが、リリース後コンソールを見てみると
きちんと集計されていた
Firebase Analyticsでもデータを集計していると、ユーザがどういう行動をした結果クラッシュしたかまでデータをマッチングさせて表示してくれる
これは便利!