開放數據域、關係鏈數據、定向分享,三大利器實現微信小遊戲社交玩法

爲了讓小遊戲得到社交屬性,咱們曾介紹過如何利用開放數據域爲小遊戲添加好友排行榜的功能。如今,小遊戲有更多社交玩法了。html

早前,微信小遊戲在關係鏈數據能力的基礎上,增長互動型託管數據,提供關係鏈互動能力,實現微信好友之間在小遊戲內部的互動玩法。而定向分享則實現玩家在遊戲內互動的同時,將小遊戲定向分享給同玩好友以及可能感興趣的非玩家好友。前端

利用關係鏈互動能力和定向分享能力,能實現如下場景:json

1. 無需跳出遊戲界面便可分享遊戲

以前,用戶要分享小遊戲時,須要跳轉到聊天列表,而後選擇好友或羣,再進行分享。這樣的「三步走」讓很多用戶以爲麻煩。如今,有了定向分享能力,用戶要點擊分享按鈕,無需跳出遊戲界面,便可向好友「炫耀」戰績、邀請開黑、請求幫助等等。 小程序

在這裏插入圖片描述
而且,定向分享支持50個自定義場景值,這意味着,開發者能夠針對不一樣場景定製分享文案,讓用戶分享變得更加省時省力。

2. 好友之間互贈遊戲道具、互相點贊

你還記得那些年咱們在QQ空間玩過的農場嗎?QQ好友之間除了偷菜以外,還可以互相贈送牧草和金幣,在遊戲上體會到「相愛相殺」的滋味。如今,開發者能夠運用關係鏈互動能力,實現好友之間互相點贊和贈送遊戲道具。安全

發起互動後,還能夠結合定向分享能力,把互動結果告訴好友,讓用戶在小遊戲裏繼續增進彼此在現實中的友情。 bash

在這裏插入圖片描述

在這裏插入圖片描述

3. 邀請未註冊好友加入遊戲,並得到獎勵

在用戶發起定向分享時,開發者能夠結合關係鏈互動能力,經過開放數據域得到可能對遊戲感興趣的未註冊好友名單(每次調用最多可得到5個好友)。用戶便能直接邀請這些好友成爲遊戲新玩家,讓分享再也不成爲糾結的事。微信

並且,定向分享還支持返回好友互動成功的回調結果,可對發起互動的用戶發放道具獎勵,激勵玩家進行良性互動。例如, A 向C 分享 邀請加入遊戲。C 進入遊戲後,得到遊戲道具獎勵 ide

在這裏插入圖片描述
在這裏插入圖片描述
那麼,實現這些玩法的邏輯是怎樣的呢?

爲了讓開發者獲取關係鏈數據,同時避免被惡意使用,微信設計了開放數據域,一個封閉、獨立的 JavaScript 做用域。小遊戲入口是 game.js ,運行在主域;而開放數據域是須要在 game.json 中添加配置項 openDataContext 指定開放數據域的代碼目錄進行開啓。ui

開放數據域與小遊戲主域相互隔離,代碼不能相互 require。開發者能夠將玩家數據(等級、戰績等)託管到雲端,開放數據域與託管數據之間能夠自由讀寫,而且能夠獲取關係鏈數據。關於關係鏈數據和開放數據域,詳細可參考文檔: developers.weixin.qq.com/minigame/de…spa

在開放關係鏈數據能力的基礎上,新增互動性託管數據,提供關係鏈互動能力。關係鏈互動數據能夠從小遊戲主域中讀取,並經過JSServer進行數據安全性校驗。詳細可參考文檔: developers.weixin.qq.com/minigame/de…

微信提供如下前端接口讀寫關係鏈互動數據:

  • 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技術交流羣,除了技術交流以外,羣內按期發佈官方小程序雲開發課程。歡迎小程序開發同好者進羣交流,調戲勾搭羣裏的雲開發大神~

在這裏插入圖片描述
相關文章
相關標籤/搜索