techium

このブログは何かに追われないと頑張れない人たちが週一更新をノルマに技術情報を発信するブログです。もし何か調査して欲しい内容がありましたら、@kobashinG or @muchiki0226 までいただけますと気が向いたら調査するかもしれません。

Android Studio 2.2 PreviewでFirebase Analyticsを利用してみる

Google I/O 2016で発表のあったFirebase Analyticsについて、ちょっと試してみました。
Firebase AnalyticsはFirebaseの機能の一つで、AndroidやiOSなどのアプリケーションのイベントログを収集してレポートを作成してくれます。そのレポートを確認することで、ユーザがアプリケーションをどのように利用しているのかが明白になります。
今回のGoogle I/Oでは、このFirebase Analyticsを無料でかつ無制限に利用することができると発表されました。

一方で、Android Studio 2.2 Previewでは、FirebaseをAndroidに組み込むためのプラグインが追加されています。 tools.android.com

ということで、早速Android Studio 2.2 Previewをインストールして、Firebase Analyticsを試してみたいと思います。

事前準備

まずはここからAndroid Studio 2.2 Previewをインストールします。 現行は2.1.1が最新ですが、上書きはされませんのでご安心を。

インストールが完了したらAndroid Studio 2.2 Previewを起動し、あらかじめ新規プロジェクトを作成しておきます。

Firebase Analyticsの利用準備

Firebase AnalyticsはWebコンソールでアプリのレポートの確認を行うため、アプリをFirebaseに登録しておく必要があります。 ナビゲーション通りに進めれば簡単に登録を完了できるようになっています。

1)ということでまずはFirebaseのサイトにアクセスします。 f:id:uentseit:20160526234932p:plain

2)右上のColsoleボタンから自分のコンソールに移動します。 f:id:uentseit:20160526235903p:plain

3)新規プロジェクトをクリックします。 f:id:uentseit:20160527000021p:plain

4)任意のプロジェクト名を入力し、国を選択します。 f:id:uentseit:20160527000502p:plain

5)アプリのオーバービュー画面に遷移するので、「AndroidアプリにFirebaseを追加」を選択します。 f:id:uentseit:20160527000338p:plain

6)事前準備で作成しておいたパッケージ名を入力し、アプリを追加ボタンを押下します。 f:id:uentseit:20160527000423p:plain

7)自動でJSONのダウンロードが始まります。 このJSONの中には、APIキーなどアプリがAnalyticsにアクセスする上で必要な情報が記載されています。 f:id:uentseit:20160527000558p:plain ダウンロードが終わったら、画面の案内に従って、あらかじめ作成しておいたAndroidプロジェクトにコピーします。 f:id:uentseit:20160527000618p:plain

8)引き続き、AndroidプロジェクトのGradle(Module:app)に記載を追加します。

dependencies {
    ・・・略・・・
    compile 'com.google.firebase:firebase-analytics:9.0.0'
}

追記したらSyncします。
※この時なぜか7)でダウンロードしたJSONファイルにAPIキーがないと怒られました。。(確かに空っぽ
設定画面(下図)から改めてダウンロードしたらなぜかAPIキーがありましたので、差し替えるとビルドが通りました。
f:id:uentseit:20160527000710p:plain

これで準備はできたような気がします。

試しにイベントログを発行してみる

試しにログイベントを出力してコンソールで確認してみます。

事前に準備したAndroidプロジェクトを以下のように編集します。
[MainActivity.java]

import com.google.firebase.analytics.FirebaseAnalytics;

public class MainActivity extends AppCompatActivity {

    private FirebaseAnalytics mFirebaseAnalytics;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mFirebaseAnalytics = FirebaseAnalytics.getInstance(this);

        mFirebaseAnalytics.logEvent("onCreate", null);
    }
}

13行目でイベントログを出力しています。
FirebaseAnalytics#logEventメソッドの第1引数がイベント名になります。最初の文字は必ずアルファベットである必要があります。
また、すでに予約語として登録されているイベント名があるため、それらは使えません。あと、'firebase_'を名前の最初につけるのも NGです。

第2引数にパラメータを指定します。必要がない場合はnullを指定しておきます。

これでアプリケーションを実行すると、イベントログがFirebaseで確認できるはずです。
f:id:uentseit:20160527000734p:plain ただし反映されるまでには最大で24時間かかるようなので、気長に待ちましょう。

今回はとりあえずイベントログをサイト上で確認してみましたが、まだまだFirebase Analyticsの入り口といった感じです。
FirebaseはAnalyticsを中心にいくつもの機能を持っていて、それらを組み合わせてこそ真価が発揮されるようです。
引き続き調査を進めたいと思います。