LoginSignup
3
7

More than 5 years have passed since last update.

Google Firebaseでクラッシュログの収集を試してみる

Posted at

思ったより簡単でした。

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側での準備

  1. バージョンを最新にしておく
    2.2より古いバージョンでも動かなくはないそうですが、アレコレの互換性がないためGoogleは2.2Preview以上にアップデートすることを推奨しています。

  2. Google Play ServicesとGoogle Repositoryを最新にしておく
    バージョンはわかりませんが、この2つが古いとGradleのSyncに失敗します。(私はここで引っかかりました)
    参考:Failed to resolve: com.google.firebase:firebase-core:9.0.0

  3. Android Projectを作成
    既に存在するのであれば不要です。

Google Firebase側での準備

  1. 新規プロジェクトを作成

Firebase Consoleにアクセスし、「新規プロジェクト」を押下します。
スクリーンショット 2016-10-10 21.58.59.png

プロジェクト名と国(地域)を入力し、「プロジェクトを作成」を押下します。
プロジェクトが作成されると、下記のような画面になります。
スクリーンショット 2016-10-10 21.59.39.png

Android StudioとFirebaseを繋げる

Firebase Consoleにアプリの情報を追加する

Firebase Consoleで「Android アプリに Firebase を追加」を押下します。
ここで、Android Studio上のパッケージ名と、SHA-1の証明書のハッシュの入力が求められます。

スクリーンショット 2016-10-10 22.01.28.png

パッケージ名は通常はアプリレベルの build.gradle ファイルの applicationId です。

SHA-1の証明書は下記コマンドで表示できます。

console
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を配置します。
スクリーンショット 2016-10-10 22.11.43.png

Gradle(2つ)に情報を追記する

プロジェクトレベルのbuild.gradle

プロジェクトフォルダ直下にある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つだけ追記するようになっていますが、今回はクラッシュログを取得しますので、このようにしてください。

build.gradle

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を忘れないことです。
作りたてのプロジェクトの場合は忘れがちですので追記します。

Manifest.xml
<uses-permission android:name="android.permission.INTERNET" />

これで準備完了です。

クラッシュログを試しに出してみる

アプリをクラッシュさせる

試しにクラッシュさせてみましょう。MainAcivity.javaに下記を追加し、アプリを実行します。

MainActivity.java
String[] strings = {"a", "b"};
Log.d("test", strings[2]);

Firebase Consoleからクラッシュログを確認する

このような感じで、作成したプロジェクトが並んでいます。
作成したアプリの「クラッシュ」を押下してみましょう。
スクリーンショット 2016-10-10 22.34.36.png

エラーの内容とどれくらい出ているかがわかるグラフ、「致命的」等といったエラーの程度が表示されます。
スクリーンショット 2016-10-10 22.36.35.png

終わりに

いかがでしたか?思っていた以上に簡単にクラッシュログを取得することができました。
次はFirebaseの主力機能のひとつである認証(Authentication)を試してみようと思います。

3
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
7