我正在开发Android游戏,目前正在尝试与Google Play游戏服务集成。我被卡在了登录功能上。
我使用GoogleSignIn
,getIntent
,startActivityForResult
等 - 所有内容均如Google手册中所述。我认为所有设置都正确,因为当我构建应用程序时,部署到Google Store(内部测试),然后我从那里安装它,一切看起来都不错:onActivityResult
被调用{{1} }。
问题是我尝试从Android Studio运行应用程序(或手动安装APK)。在这种情况下,使用SIGN_IN_REQUIRED调用result.isSuccess()==true and GoogleSignIn.getLastSignedInAccount returns != null
,onActivityResult
始终为null。我非常确定所有设置都正常(APK已签名,Android Studio已配置为对APK等进行签名)。
为了确保它与我的Android Studio设置无关,我手动安装了与我上传到Google商店但完全相同的APK - 结果是相同的。从谷歌商店安装时,没关系,当手动安装时,它不会(再次:完全相同的APK二进制文件)。
你能帮帮我吗?从理论上讲,我可以继续开发,但每个我都想测试一下我需要将新版本上传到Google商店......谢谢
答案 0 :(得分:0)
嗯......通常的开发者错误,你可以做什么..在firebase控制台上添加你的SHA1代码,它会工作,它显示了这个行为因为已经添加了你的签名密钥SHA1,为什么它是处理发布版本而不是调试版本,添加系统SHA1
如何获得SHA1?
通常Android工作室的右侧有一个栏,上面写着 gradle 点击它,将它扩展到 app>任务> android>签名报告双击它.. .it将为您提供SHA1,将其粘贴到firebase控制台上,等待1-2分钟并检查。它会起作用。