我正在Unity 2018.2.15f1上使用Google Play游戏Unity3D api,应该注意的是我的Google Play游戏项目尚未发布,但是我不愿发布它,直到获得所有成就为止。
页首横幅发布代码为:
public void PostScore(long score)
{
Social.ReportScore(score, GPGSIds.leaderboard_high_scores, (bool success) => {
// handle success or failure
if(success)
{
Debug.Log("Posted Score of " + score);
}
else
{
Debug.Log("Failed to post score");
}
});
}
和logcat始终显示这将返回成功,如下所示:
11-16 02:45:05.041: I/Unity(5503): (Filename: ./Runtime/Export/Debug.bindings.h Line: 43)
11-16 02:45:05.042: I/Unity(5503): Posted Score of 19
但是,无论排行榜没有更新,它始终显示为8分。我不明白为什么会出现这种情况,因为即使我擦拭了排行榜,它也只能在我的设备上显示。
排行榜尚未发布是否存在问题?还是可能还有其他作用。
答案 0 :(得分:1)
问题是GPGS正在缓存排行榜分数,并拒绝从远程副本更新分数,解决方案是修改IPlayGamesPlatform
接口以支持传递自定义Types.DataSource
参数。这样就可以选择查看缓存的和联网的版本,或者仅查看联网的版本。
答案 1 :(得分:0)
就我而言,当我编辑GameServices配置文件并启用“让其他人查看您的游戏活动”复选框时,问题就解决了。
在此之前,无论我做什么,所有报告的分数都被忽略了。