Unity游戏Google Play Games登录:APK正常但ABB内部测试异常
Unity Google Play Games登录AAB包内部测试部分用户异常,APK正常
问题描述
我开发的Unity游戏采用Google Play Games登录方式,构建APK包时所有用户均可正常登录,但上传AAB包进行内部测试时,仅部分用户能正常登录,其余用户出现异常。
环境信息
- Unity版本:2020.3.26f1
- Google Play Services SDK版本:v0.11.01(此前使用v10.14版本时问题同样存在)
- Playfab SDK:最新版(已排除Playfab层面问题)
已尝试方案
- 更新Playfab SDK、Google Play Services SDK至最新兼容版本
- 检查游戏资源配置、OAuth客户端ID等信息是否正确
核心实现代码
public void SignInWithPlayGames() { PlayGamesPlatform.Instance.Authenticate((success) => { if (success == SignInStatus.Success) { string authCode; PlayGamesPlatform.Instance.RequestServerSideAccess(true, code => { authCode = code; // 此处调用LoginWithGooglePlayGamesServicesRequest完成Playfab登录 }); } }); }
可能的原因及解决步骤
AAB签名与Google Play控制台配置不匹配
AAB上传到Google Play后会由Google重新签名,需确保Google Play控制台中游戏的OAuth 2.0客户端ID是基于Google生成的签名证书SHA-1创建的,而非本地调试签名。- 操作:在Google Play控制台「应用签名」页面获取Google生成的SHA-1指纹,到Google Cloud控制台对应项目下,更新Play Games服务的OAuth客户端ID指纹信息。
Google Play Games服务测试人员权限未覆盖
部分用户可能未被添加到Google Play Games服务的测试人员列表,导致无法正常访问服务。- 操作:进入Google Play Games服务后台,在「测试」页面确认所有内部测试用户已加入测试名单,且测试状态已启用。
AAB构建时Google Play服务依赖打包不完整
Unity构建AAB时可能出现依赖裁剪或打包缺失,导致部分设备上Google Play Games服务无法初始化。- 操作:
- 在Unity「Player Settings」→「Android」→「Publishing Settings」中,启用「Custom Main Gradle Template」和「Custom Base Gradle Template」。
- 在主Gradle模板中添加Google Play Games服务依赖声明(版本需与SDK匹配):
implementation 'com.google.android.gms:play-services-games:23.1.0' implementation 'com.google.android.gms:play-services-auth:20.7.0' - 临时禁用「Minify Enabled」和「Obfuscate Enabled」,排除代码混淆导致的逻辑异常。
- 操作:
RequestServerSideAccess参数设置问题
调用RequestServerSideAccess(true, ...)时,forceRefresh设为true可能导致部分用户授权码获取失败,尝试改为false测试:PlayGamesPlatform.Instance.RequestServerSideAccess(false, code => { authCode = code; // 后续Playfab登录逻辑 });
内容的提问来源于stack exchange,提问作者Matías
相关产品推荐
相关产品推荐

