编辑:我应该强调,我有某些口味,不想使用这些谷歌服务,并且试图在这种情况下应用google-services插件,而没有可适用的google-services.json,会导致构建失败。
我想能够初始化Firebase SDK,特别是使用远程配置,而不使用google-services.json。
我看到FirebaseApp有一个initialize方法,它接收一个FirebaseOptions对象。
我已经使用google-services.json中提供的值构建了FirebaseOptions,并在使用这些选项调用FirebaseApp.initialize之后,我总是得到
FirebaseInitProvider: FirebaseApp initialization unsuccessful
我知道使用google-services.json文件是推荐的方式,但我需要能够使应用程序调用不同的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);
到目前为止,似乎它还没有起作用。
非常感谢所有的帮助!
google-services.json
文件来支持不同的构建类型和风格。 - Bob Snyder