珠海网站建设网珠海网站建设公司 - 品牌建站
只帮客户做赚钱的营销型企业网站,让企业主轻轻松松赚钱!

在中国,有 06815 家企业正在使用我们提供的各项服务!

微信小程序游戏关系链数据API接口使用指南

发布时间:2018/3/23阅读次数:9775来源:珠海网站建设网 [ 网讯互联 ][ 微信小程序 ] [ 我要投稿 ]

微信小游戏是小程序的一个类目,微信用户完成微信小程序注册后,可选择“游戏”类目并开始开发及调试微信小游戏【珠海微信小程序建设电话:400-000-1280】,为了丰富微信游戏的社交玩法,微信团队提供了获取关系链数据的API接口,可获取当前用户也玩该小游戏的好友的用户数据。

珠海微信小程序建设:微信小程序游戏关系链数据API接口使用指南

珠海微信小程序建设:微信小程序游戏关系链数据API接口使用指南

微信小游戏接入指南

注册小程序帐号:在微信公众平台官网首页(mp.weixin.qq.com)点击右上角的“立即注册”按钮。

选择注册的帐号类型:选择“小程序”,点击“查看类型区别”可查看不同类型帐号的区别和优势。

填写邮箱和密码:请填写未注册过公众平台、开放平台、企业号、未绑定个人号的邮箱。

激活邮箱:登录邮箱,查收激活邮件,点击激活链接。

填写主体信息:点击激活链接后,继续下一步的注册流程。请选择主体类型选择,完善主体信息和管理员信息。

填写主体信息并选择验证方式:企业类型帐号可选择两种主体验证方式。 方式一:需要用公司的对公账户向腾讯公司打款来验证主体身份。打款信息在提交主体信息后可以查看到。 方式二:通过微信认证验证主体身份,需支付300元认证费。认证通过前,小程序部分功能暂无法使用。


关系链数据使用指南

一个微信用户的关系链数据包括两部分:

  • 该用户好友的用户数据
  • 该用户所在的某个群的群成员的用户数据。

为了丰富游戏的社交玩法,我们提供了获取关系链数据的 API:

  • wx.getFriendCloudStorage() 获取当前用户也玩该小游戏的好友的用户数据
  • wx.getGroupCloudStorage() 获取当前用户在某个群中也玩该小游戏的成员的用户数据

这两个 API 的返回结果都是一个对象数组,数组的每一个元素都是一个表示用户数据的对象,其结构如下:

属性 类型 说明
openId string 用户的 openId
avatarUrl string 用户的微信头像 url
nickName string 用户的微信昵称
data Object 用户的游戏数据

用户的 游戏数据 指的是用户的段位、战绩等游戏业务特有的数据,通过调用 wx.setUserCloudStorage() 可以将当前用户的游戏数据托管在微信后台。只有被托管过数据的用户,才会被视为 玩过 该小游戏的用户,才会出现在 wx.getFriendCloudStorage() 和 wx.getGroupCloudStorage() 返回的对象数组中。

除此之外,我们还提供了以下 API:

  • wx.removeUserCloudStorage() 删除用户托管数据中指定字段的数据
  • wx.getUserCloudStorage() 获取当前用户的托管数据

wx.getUserCloudStorage、wx.getFriendCloudStorage() 和 wx.getGroupCloudStorage() 只能在 开放数据域 中调用。
wx.setUserCloudStorage() 和 wx.removeUserCloudStorage() 可以同时在 主域 和开放数据域中调用。

开放数据域

开放数据域 是一个封闭、独立的 JavaScript 作用域。要让代码运行在开放数据域,需要在 game.json 中添加配置项 openDataContext 指定开放数据域的代码目录。添加该配置项表示小游戏启用了开放数据域,这将会导致一些 限制。

{ "deviceOrientation": "portrait", "openDataContext": "src/myOpenDataContext" }

同时还需要在该目录下创建 index.js 作为开放数据域的入口文件,其代码运行在开放数据域。game.js 是整个游戏的入口文件,其代码运行在 主域。对应以上配置,应该有如下的目录结构:

├── src  
|   └── myOpenDataContext
|       ├── index.js
|       └── ...
├── game.js
├── game.json
└── ...

src/myOpenDataContext 是 开放数据域的代码目录,除 src/myOpenDataContext 以外是 主域的代码目录。

主域和开放数据域中的代码不能相互 require。以如下的目录结构为例:

├── src  
|   └── myOpenDataContext
|       ├── index.js
|       ├── util.js
|       └── ...
├── lib
|   └── render.js
└── game.js

在 game.js 中不能 require('src/myOpenDataContext/util')
在 src/myOpenDataContext/index.js 中不能 require('../../lib/render.js')

主域和开放数据域的通信

开放数据域不能向主域发送消息。

主域可以向开放数据域发送消息。调用 wx.getOpenDataContext() 方法可以获取开放数据域实例,调用实例上的 OpenDataContext.postMessage() 方法可以向开放数据域发送消息。

// game.js let openDataContext = wx.getOpenDataContext()
openDataContext.postMessage({
  text: 'hello',
  year: (new Date()).getFullYear()
})

在开放数据域中通过 wx.onMessage() 方法可以监听从主域发来的消息。

// src/myOpenDataContext/index.js wx.onMessage(data => { console.log(data) /* {
    text: 'hello',
    year: 2018
  } */ })

