Unity玩游戏服务认证失败

Unity play game service authenticate fail

我从下载 play games unity 插件 https://github.com/playgameservices/play-games-plugin-for-unity

和 运行 android 设备中的 MainScene

然后点击"Authenticate"按钮,弹出google播放对话框..

最后 Social.localUser.authenticated 总是错误的。

然后我在下面的场景中绘制调试信息:

Createing platform-specific Play Games client
Creating real IPlayGamesClient
Entering state:ShutdownState
ShutdownState.OnStateEntered:Defaulting to no-op.
Starting Auth Transition.Op SIGN_IN status ERROR_NOT_AUTHORIZED
PlayGamesHelperObject.OnApplicationPause True
PlayGamesHelperObject.OnApplicationPause False
PlayGamesHelperObject.OnApplicationPause True
PlayGamesHelperObject.OnApplicationPause False
Invoking user callback on game thread

我尝试了以下这些方法来修复, 但我仍然无法成功登录

方法1 在google玩游戏机, 添加测试用户和活动的 alpha、beta 测试。

方法2 在unity中,创建android keystore并签名

密钥库是用于签署您的 apk 的签名文件。当您创建开发版本时,Unity 不会签署 apk。

您的项目只需要一个密钥库文件。该文件是您的签名。要创建一个,请执行以下操作:

在发布设置中选中 "Create New Keystore" 框。

单击浏览并选择要存储文件的位置。它应该位于中心位置,因为它与您的项目并没有真正的关系。

为文件设置保护密码并确认。

Select "Create a new key" 来自 "Key Alias" 下拉列表。

应打开一个 window,您必须在其中填写有关您的组织/个人的个人数据。顶部的别名只是密钥库的名称。如果您有多个身份,请确保选择一个有意义的名称。您需要设置密钥库密码。注意这与上面的保护密码不同。据我所知,它们可以相同,但为了安全起见,您应该使用两个不同的。如果您还没有将密码写在 sheet 纸上 ;)

单击 "Create Key" 生成您的密钥库文件。

要使用密钥库进行签名,您必须:

选中 "Use Existing Keystore" 框。

单击浏览并 select 您的密钥库文件。

输入您的保护密钥。

select 从别名下拉列表中您想要的身份。

在下面的字段中输入别名密码

确保您已经在发布设置的底部设置了 Android Market Licensing RSA Public 密钥。 public 密钥必须从您的 Google 市场帐户中获取。

现在创建您的 APK 文件,它将使用您的身份进行签名。

有人提到这些代码的方法 3 对他们来说是成功的

PlayGamesClientConfiguration config = new  PlayGamesClientConfiguration.Builder().
    //.EnableSavedGames()     
    Build();

PlayGamesPlatform.InitializeInstance(配置);

 PlayGamesClientConfiguration config = new PlayGamesClientConfiguration.Builder().
        .EnableSavedGames()     
        Build();
 PlayGamesPlatform.InitializeInstance(config);

方法4我也做了这些检查

1.Application "Android Setup" 对话框中的 ID 与 Play 游戏控制台中的应用程序 ID 匹配 (https://play.google.com/apps/publish)

2.The Play 游戏控制台中的链接应用程序包名称与玩家设置/其他设置/捆绑包标识符中的捆绑包 ID 相匹配

3.The 您登录的用户已添加为 Play 游戏控制台中的测试员

所以就卡在这里了,不知道为什么认证不成功

我解决了我的问题。

确保下面这些是相同的

1.apk 的 sha1

2.Google 开发者控制台 OAuth Android sha1

3.GooglePlay 开发者控制台 link Google API “OAuth2 客户端 ID” 设置

如果您启用了 Google 应用签名,您有 2 个选项:

1) 从版本管理 > 工件库

下载签名的 apk

2) Google Developers Console OAuth Android SHA 发生变化。 您可以从 GooglePlay Console 复制它,它是列表中的第 5 个代码,与上传的 apk 的 SHA1 代码匹配。

还要检查您是否正在使用 Saved Games 功能,并在 Services 部分启用它。

希望对您有所帮助!