首页 > 解决方案 > 在 xamarin 中没有 googleservices.json 文件的 Firebase 实现

问题描述

我必须在 2 个配置 Debug 和 Release 中实现 firebase。这就是我删除 json 文件并编写代码行的原因:

对于配置 1-

var env1 = new FirebaseOptions.Builder()
                            .SetApplicationId(myId)
                            .SetApiKey(myKey)
                            .SetStorageBucket(appspot.com)
                            .SetProjectId(myPID)
                            .SetDatabaseUrl(MYURL)
                            .Build();

var app1 = FirebaseApp.InitializeApp(Application.Context, env1, "Debug");
analytics= FirebaseAnalytics.GetInstance(app1.ApplicationContext);

对于配置 2-

var env2 = new FirebaseOptions.Builder()
                            .SetApplicationId(myId)
                            .SetApiKey(myKey)
                            .SetStorageBucket(appspot.com)
                            .SetProjectId(myPID)
                            .SetDatabaseUrl(MYURL)
                            .Build();

var app2 = FirebaseApp.InitializeApp(Application.Context, env2, "Release");
analytics= FirebaseAnalytics.GetInstance(app1.ApplicationContext);

在这里,它要么给出诸如 missing_google_id 之类的错误,要么 firebase 未初始化。

我已经尝试在 xml 文件中为 android 添加字符串值,仍然是同样的错误。为了实现我的目标,我还尝试按照下面的链接在不同的目录中添加多个 json 文件

Xamarin firebase 不同的 google-services,json 用于不同的构建配置

但它似乎仍在根文件夹中查找 json 文件..

那么如何在没有或使用json文件的情况下为多个环境实现firebase

标签: c#firebasexamarinxamarin.androidfirebase-analytics

解决方案


绝对没有办法FirebaseApp在单个应用程序中报告来自多个实例的分析数据。请参阅Firebase Analytics(两个项目)的单个应用程序

如果我没记错的话,Google Analytics for Firebase 总是报告默认FirebaseApp实例的分析。我找到的最佳参考是在单个 android 应用程序中使用多个 firebase 帐户进行谷歌分析,但如果有人有更权威的来源,我很想听听。

如果是这种情况,由于每个构建都是Debug * 或 Release,您可以只初始化FirebaseApp特定构建目标的相关实例。


推荐阅读