展示关系链数据

如果想要展示通过关系链 API 获取到的用户数据,如绘制排行榜等业务场景,需要将排行榜绘制到 sharedCanvas 上,再在主域将 sharedCanvas 渲染上屏。


// src/myOpenDataContext/index.js let sharedCanvas = wx.getSharedCanvas() function drawRankList (data) {
  data.forEach((item, index) => { // ... })
}

wx.getFriendUserGameData({
  success: res => { let data = res.data
    drawRankList(data)
  }
})

sharedCanvas 是主域和开放数据域都可以访问的一个离屏画布。在开放数据域调用 wx.getSharedCanvas() 将返回 sharedCanvas。

// src/myOpenDataContext/index.js let sharedCanvas = wx.getSharedCanvas() let context = sharedCanvas.getContext('2d')
context.fillStyle = 'red' context.fillRect(0, 0, 100, 100)

在主域中可以通过开放数据域实例访问 sharedCanvas,通过 drawImage() 方法可以将 sharedCanvas 绘制到上屏画布。

// game.js let openDataContext = wx.getOpenDataContext() let sharedCanvas = openDataContext.canvas let canvas = wx.createCanvas() let context = canvas.getContext('2d')
context.drawImage(sharedCanvas, 0, 0)

限制

当小游戏启动开放数据域,即在 game.json 中添加 openDataContext 配置项时。小游戏环境会对主域和开放数据域应用一些限制。

主域

  1. sharedCanvas 只能被绘制到上屏 canvas 上。
  2. 上屏 canvas 不能调用 toDataURL,其 context 不能调用 getImageData。
  3. sharedCanvas 不能调用 toDataURL 和 getContext。
  4. 不能将上屏 canvas 和 sharedCanvas 以任意形式绘制到其他 canvas 上,包括 drawImage、createPattern、texImage2D、texSubImage2D。

开放数据域

开放数据域只能调用有限的 API,如下所示:

帧率

  • requestAnimationFrame()
  • cancelAnimationFrame()

Timer

  • setTimeout()
  • clearTimeout()
  • setInterval()
  • clearInterval()

触摸事件

  • wx.onTouchStart()
  • wx.onTouchMove()
  • wx.onTouchEnd()
  • wx.onTouchCancel()
  • wx.offTouchStart()
  • wx.offTouchMove()
  • wx.offTouchEnd()
  • wx.offTouchCancel()

画布

  • wx.createCanvas()

开放数据域的所有 canvas 只支持 2d 渲染模式

图片

  • wx.createImage()

开放数据域的 Image 只能使用本地或微信 CDN 的图片,不能使用开发者自己服务器上的图片。

开放数据

  • wx.getFriendCloudStorage()
  • wx.getGroupCloudStorage()
  • wx.getUserCloudStorage()
  • wx.setUserCloudStorage()
  • wx.removeUserCloudStorage()

监听主域消息

  • wx.onMessage()


以上内容由珠海网站建设(网讯互联)为您提供!更多有关网站建设网站设计网站制作微信营销微官网手机网站建设营销型网站建设微信小程序等互联网应用服务都可以联系我们!建站热线:400-000-1280

您想咨询企业网站建设流程和报价吗?
您是否有考虑过打造赚钱营销型企业网站
移动互联网+都这么热门了,您还没有4G手机网站吗?
您想要让您的产品和服务出现在搜索引擎首页吗?
您想获得企业网站整体运营推广解决方案吗?
不说了~ 拿起手机扫码沟通,您懂得! ^_^
珠海网站建设公司微信二维码
嘚啵嘚啵一句:加微信时请告知尊姓大名
本文关键词:微信小程序API接口,微信小程序游戏
本文链接:http://www.zhgov.com/webnews/524.html
热门标签
      珠海网站建设网,微信小程序/企业网站建设综合服务平台
  • 您只需要告诉我们需要什么样的产品,网讯互联团队将为您打造一站式互联网综合应用平台!
立即咨询在线客服

网站建设

为什么要选择网讯互联

工商实名验证
证照齐全 正规公司 诚信经营
公平交易 满意后付款
价格公开透明 倡导理性消费
无风险,免费ICP备案
开具正规发票 免费网站备案
无风险,全额退款
没有有效稿件 承诺全额退款
      网讯互联企业邮箱
  • 请将#换成@
web#zhgov.com
首页 | 关于我们 | 新闻中心 | 支付方式 | 我要加盟 | 我要爆料 | 我要合作 | 我要做网站 | 我要备案 | 网站地图 | 友情链接 | 在线客服 | 联系方式
Copyright © 2007-2019 珠海市网讯互联信息科技有限公司 [ 珠海网站建设网 ] www.zhgov.com , All Rights Reserved. TAGS 新闻地图
【珠海网站建设网】企业网站建设、网站制作、网站设计、营销型网站建设、外贸网站制作、手机网站制作、微信营销、微官网、微信小程序、云主机等服务提供商 ^_^
联系地址:广东省珠海市香洲区香海路129号 咨询电话:133-9295-6503(一按帮您) 传真:0756-3130945 业务邮箱:[ 马上写信咨询 ] 业务QQ:79535318
工商注册号工业和信息化部粤ICP备12038494号粤公网安备 44040202000391号 众信验证 百度信誉V官网认证 安全联盟实名验证