我收到
无法登录:使用Google帐户登录时为16英寸 Android版本7.1.1
但是,当我使用相同的Android版本(7.1.1)使用物理设备登录时,就可以了
我检查了google-service.json
文件和client_id
的{{1}}:3匹配Web应用程序的客户端ID。
client_type
当我在fun getGoogleSignInClient(token: String): GoogleSignInClient {
val gso: GoogleSignInOptions =
GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestIdToken(token)
.requestEmail()
.build()
return GoogleSignIn.getClient(context!!, gso)
}
控制台中转到“身份验证/用户”时,可以看到我要用来登录的电子邮件地址。
Firebase
返回mGoogleSignInClient.signInIntent
我可以确保100%确保使用与物理设备上相同的帐户,因为我可以访问相同的Gmail帐户。
在mName = Auth.GOOGLE_SIGN_IN_API and mId = 3
中,选择要登录的帐户后,收到onActivityResult
,其状态为Task<GoogleSignInAccount!>
,并且在Status{statusCode=CANCELED, resolution=null}
我在物理设备和仿真器上卸载了应用程序,并且执行了完全相同的操作来登录,但使用仿真器仍然出现异常错误。
更新:
看起来这与使用ionic-native和cordova插件进行开发时发现的问题相同,对于Android版本7.1.1也是如此 有些人声称他们在开发版本中不断遇到此错误,但是一旦切换到发行版本,一切都会好起来。
https://github.com/EddyVerbruggen/cordova-plugin-googleplus/issues/529#issuecomment-425771704
另外,根据Google common.api
,代码16的意思是“结果由于客户端断开连接或取消而被取消”