了解 Unity.Social 和 Apple Game Center 排行榜中的 "daily" 和 "weekly" 范围
Understanding the "daily" and "weekly" scopes in Unity.Social & Apple GameCenter Leaderboards
Unity 的 Social.TimeScope
文档说:
TimeScope.Today: Only return scores from today
https://docs.unity3d.com/352/Documentation/ScriptReference/TimeScope.Today.html
但是,Apple 的原生 Swift 文档说:
case today: Each player is restricted to scores recorded in the past 24 hours.
https://developer.apple.com/documentation/gamekit/gkleaderboardtimescope
因此,当使用 Unity.Social.TimeScope
从 Apple 的 GameCenter 中获取 "daily" 分数时,会返回以下哪些:
- 今天的分数(如果是,在哪个时区?)。
- 过去 24 小时的分数,与日期无关。
"weekly" 时间范围也是如此:"the last week" 在这里意味着什么?
- 在 "current" 周的范围内,即从周日开始?
- 最近168小时(7*24)范围内,不考虑当天?
所以我 运行 稍微 "expirement" 使用 TimeScope. Today
来 LoadScores
并自己弄明白了:
- 我在 17:00 发布了高分。
- 第二天我在10:00发了一个较低的分数,用
LoadScores
.[=28=时仍然看到返回了较高的分数]
- 我在18:00再次发了低分,距离高分发了24个多小时,而这次低分是
LoadScores
返回的。
结论: Social.TimeScope.Daily
== 过去 24 小时的分数,与日期无关。
我假设相同的逻辑适用于 Weekly
:小时而不是日期。
Unity 的 Social.TimeScope
文档说:
TimeScope.Today: Only return scores from today https://docs.unity3d.com/352/Documentation/ScriptReference/TimeScope.Today.html
但是,Apple 的原生 Swift 文档说:
case today: Each player is restricted to scores recorded in the past 24 hours. https://developer.apple.com/documentation/gamekit/gkleaderboardtimescope
因此,当使用 Unity.Social.TimeScope
从 Apple 的 GameCenter 中获取 "daily" 分数时,会返回以下哪些:
- 今天的分数(如果是,在哪个时区?)。
- 过去 24 小时的分数,与日期无关。
"weekly" 时间范围也是如此:"the last week" 在这里意味着什么?
- 在 "current" 周的范围内,即从周日开始?
- 最近168小时(7*24)范围内,不考虑当天?
所以我 运行 稍微 "expirement" 使用 TimeScope. Today
来 LoadScores
并自己弄明白了:
- 我在 17:00 发布了高分。
- 第二天我在10:00发了一个较低的分数,用
LoadScores
.[=28=时仍然看到返回了较高的分数] - 我在18:00再次发了低分,距离高分发了24个多小时,而这次低分是
LoadScores
返回的。
结论: Social.TimeScope.Daily
== 过去 24 小时的分数,与日期无关。
我假设相同的逻辑适用于 Weekly
:小时而不是日期。