警告:Google Play 免安裝應用程式將停止提供服務。2025 年 12 月起,您無法透過 Google Play 發布免安裝應用程式,且所有 Google Play 服務免安裝 API 都將停止運作。Play 不會再透過任何機制向使用者提供免安裝應用程式。
我們根據開發人員的意見,並持續投入資源改善 Google Play Instant 推出後的生態系統,做出這項變更。
如要持續促進使用人數成長,建議開發人員使用深層連結,將使用者導向標準版應用程式或遊戲,並在適當情況下將他們重新導向至特定路徑或功能。
追蹤應用程式 (無論是免安裝或已安裝) 的成效,對每位開發人員來說都很重要。Google Play Instant 支援多個數據分析程式庫,包括 Fabric Answers、Localytics 和 Mixpanel。
如果目前使用的 Analytics 解決���案未列出,或發現該解決方案不支援 Google Play Instant,建議使用 Google Analytics for Firebase 做為遙測解決方案。本頁面說明如何在免安裝應用程式專案中設定 Google Analytics for Firebase。
在免安裝應用程式專案中加入 Google Analytics for Firebase
- 按照 Google Analytics for Firebase 入門指南中的操作說明,將 Firebase SDK 新增至應用程式。
- 使用最新版的 google-services 外掛程式。
- 將
google-services.json
檔案放入每個模組。 在各模組的
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.count 和 app_type |
至少造訪兩次的使用者。您必須明確追蹤 app_type 事件,系統會為您追蹤 session_start 。請參閱上方的「區分已安裝和免安裝應用程式資料」。 |
如要進一步瞭解可在 Analytics 中收集的事件常數,請參閱 FirebaseAnalytics.Event。