思ったより簡単でした。
Google I/O 2016で、新たにFirebaseというBaaSが発表されました。
Google I/O 2016でFirebaseが詳しく紹介されている動画です。
Zero to App: Develop with Firebase - Google I/O 2016
では、実際に試してみましょう。
Google Firebaseでクラッシュログを収集する
事前準備
Android Studio側での準備
-
バージョンを最新にしておく
2.2より古いバージョンでも動かなくはないそうですが、アレコレの互換性がないためGoogleは2.2Preview以上にアップデートすることを推奨しています。 -
Google Play ServicesとGoogle Repositoryを最新にしておく
バージョンはわかりませんが、この2つが古いとGradleのSyncに失敗します。(私はここで引っかかりました)
参考:Failed to resolve: com.google.firebase:firebase-core:9.0.0 -
Android Projectを作成
既に存在するのであれば不要です。
Google Firebase側での準備
- 新規プロジェクトを作成
Firebase Consoleにアクセスし、「新規プロジェクト」を押下します。
プロジェクト名と国(地域)を入力し、「プロジェクトを作成」を押下します。
プロジェクトが作成されると、下記のような画面になります。
Android StudioとFirebaseを繋げる
Firebase Consoleにアプリの情報を追加する
Firebase Consoleで「Android アプリに Firebase を追加」を押下します。
ここで、Android Studio上のパッケージ名と、SHA-1の証明書のハッシュの入力が求められます。

パッケージ名は通常はアプリレベルの build.gradle ファイルの applicationId です。
SHA-1の証明書は下記コマンドで表示できます。
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore -list -v -storepass android
ここ(公式)に取得方法があります。
Authenticating Your Client
情報を入力して「アプリを追加」を押下すると、google-services.jsonのダウンロードが始まります。
ここからはチュートリアルに(ほぼ)従って進めましょう。
Android StudioにFirebase SDKの設定を追加する
google-services.jsonを配置する
チュートリアル通り進めます。
Android Studioの表示を「Project」に変更し、Androidのappディレクトリにダウンロードしたgoogle-services.jsonを配置します。
Gradle(2つ)に情報を追記する
プロジェクトレベルのbuild.gradle
プロジェクトフォルダ直下にあるbuild.gradleに下記を追記します。
buildscript {
dependencies {
// Add this line
classpath 'com.google.gms:google-services:3.0.0'
}
}
appレベルのbuild.gradle
先程google-services.jsonを配置した同じディレクトリにあるbuild.gradleに追記します。
チュートリアルには1つだけ追記するようになっていますが、今回はクラッシュログを取得しますので、このようにしてください。
dependencies {
// ...
// クラッシュログを送るためにこの1行を追加する
compile 'com.google.firebase:firebase-crash:9.6.1'
}
// Add to the bottom of the file ← チュートリアルではこれだけ
apply plugin: 'com.google.gms.google-services'
設定が終わってGradleが問題なくSyncできることが確認できたら「終了」ボタンを押下します。
(私はここでGoogle Play ServicesとGoogle Repositoryが古くてエラーになりました)
インターネットアクセスのPermissionを追加
ここで注意なのは、インターネットアクセスのPermissionを忘れないことです。
作りたてのプロジェクトの場合は忘れがちですので追記します。
<uses-permission android:name="android.permission.INTERNET" />
これで準備完了です。
クラッシュログを試しに出してみる
アプリをクラッシュさせる
試しにクラッシュさせてみましょう。MainAcivity.javaに下記を追加し、アプリを実行します。
String[] strings = {"a", "b"};
Log.d("test", strings[2]);
Firebase Consoleからクラッシュログを確認する
このような感じで、作成したプロジェクトが並んでいます。
作成したアプリの「クラッシュ」を押下してみましょう。
エラーの内容とどれくらい出ているかがわかるグラフ、「致命的」等といったエラーの程度が表示されます。
終わりに
いかがでしたか?思っていた以上に簡単にクラッシュログを取得することができました。
次はFirebaseの主力機能のひとつである認証(Authentication)を試してみようと思います。