我遇到了谷歌为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成功也是错误的。怎么了 ?
答案 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控制台上的增量成就。