使用Google Play游戏插件的Social.ReportProgress方法始终返回false

时间:2015-01-09 05:47:59

标签: android unity3d google-play-games

我遇到了谷歌为Unity3D编辑器提供的Google Play游戏插件的问题。我刚刚在我的Unity项目中加入了插件,当我将应用程序版本放在我的Android设备上时,我可以使用我的Google帐户登录Google Play游戏。但是,我的成就永远不会在线修改,因为Social.ReportProgress方法的回调总是返回" 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成功也是错误的。怎么了 ?

1 个答案:

答案 0 :(得分:1)

好的,我发现了问题。

在插件的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上的init类中删除此部分时,成就报告非常有效。我认为这些问题存在一些问题,但我不知道在哪里。

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