Posted at

AndroidでFirebase Analytics 使ってみた

More than 3 years have passed since last update.

Google I/O 2016で発表されてたGoogleのMobile BaaSであるFirebase.

この1機能のAnalyticsが基本無料だとかで話題になっていたので,

とりあえずAndroid AppにLogを仕込んでWebから見えるところまでやってみた.



1. Firebase Project作成

https://firebase.google.com/

にアクセスしてGoogle AccountでLoginする.

すでにGoogleにLogin中のChromeなんかでアクセスすれば,FirebaseにLoginした状態で表示される.

(ページの右上にGoogleアカウントのIconがあるのでここで気づく)

Topページの"GET STARTED FOR FREE"



"新規Projectを作成"

といくとDialogがでてくるので,


  • Project名


あたりを入力して"Projectを作成" をClickしてDone.


2. FirebaseにAndroid Appを登録

作成したProjectを選択すると,Projectの詳細画面に移動する.

"アプリを追加" をClick



Android,iOS,Webの3つから選択できる.今回はAndroidを選択.



3 Step のDialogが出てくるので,流れに合わせてそれぞれ入力.説明も出てくるので困らないはず.


Step 1

このProjectとひも付けるAndroid AppのPackage名を入力.

サーバ側のAndroid-Firebaseのひも付けはこれで完了.

(Auth機能のためにSHA-1を入れるところもあるが,Analytics機能は入力なしでOK)


Step 2

.json をDownloadして,Android StudioのApp ProjectのRootに配置.

このjsonの中にAPI KeyやOAUTHの認証なんかの情報と一緒にPackage名も入っているので,

Android側のAndroid-Firebaseのひも付けはここで行われている模様.


Step 3

Android ProjectのProject Level/App Levelそれぞれのbuild.gradleに依存関係を追加.

Google Serviceを使ってるらしい.


root/build.gradle

buildscript {

dependencies {
// Add for FireBase
classpath 'com.google.gms:google-services:3.0.0'
}
}


app/build.gradle

// Fileの最後に入れる.これの手前に追加する関連Libに対して処理をするから順番制約があるっぽい

apply plugin: 'com.google.gms.google-services'


ここまででFirebase Service側でやることは終了.のこりはAndroid App側のみ.

(すでにbuild.gradleとか一部やってるけど)


3. Android AppにFirebase機能を組み込む

https://firebase.google.com/docs/android/setup#available_libraries

このページで自分が使いたい機能のLibの名前を確認,App Levelのbuild.gradleに追加する.

今回はAnalyticsなので,com.google.firebase:firebase-core:x.y.z を追加.


app/build.gradle

dependencies {

// Firebase analytics.
compile 'com.google.firebase:firebase-core:9.0.0' // ADDED
}

// Add for Firebase.
apply plugin: 'com.google.gms.google-services'


これだけで,Firebaseが標準でサポートする統計情報は取得できる.

24時間くらいまってからFirebaseのProjectページからAnalyticsを見に行くと情報が取れているはず.


4. カスタムEventを取得する

https://firebase.google.com/docs/analytics/android/events

かなり少ない実装でLog取りできる模様.


SampleActivity.java

// Get instance.

FirebaseAnalytics fba = FirebaseAnalytics.getInstance(this);

// Send event log.
Bundle bundle = new Bundle();
bundle.putString("started_app_name", "SampleActivity");
fba.logEvent("app_started", bundle);


Reference見ながらあとは実装していけば良さそう.

https://firebase.google.com/docs/reference/android/com/google/firebase/analytics/FirebaseAnalytics

///---