没有google-services.json文件的Google登录

时间:2018-02-23 12:07:46

标签: firebase google-login google-plugin-eclipse google-play-services

我一直在寻找一种方法,以便在运行时添加google-services.json,因为我们使用相同的基本代码为不同的客户端配置应用程序,因此我们希望在运行时添加google-services.json。

我尝试了几个链接,但无法找到这样的方法。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

google-services.json实际上从未在运行时读取。在Android应用的构建过程中,google-services.json中的相关信息会转换为App的XML资源,而 是应用启动时读取的位置。由于构建插件放置值的目标是硬连线的,因此您无法将其配置为具有多组配置数据。

我建议您不要尝试在运行时阅读google-services.json,而是明确在代码中配置FirebaseApp实例,如下所示:

// Manually configure Firebase Options
FirebaseOptions options = new FirebaseOptions.Builder()
        .setApplicationId("1:27992087142:android:ce3b6448250083d1") // Required for Analytics.
        .setApiKey("AIzaSyADUe90ULnQDuGShD9W23RDP0xmeDc6Mvw") // Required for Auth.
        .setDatabaseUrl("https://myproject.firebaseio.com") // Required for RTDB.
        .build();

现在,您可以确定自己在哪里保留google-services.json中的相关信息以及应用启动时要使用的信息。

然后:

// Initialize with secondary app.
FirebaseApp.initializeApp(this /* Context */, options, "secondary");

// Retrieve secondary app.
FirebaseApp secondary = FirebaseApp.getInstance("secondary");
// Get the database for the other app.
FirebaseDatabase secondaryDatabase = FirebaseDatabase.getInstance(secondary);

另见: