Android Studio で Firebase Analytics を使ってみる

Uncategorized
749 words

前回、ボタンを設置してアラートダイアログを表示してみるまで実装しました。

その続きからやっていきます。

今回は、Firebase Analytics を使えるようにしたいと思います。

初めてだから失敗するかも。

Android Studio から Firebase を使えるようにする

Google にログインする

Android Studio の ツールから Firebase を選択する。

アシスタントの Firebase から アナリティクスを選択して、Log an Analytics event をクリックする。

Connect to Firebase をクリックする。

ブラウザーが開くので、Google にログインする。

Android Studio が Google へアクセス許可を求めてくるので、許可します。

アクセス許可が済んだら、もうブラウザーは要らないので閉じます。

Android Studio 側で、Firebase へ接続画面が表示されていると思います。

Create new Firebase project を選択して、Firebase へ接続ボタンを押します。

しばらくして右下に通知が出れば、Firebse へ接続が完了です。

アプリに Analytics を追加する

次に、Add Analytics to your app をクリックする。

変更する一覧が表示されるので、Accept Changes を押します。

しばらくすると、build.gradle の変更が完了するので、残りを[MainActivity.java]に実装していきます。

  • 1.Firebase Analytics をインポートする。
1
import com.google.firebase.analytics.FirebaseAnalytics;
  • 2.FirebaseAnalytics のプライベートメンバー変数を宣言する。
1
private FirebaseAnalytics mFirebaseAnalytics;
  • 3.onCreate() メソッドで初期化します。
1
private FirebaseAnalytics mFirebaseAnalytics;
  • 4.イベントログを仕込みます。
1
2
3
4
Bundle bundle = new Bundle();
bundle.putString(FirebaseAnalytics.Param.ITEM_ID, "testId");
bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, "testName");
mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_CONTENT, bundle);

上のコードを実装した全体像がこんな感じです。

ボタンを押したときにイベントログを出すため、レイアウトにもう一つボタンを置いて、そのボタンが押されたらイベントログを出力するようにしてあります。

イベントの確認

USBでパソコンとアンドロイド端末を繋いで、動作確認をします。

出ない

結果を言うと出ませんでした。

Logcat を見ると、

E/FA: Missing google_app_id. Firebase Analytics disabled.

と出ていました。

原因が分かった

いろいろ調べていると原因が分かりました。

firebase がまだ、instant app をサポートしていないためです。

解決方法は、strings.xml に手動で google_app_id を追加して上げれば動きます。

1
<string name="google_app_id" translatable="false">プロジェクトのアプリID</string>

google_app_id は、Firebase プロジェクト設定のアプリID を設定します。

修正して改めて動作確認

USBでパソコンとアンドロイド端末を繋いで、改めて動作確認をします。

イベントログテストボタンを押すと、アナリティクスの Dashboard にイベントログがでました。

終わりに

少し手こずりましたけど、無事にログ出力ができました。

ユーザーの動向を追えるのは、アプリ開発者のモチベーションにも繋がりますし、何が人気かも分かるので、いろいろと使いみちがありそうです。

次回は、認証をやっていこうと思います。

参考にしたサイト

https://github.com/googlesamples/android-instant-apps/issues/44