Unity GooglePlayGames LoadScores 始终不返回任何内容
Posted
技术标签:
【中文标题】Unity GooglePlayGames LoadScores 始终不返回任何内容【英文标题】:Unity GooglePlayGames LoadScores always returns nothing 【发布时间】:2021-03-14 16:16:06 【问题描述】:我正在尝试使用 Google Play 游戏从排行榜中获取最高分,但它没有返回任何内容。有人能指出我正确的方向吗?
public int WorldRecord()
int topScore = 0;
PlayGamesPlatform.Instance.LoadScores(
GPGSIds.leaderboard_quick_fire_scores,
LeaderboardStart.TopScores, 1,
LeaderboardCollection.Public,
LeaderboardTimeSpan.AllTime,
(LeaderboardScoreData data) =>
topScore = (int)data.Scores[0].value;
);
return topScore;
谢谢
【问题讨论】:
【参考方案1】:PlayGamesPlatform.Instance.LoadScores
异步运行,完成后执行传递的操作。
但是,您的方法不会等到该请求实际完成,因此只会在 LoadScores
实际完成并提供有效结果之前返回默认值 0
。
您可能更应该使用某种回调,例如
public void WorldRecord(Action<int> onResult)
PlayGamesPlatform.Instance.LoadScores(
GPGSIds.leaderboard_quick_fire_scores,
LeaderboardStart.TopScores, 1,
LeaderboardCollection.Public,
LeaderboardTimeSpan.AllTime,
(LeaderboardScoreData data) =>
onResult?.Invoke((int)data.Scores[0].value);
);
然后传递一个回调,当结果准备好时应该发生什么,例如
WorldRecord(topScore =>
Debug.Log($"Top Score: topScore");
);
【讨论】:
以上是关于Unity GooglePlayGames LoadScores 始终不返回任何内容的主要内容,如果未能解决你的问题,请参考以下文章
Unity3D - CommandInvokationFailure:重新打包资源失败
Google Play Games 重复符号 IOS (Cocoa)
Unity Google Play 游戏插件无法在 Xcode iOS 中编译