在运行时为 Analytics logEvents 初始化 Firebase 不起作用
Posted
技术标签:
【中文标题】在运行时为 Analytics logEvents 初始化 Firebase 不起作用【英文标题】:Initializing Firebase at Runtime for Analytics logEvents not working 【发布时间】:2021-11-25 16:59:36 【问题描述】:我有一个需要 2 个 Firebase 项目的应用。根据使用的登录选项,我需要 logEvents
到特定的 Firebase 项目。
我不能根据构建变体/风格在不同目录中使用多个google-services.json
,因为它需要是一个应用程序。因此,我
从项目中删除google-services.json
在 gradle 中评论了 apply plugin: 'com.google.gms.google-services'
使用 google-services.json
文件中的值使用以下代码初始化 Firebase
val firebaseOptions = Builder()
.setApplicationId("client.client_info.mobilesdk_app_id")
.setApiKey("client.client_info.current_key")
.setDatabaseUrl("project_info.firebase_url")
.setGcmSenderId("project_info.project_number")
.setStorageBucket("project_info.storage_bucket")
.setProjectId("project_info.project_id")
.build()
FirebaseApp.initializeApp(context, firebaseOptions, "[DEFAULT]")
但我遇到了错误。
E/FA: Missing google_app_id. Firebase Analytics disabled.
E/FA: Uploading is not possible. App measurement disabled
有没有办法解决这个问题?我需要在用户操作和 logEvents 到 Firebase 后在运行时初始化 Firebase
【问题讨论】:
从您提供的代码中,我看不出有什么问题。你能放更多的代码来看看你是如何获取传递给构建器的参数的吗?特别是 applicationId @SergioPardo 我已更新问题以查看构建器参数的来源 【参考方案1】:我认为您尝试实现的目标是不可能的,我进一步挖掘,您获得的经验是预期的行为:分析不适用于构建器(自定义)初始化.
您可以在此处查看来自 Firebase 支持团队的声明:Unable to make Firebase work for a non Gradle build: Missing google_app_id. Firebase Analytics disabled
然而,我在 GitHub 上的一个线程上发现了这两种解决方法,但它们不适用于您的用例,因为它是在编译时完成的。
解决方法: https://github.com/firebase/firebase-android-sdk/issues/66#issuecomment-697341745 https://github.com/firebase/firebase-android-sdk/issues/66#issuecomment-755434814
我建议您将您的分析转移到另一个提供商,以防这对您不利,或者只是将分析留在单个项目上并添加一个属性来区分用户/流。
【讨论】:
以上是关于在运行时为 Analytics logEvents 初始化 Firebase 不起作用的主要内容,如果未能解决你的问题,请参考以下文章
使用 Firebase Analytics 事件记录 OneSignal 推送通知
我可以在 Firebase Analytics 事件中使用非英文字母吗?
无法使用 Unity 在 Firebase-Analytics 中获取自定义参数