You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Google Play游戏服务排行榜问题:仅能查看当前用户分数

Google Play Leaderboard 仅显示自身分数的排查解决方向

我之前做休闲游戏集成谷歌排行榜的时候,刚好碰到过完全一样的问题——分数上报、后台统计全正常,但玩家只能看到自己的分数,其他人的排名死活刷不出来。结合当时踩过的坑,给你几个可以优先排查的方向:

  • 再核对排行榜的核心配置
    虽然你说已经发布了排行榜,但还是得再去Google Play控制台里抠细节:

    • 确认「可见性」是公开(如果是测试阶段,要对应到你的测试分组可见),有时候发布后配置同步会有延迟,或者不小心选了「仅开发者可见」;
    • 检查「排行榜类型」,别选成了那种私密的仅用户可见类型,必须是公开排行榜类型才能让玩家看到其他人的分数。
  • 测试账号的权限是否真的生效
    就算用户在测试分组里,也可能有遗漏:

    • 确认测试账号已经在控制台的「测试人员」列表里,并且完成了测试邀请的确认(比如通过邮件或者Play商店的测试入口激活权限,有些用户加了Google Group但没走这个流程);
    • 如果用的是内部测试渠道,要确保排行榜的测试范围没有被限制成仅内部团队可见,得覆盖到当前的测试渠道。
  • 代码里的排行榜加载逻辑有没有错
    这是我当时踩的坑!检查一下加载排行榜的代码:

    • 是不是调用了正确的排行榜ID?别把测试ID和正式ID搞混了;
    • 重点看loadLeaderboardScores这类接口的参数,collection必须设成LEADERBOARD_COLLECTION_PUBLIC,要是选了社交分组或者仅自身的选项,那自然只能看到自己的分数;
    • 初始化Google Play Games服务的时候,权限要够,比如SCOPE_GAMES_LITE或者完整的游戏权限,权限不够会拉不到其他用户的公开数据。
  • 缓存和同步的锅
    测试阶段这种情况特别常见:

    • 让玩家清一下Google Play服务的缓存(设置→应用→Google Play服务→存储→清除缓存),重启设备再试试;
    • 要是控制台后台能看到其他玩家的分数,但客户端看不到,大概率是缓存延迟,要么等几个小时,要么让玩家退出Google账号重新登录,触发同步。
  • 区域/年龄限制有没有设错
    看看控制台里排行榜的「国家/地区可用性」和「年龄分级」,会不会测试玩家所在的地区刚好被限制了,或者年龄分级不符合,导致看不到其他人的分数。


内容的提问来源于stack exchange,提问作者Whoops

火山引擎 最新活动