小游戏关系链能力升级,能做互动功能

有开发过微信小游戏的同学最近应该会收到一个叫“小游戏关系链能力升级”的服务通知。

媒体们好像都没怎么报导这个,但花叔觉得这个特性其实蛮厉害的,毕竟目前能做关系链数据功能的技术载体中,就只有小游戏。可以说,关系链数据的调用是微信赋予小游戏的专属特性,而这次带来的升级是补充以往很大的一个缺口能力。

既然说到升级,我们复习一下在这之前关系链数据在小游戏中是怎么用的:

旧版机制中,为了保护关系链数据,微信开发团队提出了“开放域”的机制,目的是把关系链数据锁死在开放域中,让开发者能在开放域中进行关系链数据的计算,却不让其上报至开发者服务器,也不让其透传到主域中。

这种机制其实主要是依靠微信侧提供服务器去托管用户的关系链和游戏行为数据(即普通托管数据),同时在前端提供一个隔离的子域运行环境来杜绝前端层面数据的主动上报。

这种机制下,关系链数据得到很好的保护,但局限性也是很显然的,这种情况下,关系链数据的展示非常单一,开发者只能沉淀和展示当前用户与其好友们的游戏数据。而他的好友间的互动数据是没法沉淀也是没法展现的。

比如说在太空引力游戏中的好友排行榜,就是基于这个机制做的,它能显示玩过这个游戏的所有好友的成绩,但如果好友间存在互动(比如说“好友点赞”、“赠送礼物”之类的强交互功能),基于这个机制是没法做到沉淀以及曝光的。

也就是说,如果要一个小游戏实现类似一起来捉妖中的好友赠礼功能,以往是没法做到的。

所以,也许是为了解决这个问题,现在,微信开发团队升级了这个机制。

这次更新非常有诚意,里面涉及的底层架构一定非常复杂,很庆幸微信一直坚持着技术革新。

花叔为了让开发同学更容易理解和上手,对官方的流程图做了个优化:

红色流程为新增流程,其中提到“JSServer”和“交互型托管数据”的两个新概念。

简而言之就是在开放域中,开发者可以捕获用户的交互数据(比如点赞、赠礼数据,实际上这种数据就是用户间的关联关系数据),然后通过JSServer服务器干两个事情:

1.进行校验并把此数据存到微信提供的“交互型托管数据”服务器中;

2.同步数据到原本的普通托管数据中(这样就能够实现你点赞某好友,所有好友都能看到)。

依靠这个机制,能把用户的好友筛选出来,同时还能把用户好友间发生的事情表达出来。

可以说技术机制设计得很巧妙了,而实际上,有一些小游戏已先行开发了类似功能:

开发流程有一点点复杂,花叔结合cocos creator也做出了个demo:

其实逻辑上做起来也不算很麻烦,但是个人觉得数据管理成本可能会变高吧?

然而,花叔相信广大开发者们是聪慧的,也许多花点时间就能总结出高效开发的套路。

期待大侠们的见解~

ps.需要源码的话,留言呗。

原文发布于微信公众号 - MinProgram(gh_0d2d5abccc20)

原文发表时间:2019-08-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券