Unity开发Android应用:启用游戏服务需用哪种OAuth凭证?
基于Unity的Android应用Google Play Games服务异常排查
背景
我已开发并发布一款基于Unity的Android应用,此前Google Play Games服务(GPGS)功能正常,近期修改配置后出现异常。
预期效果
- 打开应用时自动弹出Play Services登录窗口
- 点击成就按钮可正常打开成就页面
当前异常表现
(涵盖正式发布版、内部测试版、内部共享版)
- 打开应用无Play Services弹窗
- Android logcat输出错误:
[Play Games Plugin ... Returning an error code - 点击成就按钮提示「GPGS未初始化」
过往正常状态(修改前)
- 正式版及内部测试版打开应用时,Play Services弹窗正常显示
- 成就按钮可正常打开成就页面
推测方向
经网上搜索,怀疑问题源于SHA1证书配置错误
现有构建、签名及OAuth配置细节
签名密钥(Google Play Console > 设置与管理 > 应用完整性)
- 上传密钥证书(指纹A):我本地打包时使用的签名密钥,Google会用应用签名密钥重新签名应用
- 应用签名密钥证书(指纹B):Google重签后,应用实际运行时使用的签名密钥
OAuth客户端凭证
目前在Google Cloud凭证页面有两个Android客户端凭证:
- 凭证1:关联指纹A,「用于新安装」设置为
false - 凭证2:关联指纹B,「用于新安装」设置为
true
所有配置修改已在Google Play Console发布板块完成发布
OAuth同意屏幕
应用设置为TESTING状态且从未发布;此前因正式版功能正常,认为仅使用成就功能无需配置该屏幕,但查阅文档时看到矛盾说明
核心疑问
- 正式版应用需要使用哪个OAuth凭证才能恢复预期功能?
- 哪个凭证应该勾选「用于新安装」选项?
- 若仅需使用成就功能,OAuth同意屏幕是否必须配置?若必须,为何之前未配置的情况下功能正常?
内容的提问来源于stack exchange,提问作者plonkticus
相关产品推荐
相关产品推荐

