イベントをロギングする


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

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

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

始める前に

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

イベントをロギングする

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

Analytics 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);

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

  • カスタム パラメータ: カスタム パラメータは、Analytics レポートディメンションまたは指標として使用できます。数値以外のイベント パラメータ データにはカスタム ディメンションを使用し、数値で表すのに適したパラメータ データにはカスタム指標を使用します。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 コンソールの [イベント] ダッシュボードからアクセスできます。このダッシュボードには、アプリによってロギングされたイベントの種類ごとに自動的に作成されたイベント レポートが表示されます。