イベントをロギングする

このガイドでは、アプリでイベントをロギングする方法について説明します。

イベントは、ユーザー操作、システム イベント、エラーなど、アプリで起こっていることを把握するのに役立ちます。

アナリティクスでは、一部のイベントが自動的にロギングされるので、それらのイベントを受信するコードを追加する必要はありません。それ以外のデータをアプリで収集する場合は、最大 500 種類までのアナリティクス イベントをロギングできます。アプリで記録できるイベントの量に制限はありません。イベント名では大文字と小文字が区別されます。そのため、大文字と小文字の使い方だけが異なっている同じ名前の 2 つのイベントは、2 つの別個のイベントとしてロギングされます。

準備

プロジェクトをセットアップし、アナリティクスを使ってみるの説明に沿ってアナリティクスにアクセスできることを確認してください。

イベントをロギングする

FirebaseAnalytics インスタンスを作成した後、logEvent() メソッドを使ってそのインスタンスでイベントをロギングできるようになります。

アナリティクス SDK には、小売、e コマース、旅行、ゲームなど、さまざまな種類のアプリでよく使われる推奨イベントが多数定義されており、すぐに使うことができます。これらのイベントの詳細と使い方については、推奨イベントをご覧ください。

推奨イベントの実装方法の詳細については、次の記事をご覧ください。

次の例は、SELECT_CONTENT イベントをロギングする方法を示しています。

Kotlin+KTX

firebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_ITEM) {
    param(FirebaseAnalytics.Param.ITEM_ID, id)
    param(FirebaseAnalytics.Param.ITEM_NAME, name)
    param(FirebaseAnalytics.Param.CONTENT_TYPE, "image")
}

Java

Bundle bundle = new Bundle();
bundle.putString(FirebaseAnalytics.Param.ITEM_ID, id);
bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, name);
bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, "image");
mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_CONTENT, bundle);

既定のパラメータのほかにも、次のパラメータをあらゆるイベントに追加できます。

  • カスタム パラメータ: カスタム パラメータは、アナリティクス レポートディメンションまたは指標として使用できます。数値以外のイベント パラメータ データにはカスタム ディメンションを使用し、数値で表すのに適したパラメータ データにはカスタム指標を使用します。SDK を使ってカスタム パラメータをロギングした後、そのディメンションまたは指標を登録して、アナリティクス レポートにそのカスタム パラメータが表示されるようにします。これを行うには、[アナリティクス] > [イベント] > [カスタム定義を管理] > [カスタム ディメンションを作成] の順に選択します。

    カスタム パラメータは、すべてのレポートに適用可能なオーディエンスの定義で使用できます。アプリが BigQuery プロジェクトとリンクされている場合、カスタム パラメータは BigQuery にエクスポートされるデータにも含まれます。Google アナリティクス 4 の BigQuery Export で、サンプルクエリなどの情報をご覧ください。

  • VALUE パラメータ: VALUE は、イベントに関連する主要な指標の収集に役立つ汎用パラメータです。そのような指標には、たとえば収益、距離、時間、得点などがあります。

アプリに特殊なニーズがあり、推奨されるイベントの種類では収集できないデータを収集したい場合は、次の例で示すように独自のカスタム イベントをロギングできます。

Kotlin+KTX

firebaseAnalytics.logEvent("share_image") {
    param("image_name", name)
    param("full_text", text)
}

Java

Bundle params = new Bundle();
params.putString("image_name", name);
params.putString("full_text", text);
mFirebaseAnalytics.logEvent("share_image", params);

デフォルトのイベント パラメータを設定する

setDefaultEventParameters を使用して、複数のイベントに共通するパラメータをロギングできます。デフォルトのパラメータは、ロギングされる今後のすべてのイベントに関連付けられます。

カスタム パラメータと同様に、デフォルトのイベント パラメータを登録して、アナリティクス レポートに表示されるようにします。

Kotlin+KTX

val parameters = Bundle().apply {
    this.putString("level_name", "Caverns01")
    this.putInt("level_difficulty", 4)
}

firebaseAnalytics.setDefaultEventParameters(parameters)

Java

Bundle parameters = new Bundle();
params.putString("level_name", "Caverns01");
params.putInt("level_difficulty", 4);
mFirebaseAnalytics.setDefaultEventParameters(parameters);

logEvent() メソッドでパラメータが指定されている場合は、デフォルトではなくその値が使用されます。

デフォルトのパラメータをクリアするには、パラメータを null に設定して setDefaultEventParameters メソッドを呼び出します。

Android Studio のデバッグログでイベントを表示する

詳細ロギングを有効にして SDK によるイベントのロギングをモニタリングし、イベントが正しくロギングされているかどうかを確認できます。対象となるのは、自動でロギングされるイベントと手動でロギングされるイベントの両方です。

詳細ロギングを有効にするには、次の一連の adb コマンドを入力します。

adb shell setprop log.tag.FA VERBOSE
adb shell setprop log.tag.FA-SVC VERBOSE
adb logcat -v time -s FA FA-SVC

このコマンドを入力すると Android Studio の logcat にイベントが表示され、イベントが送信されているかどうかを即座に確認できます。

ダッシュボードでイベントを表示する

Firebase コンソールのダッシュボードでは、イベントに関する集約された統計情報を表示できます。これらのダッシュボードは、一日を通して定期的に更新されます。即座にテストを行いたい場合は、前のセクションで説明した logcat の出力を使用してください。

このデータにアクセスするには、Firebase コンソールの [イベント] ダッシュボードに移動します。このダッシュボードには、アプリによってロギングされたイベントの種類ごとに自動的に作成されたイベント レポートが表示されます。