编辑:我应该强调,我有口味,我不想使用任何这些谷歌服务,并尝试在这种情况下应用谷歌服务插件,没有适用的google-services.json,将导致构建失败.
我希望能够初始化Firebase SDK,特别是使用远程配置,不使用google-services.json.
我看到FirebaseApp有一个初始化方法,它接收一个FirebaseOptions对象.
我使用google-services.json中提供的值构建了FirebaseOptions,在使用这些选项调用FirebaseApp.initialize之后,我总是得到
FirebaseInitProvider: FirebaseApp initialization unsuccessful
Run Code Online (Sandbox Code Playgroud)
我知道这是使用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);
Run Code Online (Sandbox Code Playgroud)
到目前为止它似乎没有用.
非常感谢所有帮助!