我认为这是对该主题提出的其他问题的变体。
我有两种产品口味。我将应用程序部署在不同的环境中,每个环境都与不同的Firebase项目通信。因此,对于每种口味,我需要能够针对特定的环境(开发,测试,生产等)。
有没有一种方法,我可以制作一种风味的构建变体,从而选择适当的google-services.json
文件而不引入新的产品风味?也许我以错误的方式解决了这个问题。
最佳答案
我能够做到这一点的唯一方法是绕过google-services.json
的使用并动态创建FirebaseApp
实例,例如
if (<is dev>) {
apiKey = <dev api key>;
databaseUrl = <dev database url>;
} else if (<is test> {
apiKey = <>;
databaseUrl = <>;
} else // production {
apiKey = <>;
databaseUrl = <>;
}
FirebaseOptions firebaseOptions = new FirebaseOptions.Builder()
.setApiKey(apiKey)
.setApplicationId(context.getString(R.string.google_app_id))
.setDatabaseUrl(databaseUrl)
.build();
return FirebaseApp.initializeApp(context, firebaseOptions, "MyApp");