我有一个使用Firebase Auth的Android应用,并且在解决我遇到的一些问题时,我注意到不需要将文件google-services.json
添加到项目中。
我的问题如下。我通过Google登录执行登录,并在GSO(Google登录选项)中指定了
gsob.requestIdToken(".....apps.googleusercontent.com");
gsob.requestEmail();
因为我想要一个idToken
,然后我可以将其传递给Firebase SDK以便将用户登录到Firebase(出于历史原因,我以这种方式使用它)。
它已经停止工作,这就是我干预google-services.json
文件的原因,因为我删除了console.developers.google.com
中的Client-ID并认为自己犯了一个错误。
在删除内容的同时,我也删除了一个条目
<meta-data android:name="identitytoolkit.server_client_id" android:value="....apps.googleusercontent.com" />
以及清单中的其他identitytoolkit
元数据条目。
最后,唯一重要的是将正确的client-id
传递给gsob.requestIdToken(".....apps.googleusercontent.com");
我不确定在最近两天Google是否会对Google Sing-In和Firebase之间的idTokens
有所困扰,但最终我认为我真的没有做任何改变以使其正常工作再次。
因此,在过去的几分钟中,我阅读了Firebase文档,并阅读了将Firebase添加到Android应用程序的两种选择,一种是我以前使用过的选项,然后有一个新的选项可以使用Firebase助手。
我从未使用过Firebase助手,但想知道它是否已在我的应用程序中自动启用(我从未单击“ 单击“连接到Firebase”在现有或新的Firebase项目中注册您的应用程序并自动添加必要的文件和代码添加到您的Android项目。“)
如何确定Android Studio中的某些内容是否已更改为自动添加Firebase配置?我在哪里知道它在使用哪个客户端ID?
我问是因为即使使用Firebase的基于电子邮件的身份验证(未明确使用Google登录)也在应用程序中运行,并且清单或清单中也没有json文件或其他客户端ID。可以用于此的代码。
答案 0 :(得分:1)
setup instructions中没有任何更改。您要么需要提供Play services plugin和google-server.json,要么需要手动复制其工作。手动复制其工作的唯一方法是将特定的字符串资源添加到所需的应用程序中,或使用特定设置调用initalizeApp。当前没有其他选择。