编辑:我应该强调,我有一些口味,我不想使用这些 Google 服务中的任何一个,并且在没有适用的 google-services.json 的情况下尝试在这种情况下应用 google-services 插件,会导致构建失败。
我希望能够初始化 Firebase SDK,特别是使用远程配置,而不使用 google-services.json。
我看到 FirebaseApp 有一个初始化方法,它接收一个 FirebaseOptions 对象。
我已经使用 google-services.json 中提供的值构建了 FirebaseOptions,并且在使用这些选项调用 FirebaseApp.initialize 后,我总是得到
FirebaseInitProvider: FirebaseApp initialization unsuccessful
我知道这是使用 google-services.json 文件的推荐方式,但我需要能够使应用程序调用不同的 Firebase 项目,具体取决于调试/发布版本,同时保持包名称相同。
我想这样做的方法是为初始化 Firebase 所需的所有值设置一个调试/发布对,然后动态地进行初始化。
FirebaseOptions options = new FirebaseOptions.Builder()
.setApplicationId(appId)
.setApiKey(apiKey)
.setGcmSenderId(appContext.getString(
isDebug ? R.string.firebase_testing_gcm_sender_id :
R.string.firebase_production_gcm_sender_id))
.setDatabaseUrl(appContext.getString(
isDebug ? R.string.firebase_testing_database_url :
R.string.firebase_production_database_url))
.setStorageBucket(
appContext.getString(
isDebug ? R.string.firebase_testing_storage_bucket :
R.string.firebase_production_storage_bucket))
.build();
FirebaseApp.initializeApp(appContext, options);
到目前为止,它似乎不起作用。
非常感谢所有帮助!