Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

イベントをロギングする

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

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

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

始める前に

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

イベントをロギングする

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

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

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

次の例では、SELECT_CONTENTイベントをロギングする方法を説明します。

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

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")
}

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

  • カスタム パラメータ: アナリティクス レポートで報告されるようにカスタム パラメータを登録できます。ユーザーリストの定義の際にフィルタとして使用できます。定義したユーザーリストはあらゆるレポートに適用できます。アプリが BigQuery プロジェクトとリンクされている場合、カスタム パラメータは BigQuery にエクスポートされるデータにも含まれます。

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

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

Java

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

Kotlin+KTX

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

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

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

Java

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

Kotlin+KTX

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

firebaseAnalytics.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 コンソールの [イベント] ダッシュボードに移動します。このダッシュボードには、アプリによってロギングされたイベントの種類ごとに自動的に作成されたイベント レポートが表示されます。