微信提供的子域只能实现好友排行,我们一般希望实现所有玩家的世界排行榜。
那么问题来了,我们怎么获取所有玩家的openid?其实很简单,就是玩家打开游戏或排行榜时,请求玩家授权,这样就拿到openid了。
那么问题又来了,有openid就能批量获取所有玩家的头像和游戏数据吗?微信为了保护用户隐私是不允许的,所以只拿到openid这还不够滴。
所以,这里我们需要一个云服务器,保存玩家的微信授权获取到的信息和游戏数据。微信提供了免费小游戏服务器,并支持云函数存取数据,就方便我们实现刚才提到的需求了。
这里对玩家的头像有2种处理文案:(1)微信拉下头像图片,上传头像云服务器保存;(2)云服务器保存头像URL,使用时再从微信拉取。
上面我们描述交互过程如下面图示:
有了思路和解决文案,我们就可以实现进入代码实现了。大家可以学习一下微信的云服器和云函数开发。这里就不详细教学了。直接上代码:
云服务初始化:
下载排行数据:
云函数:
上传玩家授权信息
上传分数和关卡方法与上面类型,就不贴图了。
下载玩家数据(信息+游戏)
下图是在我的小游戏中的实现效果:
感兴趣的小伙伴可以去玩一下我的小游戏:怪蛋世界。希望上面分享的内容对大家有点帮忙!小游戏开发容易,运营难啊。