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を使ってるらしい.
buildscript {
dependencies {
// Add for FireBase
classpath 'com.google.gms:google-services:3.0.0'
}
}
// 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 を追加.
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を取得する
かなり少ない実装でLog取りできる模様.
// 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
///---