在免安裝應用程式中加入 Google Analytics for Firebase

警告:Google Play 免安裝應用程式將停止提供服務。2025 年 12 月起,您無法透過 Google Play 發布免安裝應用程式,且所有 Google Play 服務免安裝 API 都將停止運作。Play 不會再透過任何機制向使用者提供免安裝應用程式。

我們根據開發人員的意見,並持續投入資源改善 Google Play Instant 推出後的生態系統,做出這項變更。

如要持續促進使用人數成長,建議開發人員使用深層連結,將使用者導向標準版應用程式或遊戲,並在適當情況下將他們重新導向至特定路徑或功能。

追蹤應用程式 (無論是免安裝或已安裝) 的成效,對每位開發人員來說都很重要。Google Play Instant 支援多個數據分析程式庫,包括 Fabric AnswersLocalyticsMixpanel

如果目前使用的 Analytics 解決���案未列出,或發現該解決方案不支援 Google Play Instant,建議使用 Google Analytics for Firebase 做為遙測解決方案。本頁面說明如何在免安裝應用程式專案中設定 Google Analytics for Firebase。

在免安裝應用程式專案中加入 Google Analytics for Firebase

  1. 按照 Google Analytics for Firebase 入門指南中的操作說明,將 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")
    }

將 Google Analytics for Firebase 新增至免安裝應用程式專案後,您就能像在可安裝的應用程式專案中一樣,使用 Google Analytics for Firebase API。

如要進一步瞭解如何使用 Google Analytics for Firebase API,請參閱 Google Analytics for Firebase 入門說明文件

區分已安裝和免安裝應用程式的資料

由於已安裝的應用程式和免安裝應用程式共用套件名稱,您可能需要區分從兩者收集的事件和資料。如要在 Analytics 中區分免安裝應用程式和已安裝應用程式,請設定 app_type 使用者屬性,免安裝應用程式的值為「instant」,已安裝應用程式的值為「installed」。

下列程式碼片段顯示可取得 Analytics 執行個體,然後設定使用者屬性的活動。請注意,程式碼會在 onCreate(android.os.Bundle) 方法中使用 PackageManagerCompat.isInstantApp(),判斷應用程式的內容。

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 使用者屬性後,您可以在 Analytics 主控台的「事件」分頁中選取事件,然後依 app_type 值篩選事件。產生的資料預測會提供免安裝或已安裝應用程式中指定事件的計數。

如要進一步瞭解如何在 Google Analytics for Firebase 中記錄及查看事件,請參閱「記錄事件」。

解讀 Analytics 事件

Analytics 可讓您追蹤各種對即時應用程式有價值的指標。下表說明即時應用程式的相關指標,包括 Analytics 中的對應事件名稱或屬性。

名稱 Analytics 價值 定義
就醫記錄 session_start 工作階段已開始。系統會自動追蹤這項事件。
實體商品購買記錄 Firebase.Event.ECOMMERCE_PURCHASE 實體購買交易。您必須在程式碼中明確追蹤這項事件。
數位購買項目 in_app_purchase 應用程式內數位商品。系統會自動追蹤這項事件。
應用程式使用時間 user_engagement 應用程式在前台執行的時間長度。 系統會自動追蹤這項事件。
免安裝應用程式環境 app_type 從即時或已安裝環境中執行的應用程式引發的事件。您必須在程式碼中明確追蹤這項事件。請參閱上方的「區分已安裝和免安裝應用程式資料」一節。
回訪者 session_start.countapp_type 至少造訪兩次的使用者。您必須明確追蹤 app_type 事件,系統會為您追蹤 session_start。請參閱上方的「區分已安裝和免安裝應用程式資料」。

如要進一步瞭解可在 Analytics 中收集的事件常數,請參閱 FirebaseAnalytics.Event