下ではAndroidアプリにFirebase Analytics SDKを入れて、デフォルトの計測がされることを確認しました!
【GA4】Android StudioでAndroidアプリにFirebase Analyticsを入れる
ここでは、今度はもっとカスタムに計測できるようなイメージをもってもらえるように、
イベントパラメータやユーザープロパティの計測について説明していこうと思います。
前提
まず前提として、
今回扱う、
- イベント計測
- イベントパラメータ計測
- ユーザープロパティ計測
について計測したい場合は、Firebase SDKを入れるだけではダメです。
※ 一番下で画面遷移での計測を記載してますが、画面遷移は普通にSDKでscreen_viewが計測できるのでSDKのみでできます。
gradleファイルにFirebaseのSDKを読み込ませることで、アプリ全体にSDKが適用されるので、基本的にはsession_startやscreen_viewなどのイベントは計測されますが、
カスタムのログなどを計測したい場合は、その計測したいプログラムにて別途Firebaseのライブラリを読み込んで、計測用プログラムを書く必要があります。
SDKではなく別途読み込む必要のあるFirebaseライブラリ内に、イベントを計測するlogEventメソッドなどが入っているので、
SDKを読み込むだけでは計測できません。
まずここでは、最初に
import com.google.firebase.analytics.FirebaseAnalytics;
を読み込ませておきましょう!
package com.example.ga4_androidapp_test; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import com.google.firebase.analytics.FirebaseAnalytics; // 追加(Firebaseライブラリの読み込み) public class MainActivity extends AppCompatActivity { private final MainActivity self = this; // 追加 private FirebaseAnalytics mAnalytics; // 追加 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //mAnalytics = FirebaseAnalytics.getInstance(self); // 別途追加(計測したい内容により追加) //mAnalytics.setUserProperty("test_user_property", "test_value"); // 別途追加(計測したい内容により追加) } }
上記のライブラリを読み込ませた上で、下の各計測に応じたプログラムを追加していきます。
イベントの計測の計測
以下のコードを計測したいActivityファイルに記載します。
※ 以下プログラムだけだと、mAnalyticsという変数がないというエラーになるので、mAnalyticsを定義すること。(上のリンクの中に記載しています)
Bundle bundle = new Bundle(); mAnalytics.logEvent("test_event", bundle);
上記はイベント名「test_event」で計測するコードです。
上記が読み込まれると、イベント「test_event」が送られます。test_eventの箇所を別の値にすることで、自由にイベント名を設定して計測することが可能です。
そしてビルドしてアプリを起動すると以下のようにFirebase Analyticsのリアルタイムレポートで、イベント「test_event」が計測されているのが確認できます。
イベントパラメータの計測
Bundle params = new Bundle(); // 追加 params.putString("event_param1", "ep1"); // イベントパラメータ設定 params.putString("event_param2", "ep2"); // イベントパラメータ設定 mAnalytics.logEvent("test_event", params); // イベント名
ユーザープロパティの計測
mAnalytics.setUserProperty("test_user_property", "test_value"); // 追加
画面遷移やボタンのタップ処理の計測
まずAndroid Studioでアプリの画面遷移を構築します。
次に以下の構成にして画面遷移をしてみます。
ビルドして最初にMainActivityの画面が表示された後、
next_buttonをタップして、SecondActivityの画面を表示します。
そしてback_buttonをタップして、MainActivityの画面へ遷移します。
appサブプロジェクト配下にActivityファイルを作成したいので、
app配下を選択した状態で右クリック > Activity > Empty ActivityでSecondActivityファイルを作成します。
そして、作成すると以下の赤枠のように2ファイルが作成されました。
① SecondActivity: 画面の挙動を定義するファイル
② activity_main.xml: 画面のパーツを配置したり構成したりするファイル
そして、次に遷移するボタンを配置していきます。
activity_main.xmlファイルを開き、真ん中の赤枠のPaletteをクリックします。
そうすることで、MainActivityの画面とボタンなどのコンポーネントが表示されるので、
buttonからDrag&Dropで画面上に配置します。
そしてAttributeをクリックして、配置したボタンを選択します。
そうすることで、Attributeのところにそのボタンに対してidを設定できる入力欄が表示されるため、画面上で配置したボタンを選択した状態で、そこに「next_button」を入れ、textに「SecondActivityへ」と入力します。
これによってMainActivity画面のボタンにidが振れました。
続いて、このボタンをタップしたら、SecondActivity画面に遷移するようにする必要があるので、挙動をプログラムを書いて処理します。
MainActivityファイルを開いて、以下のプログラムを書きます。
※ package名は自分のを置いてください。
package com.example.ga4_androidapp_test; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import com.google.firebase.analytics.FirebaseAnalytics; // buttonライブラリとViewライブラリとIntentライブラリ追加 import android.widget.Button; import android.view.View; import android.content.Intent; public class MainActivity extends AppCompatActivity { private final MainActivity self = this; private FirebaseAnalytics mAnalytics; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mAnalytics = FirebaseAnalytics.getInstance(self); mAnalytics.setUserProperty("test_user_property", "test_value"); // 追加 // activity_main.xmlに置いたボタン「next_button」の挙動 Button nextButton = findViewById(R.id.next_button); nextButton.setOnClickListener(new View.OnClickListener() { //@Override public void onClick(View v) { Intent intent = new Intent(getApplication(),SecondActivity.class); startActivity(intent); } }); } }
追加
次に同様にして、
activity_second.xmlファイルにボタンを配置して、そのボタンidに「back_button」を入力し、textには「MainActivityへ」と入力します。
そしてSecondActivityファイルで
今度はMainActivityに遷移するので、上のプログラムの、
next_buttonをback_buttonに変更、SecondActivityをMainActivityに変更したものを、記載します。
以下のプログラムです。
※ package名は自分のを置いてください。
package com.example.ga4_androidapp_test; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; // buttonライブラリとViewライブラリ追加 import android.widget.Button; import android.view.View; public class SecondActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_second); // activity_second.xmlに置いたボタン「back_button」の挙動 Button backButton = findViewById(R.id.back_button); backButton.setOnClickListener(new View.OnClickListener() { //@Override public void onClick(View v) { finish(); } }); } }
これでビルドしてみますと、以下のようにFirebaseの管理画面上で、MainActivityとSecondActivityのアクセスが計測されているのが確認できました。
▼お問合せはこちら