Android:FirebaseAnalytics.logEvent() 不适用于除“screen_view”之外的任何事件

问题描述 投票:0回答:1

我们公司有两个不同的应用程序。我们为这两个应用程序使用相同的基本代码,95% 的应用程序都使用共享代码。唯一的区别在于样式、字体、字符串和 applicationId。 当我们使用其他功能时,这两个应用程序都完全连接到它们的 firebase 帐户。 然而,分析在我们的一个应用程序中运行得很好,而在另一个应用程序中,我们只能在 Firebase 控制台中看到“screen_view”事件。

我已经完成了所有这些:

FirebaseApp.initializeApp(applicationContext)
FirebaseAnalytics.getInstance(applicationContext).setAnalyticsCollectionEnabled(true)
<meta-data
  android:name="google_analytics_default_allow_ad_personalization_signals"
  android:value="false" />
app/
├── src/
│   ├── app1_dev/
│   │   └── google-services.json
│   ├── app1_prod/
│   │   └── google-services.json
│   ├── app2_dev/
│   │   └── google-services.json
│   ├── app2_prod/
│   │   └── google-services.json

问题是,即使对于我们的第二个应用程序,有关 firebase 的所有内容都工作正常,除了您无法记录除“screen_view”之外的任何事件。 我检查了“screen_view”事件不是自动的。它们包含我附加到它们的所有属性,如果我调用 logEvent 10 次,它们将注册 10 次。

android firebase kotlin analytics
1个回答
0
投票

在您的实施中,请确保您拥有

com.google.firebase:firebase-analytics

除了 Firebase 基础平台之外 “com.google.firebase:firebase-bom

但是,之间的“screen_name

”结果也存在差异

“com.google.firebase:firebase-analytics

“com.google.firebase:firebase-analytics-ktx

'ktx'是Analytics的扩展模块,但根据最新的Firebase报告,最近有一种趋势是避免使用ktx,而是使用基本模块。但是,在显示 screen_name 时,如果未从 ktx 模块中提取 param(FirebaseAnalytics.Param.SCREEN_NAME, "YourScreenName"),则 Google Analytics(分析)报告似乎会受到影响。根本不显示或仅显示为(未设置)。

以上我的观点是基于Kotlin。

基于kotlin提取screen_name的标准代码如下:

private lateinit var firebaseAnalytics: FirebaseAnalytics // Write this line outside of onCreate()
firebaseAnalytics = FirebaseAnalytics.getInstance(this)
firebaseAnalytics.logEvent(FirebaseAnalytics.Event.SCREEN_VIEW) {
        param(FirebaseAnalytics.Param.SCREEN_NAME, "YourScreenName")
        param(FirebaseAnalytics.Param.SCREEN_CLASS, "YourClassName")
 }
© www.soinside.com 2019 - 2024. All rights reserved.