开放数据域、关系链数据、定向分享,三大利器实现小游戏社交玩法 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wegeekxzs
V2EX    前端开发

开放数据域、关系链数据、定向分享,三大利器实现小游戏社交玩法

  •  
  •   wegeekxzs 2019-11-26 17:23:37 +08:00 3010 次点击
    这是一个创建于 2224 天前的主题,其中的信息可能已经有所发展或是发生改变。

    为了让小游戏获得社交属性,我们曾介绍过如何利用开放数据域为小游戏添加好友排行榜的功能。现在,小游戏有更多社交玩法了。

    早前,微信小游戏在关系链数据能力的基础上,增加互动型托管数据,提供关系链互动能力,实现微信好友之间在小游戏内部的互动玩法。而定向分享则实现玩家在游戏内互动的同时,将小游戏定向分享给同玩好友以及可能感兴趣的非玩家好友。

    利用关系链互动能力和定向分享能力,能实现以下场景:

    1. 无需跳出游戏界面即可分享游戏

    之前,用户要分享小游戏时,需要跳转到聊天列表,然后选择好友或群,再进行分享。这样的“三步走”让不少用户觉得麻烦。现在,有了定向分享能力,用户要点击分享按钮,无需跳出游戏界面,即可向好友“炫耀”战绩、邀请开黑、请求帮助等等。

    在这里插入图片描述

    并且,定向分享支持 50 个自定义场景值,这意味着,开发者可以针对不同场景定制分享文案,让用户分享变得更加省时省力。

    2. 好友之间互赠游戏道具、互相点赞

    你还记得那些年我们在 QQ 空间玩过的农场吗? QQ 好友之间除了偷菜之外,还能够互相赠送牧草和金币,在游戏上体会到“相爱相杀”的滋味。现在,开发者可以运用关系链互动能力,实现好友之间互相点赞和赠送游戏道具。

    发起互动后,还可以结合定向分享能力,把互动结果告诉好友,让用户在小游戏里继续增进彼此在现实中的友情。

    在这里插入图片描述 在这里插入图片描述

    3. 邀请未注册好友加入游戏,并获得奖励

    在用户发起定向分享时,开发者可以结合关系链互动能力,通过开放数据域获得可能对游戏感兴趣的未注册好友名单(每次调用最多可获得 5 个好友)。用户便能直接邀请这些好友成为游戏新玩家,让分享不再成为纠结的事。

    而且,定向分享还支持返回好友互动成功的回调结果,可对发起互动的用户发放道具奖励,激励玩家进行良性互动。例如,A 向 C 分享 邀请加入游戏。C 进入游戏后,获得游戏道具奖励

    在这里插入图片描述 在这里插入图片描述

    那么,实现这些玩法的逻辑是怎样的呢?

    为了让开发者获取关系链数据,同时避免被恶意使用,微信设计了开放数据域,一个封闭、独立的 Javascript 作用域。小游戏入口是 game.js ,运行在主域;而开放数据域是需要在 game.json 中添加配置项 openDataContext 指定开放数据域的代码目录进行开启。

    开放数据域与小游戏主域相互隔离,代码不能相互 require。开发者可以将玩家数据(等级、战绩等)托管到云端,开放数据域与托管数据之间可以自由读写,并且可以获取关系链数据。关于关系链数据和开放数据域,详细可参考文档: https://developers.weixin.qq.com/minigame/dev/guide/open-ability/open-data.html

    在开放关系链数据能力的基础上,新增互动性托管数据,提供关系链互动能力。关系链互动数据可以从小游戏主域中读取,并通过 JSServer 进行数据安全性校验。详细可参考文档: https://developers.weixin.qq.com/minigame/dev/guide/open-ability/interactive-data.html

    微信提供以下前端接口读写关系链互动数据:

    • wx.getUserInteractiveStorage:读取当前用户关系链互动数 在这里插入图片描述

    • wx.modifyFriendInteractiveStorage:修改当前用户好友的关系链互动数据 在这里插入图片描述

    以上面提到的赠送道具给好友为例,提供以下参考代码:

    wx.modifyFriendInteractiveStorage({ key: '1', opNum: 1, operation: 'add', toUser: '', // 好友的 openId title: '送你 10 个金币,赶快打开游戏看看吧', // 2.9.0 支持 imageUrl: 'image/xxx' // 2.9.0 支持 }) 

    在定向分享方面,微信提供以下接口:

    • wx.shareMessageToFriend(Object object):给指定的好友分享游戏信息 在这里插入图片描述

    • wx.setMessageToFriendQuery:主域设置定向分享参数 在这里插入图片描述

    P.S.我们最近建了个 WeGeek 技术交流群,除了技术交流之外,群内定期发布官方小程序云开发课程。欢迎小程序开发同好者进群交流,调戏勾搭群里的云开发大神~扫码即可获取进群方式。 在这里插入图片描述

    目前尚无回复
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5781 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 02:19 PVG 10:19 LAX 18:19 JFK 21:19
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86