Firebase 向け Google アナリティクスを Instant App に追加する

警告: Google Play Instant はご利用いただけなくなります。2025 年 12 月より、Google Play を通じて Instant Apps を公開できなくなり、すべての Google Play 開発者サービス Instant API が機能しなくなります。ユーザーには、どのメカニズムを使用しても、Google Play からインスタント アプリが提供されなくなります。

この変更は、デベロッパーの皆様からのフィードバックと、Google Play Instant の導入以来、エコシステムの改善に向けて継続的に行ってきた投資 に基づいて行われます。

引き続き最も効果的にユーザーを獲得するために、デベロッパーは 通常のアプリやゲームにユーザーを誘導し、ディープリンク を使用して必要に応じて特定のジャーニーや機能にリダイレクトすることをおすすめします。

デベロッパーにとって、アプリ(Instant App またはインストール版アプリ)の成功をトラッキングすることは重要です。Fabric AnswersLocalyticsMixpanelなどの分析ライブラリは Google Play Instant と互換性があります。

使用中の分析ソリューションがこの中にない場合、あるいは Google Play Instant に対応していないと判明した場合は、テレメトリー ソリューションとして Firebase 向け Google アナリティクスを使用することを検討してください。このページでは、Instant App プロジェクトで Firebase 向け Google アナリティクスをセットアップする方法について説明します。

Firebase 向け Google アナリティクスを Instant App プロジェクトに追加する

  1. Firebase 向け Google アナリティクスの スタートガイドに記載されている手順 に従って、Firebase SDK をアプリに追加します。
  2. 最新バージョンの google-services プラグインを使用します。
  3. google-services.json ファイルを各モジュールに配置します。
  4. 各モジュールの build.gradle ファイルに次の行を追加します。

    Groovy

    // android { ... }
    // dependencies { ... }
    plugins {
        id 'com.google.gms.google-services'
    }

    Kotlin

    // android { ... }
    // dependencies { ... }
    plugins {
        id("com.google.gms.google-services")
    }

Firebase 向け Google アナリティクスを Instant App プロジェクトに追加すると、インストール版アプリ プロジェクトと同じように Firebase 向け Google アナリティクスの API を使用できます。

Firebase 向け Google アナリティクスの使用方法について詳しくは、 Firebase 向け Google アナリティクスの スタートガイドをご覧ください

インストール済みアプリのデータと Instant App のデータの区別

インストール済みのアプリと Instant App がパッケージ名を共有しているため、それぞれから収集されたイベントとデータを区別する必要があります。アナリティクスで Instant App とインストール済みのアプリを区別するには、app_type ユーザー プロパティに、それぞれ「instant」、「installed」という値を設定します。

次のコード スニペットは、アナリティクス インスタンスを取得してユーザー プロパティを設定するアクティビティを示しています。このコードでは、 PackageManagerCompat.isInstantApp()onCreate(android.os.Bundle) メソッドで使用して、アプリのコンテキストを特定します。

Kotlin

val STATUS_INSTALLED = "installed"
val STATUS_INSTANT = "instant"
val ANALYTICS_USER_PROP = "app_type"

private lateinit var firebaseAnalytics: FirebaseAnalytics

protected fun onCreate(savedInstanceState: Bundle?) {
    ...

    firebaseAnalytics = FirebaseAnalytics.getInstance(this)

    // Determine the current app context, either installed or instant, then
    // set the corresponding user property for Google Analytics.
    if (InstantApps.getPackageManagerCompat(this).isInstantApp()) {
        firebaseAnalytics.setUserProperty(ANALYTICS_USER_PROP, STATUS_INSTANT)
    } else {
        firebaseAnalytics.setUserProperty(ANALYTICS_USER_PROP, STATUS_INSTALLED)
    }
}

Java

final String STATUS_INSTALLED = "installed";
final String STATUS_INSTANT = "instant";
final String ANALYTICS_USER_PROP = "app_type";

private FirebaseAnalytics firebaseAnalytics;

@Override
protected void onCreate(Bundle savedInstanceState) {
    ...

    firebaseAnalytics = FirebaseAnalytics.getInstance(this);

    // Determine the current app context, either installed or instant, then
    // set the corresponding user property for Google Analytics.
    if (InstantApps.getPackageManagerCompat(this).isInstantApp()) {
        firebaseAnalytics.setUserProperty(ANALYTICS_USER_PROP, STATUS_INSTANT);
    } else {
        firebaseAnalytics.setUserProperty(ANALYTICS_USER_PROP, STATUS_INSTALLED);
    }

}

app_type ユーザー プロパティを設定したら、アナリティクス コンソールの [イベント] タブでイベントを選択し、app_type の値でイベントをフィルタできます。結果のデータ投影から、Instant App またはインストール済みのアプリで指定されたイベントの数が得られます。

Firebase 向け Google アナリティクスでのイベントのログと表示の詳細については、 イベントをロギングするをご覧ください。

アナリティクス イベントの解釈

アナリティクスを使用すると、Instant App にとって価値のあるさまざまな指標を追跡できます。次の表は、アナリティクスの対応するイベント名やプロパティなど、Instant App に関連する指標を説明しています。

名前 アナリティクスの値 定義
訪問数 session_start セッションの開始。このイベントは自動的に追跡されます。
物理的な購入 Firebase.Event.ECOMMERCE_PURCHASE 物理的な購入。このイベントはコードで明示的に追跡する必要があります 。
デジタル コンテンツの購入 in_app_purchase アプリ内デジタル購入。このイベントは自動的に追跡されます。
アプリ滞在時間 user_engagement アプリがフォアグラウンドにあった時間。 このイベントは自動的に追跡されます。
Instant App のコンテキスト app_type Instant App またはインストール済みのアプリのコンテキストで実行されているアプリから発生したイベント。このイベントはコードで明示的に追跡する必要があります 。上記のインストール済みアプリのデータと Instant App のデータの 区別をご覧ください。
リピート訪問 session_start.countapp_type 2 回以上アクセスしたユーザーのオーディエンス。 イベントは明示的に追跡する必要があります。session_start は自動的に追跡されます。app_type上記のインストール済みアプリのデータと Instant App のデータの区別をご覧ください。

アナリティクスで収集できるイベントの定数について詳しくは、 FirebaseAnalytics.Eventをご覧ください。