【问题标题】:Unity play game service authenticate failunity play 游戏服务认证失败
【发布时间】:2015-06-28 07:52:54
【问题描述】:

我从以下位置下载玩游戏统一插件 https://github.com/playgameservices/play-games-plugin-for-unity

在安卓设备上运行 MainScene

然后点击“验证”按钮,弹出谷歌播放对话框..

最后 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

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

Method1 在google play游戏机中, 添加测试用户和活跃的 alpha、beta 测试。

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

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

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

在发布设置中,选中“创建新密钥库”框。

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

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

从“密钥别名”下拉列表中选择“创建新密钥”。

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

单击“创建密钥”以生成您的密钥库文件。

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

选中“使用现有密钥库”框。

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

输入您的保护密钥。

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

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

确保您已在发布设置的底部设置了您的 Android 电子市场许可 RSA 公钥。必须从您的 Google 市场帐户中获取公钥。

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

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

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

PlayGamesPlatform.InitializeInstance(config);

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

Method4我也做这些检查

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

2.Play 游戏控制台中链接的应用程序包名称与 Player Settings/Other Settings/Bundle Identifier 中的 bundle id 匹配

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

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

【问题讨论】:

  • 确保您用于签署 apk 的密钥与您在 play.google.com/apps/publish 中声明的密钥相同
  • 致Kamalen:我不知道步骤细节,你能解释一下细节吗?

标签: c# authentication unity3d google-play-services


【解决方案1】:

我解决了我的问题。

确保以下内容相同

1.apk的sha1

2.Google Developers Console OAuth Android sha1

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

【讨论】:

    【解决方案2】:

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

    1) 从发布管理>工件库

    下载签名的apk

    2) Google Developers Console OAuth Android SHA 的更改。 您可以从 GooglePlay 控制台 复制它,它是列表中的第 5 个代码,并且与上传的 apk 的 SHA1 代码匹配。

    还要检查您是否正在使用游戏存档功能,并在服务部分启用它。

    希望对你有帮助!

    【讨论】:

      猜你喜欢
      • 2014-04-09
      • 2017-05-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-30
      • 2017-07-07
      • 2014-10-31
      相关资源
      最近更新 更多