Xamarin中没有googleservices.json文件的Firebase实现

时间:2019-02-07 09:19:38

标签: c# firebase xamarin xamarin.android firebase-analytics

我必须在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未初始化。

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

Xamarin firebase different google-services,json for different build configurations

但是似乎它仍然在根文件夹中寻找json文件。

那么如何在不使用json文件或不使用json文件的情况下针对多种环境实现Firebase

1 个答案:

答案 0 :(得分:0)

绝对不可能在单个应用程序中报告来自多个FirebaseApp实例的分析数据。参见Firebase Analytics (Two projects) for single app

如果我没记错的话,Google Analytics for Firebase始终会报告默认FirebaseApp实例的分析。我为此找到的最佳参考是Use multiple firebase accounts in single android app for google analytics,但是如果有人有更权威的信息,我希望听听。

如果是这种情况,由于每个构建都是 调试*或Release,因此您只能为特定的构建目标初始化相关的FirebaseApp实例。