Firecastにようこそ
ダグ・スティーブンソンです
Firebase Crash Reportingで
あなたのAndroidアプリのエラーの モニタリングを開始しましょう
時間をかけてAndroid アプリの
開発やテストをしてから
Play Storeで公開したと 想像してみてください
ユーザーにはあなたのアプリで
最高のユーザー体験をしてほしいですよね
もし 問題が生じるような バグがあれば
すみやかに修正したいものです
そのためには Firebase Crash Reporting SDKを
アプリ公開前に設定しましょう
一行でできます
まだ Firebaseを 統合していなければ
まずこの動画を見て始めてください
次にここで Firebase Crash Reportingを
使いましょう
私はFirebaseを使用している アプリがありますので
それにCrash Reportingを 統合します
私のアプリの build.gradleを開いて
プロジェクトレベルのdependencies ブロックを探します
Firebase Crash Reportingに 依存関係を追加します
この撮影時の 最新版は 10.0.1です
最新版を使ってください
そして プロジェクトを同期させます
これで終わり
アプリのエラー時の 記録だけでいいなら
依存関係を追加するだけです
コードを何も書き加えなくても
機能するんです
アプリをクラッシュさせる例外があると
その例外のフルスタックを受け取り
Firebase consoleで トレースできます
この改善には
Crash Reporting APIを使って
コードを数行追加するだけです
例えば エラーリポートに表示される
メッセージを記録できるので
エラー発生前はどうなっていたかの
コンテキストが得られます
取り扱い方がわからない例外を みつけたら
例外を報告できます
これらはコンソールで 致命的でないエラーとして表示されます
普通報告しなくてもいいのですが
思いがけない問題を
診断するのに便利です
これらのコールを追加します
まず メッセージを記録する コードを追加し
例外を報告する前に 何が起きたのかをわかるようにします
そして自分で作成する
偽の例外を報告します
これで例外が見つかったときと
同じように動作します
さて ログファイルを調べます
このレポートを見る場合は
アプリにFirebase consoleを 追加します
左側のCrash Reporting 選択します
ご覧のように consoleで例外が報告され
アプリをクラッシュするような
致命的なエラーはないと表示します
それをクリックすると デバイスの詳細を確認できます
この場合は 私のエミュレータから見ています
私が書いたメッセージの他に
完全なスタックトレースもあります
問題を修正したら Closeボタンで閉じれば
これで表示されなくなります
Firebase Crash Reportingで 新たなエラーが見つかれば
メール通知が届きます
これでエラーの基本的な 詳細がわかり
consoleで見るために ボタンを押します
送信されてから
consoleで表示されるには １分ほどかかります
ご自分で試すときには
ネットワーク接続を ご確認ください
それからアプリを再起動して
送信されていないレポートを
consoleに送ってください
新しいアプリには さしたるエラーはないですが
Firebaseデモアプリには
ずっと興味深いデータが見れます
このプロジェクトは 読み取り専用です
下にあるリンクから 入手してください
デモアプリは Lab Pixies 制作の Flood-It!で
Play Storeからダウンロードできる ゲームです
このアプリのエラーレポートを 見てみましょう
このプロジェクトには AndroidとiOS アプリが
関連してありますが
Androidの方のエラーを 選択します
エラーの履歴が見えます
下表の詳細は 起きた回数の順で
それをクリックすると
スタックトレースが表示されます
View Detailsにすると 特定のエラーの
統計を表示します
矢印をクリックすると
この各エラーが見られます
エラー全体のコレクションは イシュー（問題）と呼ばれます
問題は類似のクラッシュにもとづき
形成されます
どれも同じエラーを示しているが
スタックトレースや デバイスの詳細が
少しずつ異なるのです
個別のクラッシュにはクラッシュ時の
デバイスの詳細情報が見られます
この特定のエラーでは スタックエラーの最も役立つ
部分が隠れています
展開してみましょう
ご覧のようにエラーは
ExtraStepsActivityの onResume methodで
起こっていますね
下にスクロースしていくと
エラー前の記録が見られます
一連のログ項目があります
エラーが起きるたびに Firebase Analytics eventで
自動生成されています
これらのイベントは 自動的に記録されます
コードを書く必要はありません
Firebase Crush Reportingの ご紹介でした
アプリをPlay Storeで公開する前に
覚えておきたいことがあります
第一に 開発環境は
本番環境から 独立させてください
これを行うには各タイプで まったく新しいFirebase projectを
作成します
これでアプリ開発中に クラッシュが起きたとしても
稼働中のユーザーから
分離できます
これに関する詳しい ブログ記事があります
第二に難読化と削除に ProGuard を使っている場合は
Storeで公開するために
マッピングファイルを アップロードする必要があります
consoleにアップロードするか
Gradle プラグインを使用してください
必ずドキュメントをお読みください
正しいマッピングファイルなしでは
自分のスタックトレースを 読めませんからね
Firebase Crash Reportingの 質問は
hashtag #askFirebaseで つぶやくか
Firebase support channnelに どうぞ
ダグ・スティーブンソンでした
ありがとうございます バグはすべて潰しましょう
ご視聴いただき ありがとうございます
他の動画がこちらにあります
Firebase YouTube チャンネルの 登録を忘れずに