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

追蹤應用程式免安裝或安裝成效對每位開發人員來說相當重要。有些數據分析程式庫與 Google Play 免安裝功能相容,包括 Fabric AnswersLocalyticsMixpanel

如果您目前使用的數據分析解決方案不在清單中,或是發現不支援 Google Play 免安裝體驗,請考慮使用 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 使用者屬性,並將免安裝應用程式設為「立即」的值,並為應用程式安裝設定「已安裝」。

下列程式碼片段顯示了取得 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 (分析) 控制台的「Events」(事件) 分頁中選取事件,然後用 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