Google Play 游戏排行榜 post 分数报告成功但未更新
Google Play Games Leaderboard post score reports success but doesn't update
我在 Unity 2018.2.15f1 上使用 google 玩游戏 Unity3D api,应该注意的是我的 google 玩游戏项目没有发布但是我没有在我的所有成就都放在那里之前我不想发布它。
排行榜发布代码为:
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 始终表明这 returns 是成功的,因此:
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 分。我不明白为什么会出现在这里,因为它只显示在我的设备上,即使我擦除排行榜也是如此坚持。
是不是排行榜还没有公布的问题?还是有其他原因在起作用。
问题是 GPGS 正在缓存排行榜分数并拒绝从远程副本更新它们,解决方案是修改 IPlayGamesPlatform
接口以支持传入自定义 Types.DataSource
参数。这允许选择查看缓存和网络版本或仅查看网络版本。
在我的例子中,当我编辑我的 GameServices 配置文件并启用复选框 "Let others see your game activity" 时,问题就解决了。
在那之前无论我做什么,所有报告的分数都被忽略了。
我在 Unity 2018.2.15f1 上使用 google 玩游戏 Unity3D api,应该注意的是我的 google 玩游戏项目没有发布但是我没有在我的所有成就都放在那里之前我不想发布它。
排行榜发布代码为:
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 始终表明这 returns 是成功的,因此:
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 分。我不明白为什么会出现在这里,因为它只显示在我的设备上,即使我擦除排行榜也是如此坚持。
是不是排行榜还没有公布的问题?还是有其他原因在起作用。
问题是 GPGS 正在缓存排行榜分数并拒绝从远程副本更新它们,解决方案是修改 IPlayGamesPlatform
接口以支持传入自定义 Types.DataSource
参数。这允许选择查看缓存和网络版本或仅查看网络版本。
在我的例子中,当我编辑我的 GameServices 配置文件并启用复选框 "Let others see your game activity" 时,问题就解决了。
在那之前无论我做什么,所有报告的分数都被忽略了。