我认为这是对该主题提出的其他问题的变体。

我有两种产品口味。我将应用程序部署在不同的环境中,每个环境都与不同的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");

10-08 08:17