gpt4 book ai didi

android - 一个 apk 中的 Firebase SDK 多个项目

转载 作者:太空狗 更新时间:2023-10-29 14:38:06 27 4
gpt4 key购买 nike

我正在尝试初始化 FirebaseApp,只能使用 FirebaseOptions 构建器,就像这样(我只使用 applicationId 和 ApiKey,因为我只想开始分析):

FirebaseOptions options = new FirebaseOptions.Builder()
.setApplicationId(applicationID) // Required for Analytics.
.setApiKey(apiKey) // Required for Auth.
.build();
FirebaseApp.initializeApp(context, options);

我的项目中没有 google-services.json 文件,我已经删除了 FirebaseInitProvider,就像这样,在我的 AndroidManifest.xml 中:

<provider android:name="com.google.firebase.provider.FirebaseInitProvider"
android:authorities="${applicationId}.firebaseinitprovider"
android:exported="false"
tools:node="remove"/>

我想要从我的服务器发送应用程序 ID,因为我想要多个项目,而且我真的不在乎我是否在应用程序初始化期间丢失了一些事件。启动应用程序时,同时尝试在 Android Studio 调试日志中查看事件,如下所示:

adb shell setprop log.tag.FA VERBOSE

adb shell setprop log.tag.FA-SVC VERBOSE

adb logcat -v time -s FA FA-SVC

我得到:缺少 google_app_id。 Firebase Analytics 已禁用。

我不想在 strings.xml 静态文件中使用 google_app_id,因为我想要多个项目。但是,我尝试将所有应用程序 ID 放在一个 XML 文件中,并尝试在 FirebaseApp.initializeApp 之前使用反射更改它们,但这似乎不起作用。

最佳答案

default FirebaseApp 初始化看起来像这样(这在没有传递名称时使用):

FirebaseApp fb = FirebaseApp.initializeApp(context, options, "[DEFAULT]");

The FirebaseOptions values used by the default app instance are read from string resources.

但是...可以改为分配自定义名称,以便从字符串资源中读取:

FirebaseApp fb01 = FirebaseApp.initializeApp(context, options, "primary");
FirebaseDatabase db01 = FirebaseDatabase.getInstance(fb01);

FirebaseApp fb02 = FirebaseApp.initializeApp(context, options, "secondary");
FirebaseDatabase db02 = FirebaseDatabase.getInstance(fb02);

找到这个 Firebase Blog ,这是所要求的可靠来源。

还有 FirebaseApp 的文档大致解释一下。

关于android - 一个 apk 中的 Firebase SDK 多个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52737480/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com