Social.ReportProgress 使用 Google Play 游戏插件的方法总是 returns false

Social.ReportProgress method with Google Play Games Plugin always returns false

我在使用 Google 为 Unity3D 编辑器提供的 Google Play 游戏插件时遇到了问题。我刚刚将该插件包含在我的统一项目中,当我将应用程序构建到我的 android 设备上时,我可以使用我的 Google 帐户登录 Google Play Games。但是,我的成就从来没有在线修改过,因为方法的回调Social.ReportProgress returns 总是"false"。 (布尔成功)

// unlock achievement (achievement ID "Cfjewijawiu_QA")
Social.ReportProgress("Cfjewijawiu_QA", 100.0f, (bool success) => {
  // handle success or failure
});

我已经检查过我为我的成就使用了正确的 ID。我的代码和Google在github上提供的这段官方代码的区别是百分比。例如,我的应用程序可以将“33.3333”作为百分比。当我尝试将相同的百分比放在方法 (100.0f) 上时,bool success 也是错误的。怎么了 ?

好的,我找到问题了。

在插件的 github 存储库中,我使用了这段用于 GPG 初始化的代码:

PlayGamesClientConfiguration config = new PlayGamesClientConfiguration.Builder()
    // enables saving game progress.
    .EnableSavedGames()
    // registers a callback to handle game invitations received while the game is not running.
    .WithInvitationDelegate(this.Debug)
    // registers a callback for turn based match notifications received while the
    // game is not running.
    .WithMatchDelegate(this.Debug)
    .Build();

PlayGamesPlatform.InitializeInstance(config);

当我在 Unity 的初始化 class 中删除此部分时,成就报告效果很好。我认为这些行中存在一些问题,但我不知道在哪里。

此外,我了解到我无法设置像 33.333 这样的自定义百分比值。锁定成就的值必须为 0.0f,解锁成就的值必须为 100.0f。如果输入大于 0.0f 的值,则该值将自动视为 100.0f。如果您想对成就进行自定义步骤,则必须在 Google Play 控制台上使用增量成就。