商品数据接入(内测)

商品数据应用场景

商品数据目前应用于 微信扫一扫识物功能微信小程序商品搜索功能扫条码 三个功能。 这些功能可以很好地满足微信用户对商品的信息获取需求,同时也能为商家微信小程序带来曝光流量和建立用户品牌认知的机会。

扫一扫识物- 效果图

微信小程序商品搜索- 效果图

扫一扫商品条码- 效果图

商品数据接入

目前微信已经爬取部分商品详情页,并对页面的商品信息进行了一定的分析理解。商家微信小程序可以配合接入商品数据,帮助微信更好地发现更多丰富的商品信息,提高商品的曝光机会。

成功接入需要完成以下三步:

第一步:开启「爬虫开关」

确保爬虫开关处于开启状态,保证微信小程序页面内容获得被微信收录的机会。爬虫开关在微信公众平台上设置,可参考如下示意图。

第二步:推送「页面路径」

通过接口主动推送商品详情页的页面路径至微信后台,保证推送页面被微信爬虫及时发现,获得曝光机会。具体参考:微信小程序search.submitPages接口文档

第三步:接入「数据更新协议」

接入数据更新协议,可支持微信实时获取商品的价格、上下架状态等最新信息,避免因信息不准确而影响商品的曝光效果。

具体参考文档: 微信小程序商品数据实时更新文档

完成以上三步后,商家微信小程序的商品详情页将被收录,获得在“扫一扫识物功能”、“微信小程序商品搜索功能”和“扫条码”的曝光机会。

此外,我们建议商家微信小程序还可继续标记页面结构化内容和优化页面结构:

一、标记「页面结构化内容」

通过对页面结构化内容的标记,帮助微信爬虫更好地理解页面信息,提高页面的召回排序精准度和曝光转化率。具体参考:页面标记商品结构化数据文档

二、优化页面结构设计

基于微信小程序搜索优化指南,优化页面结构设计,提高页面对爬虫的友好度。具体参考:微信小程序SEO建议

如本文档版本过旧,请访问Git查看最新版本:点我

微信小程序搜索优化指南

爬虫访问微信小程序内页面时,会携带特定的 user-agent “mpcrawler” 及场景值:1129

判断请求是否来源于官方搜索爬虫的方法:

签名算法与微信小程序消息推送接口的签名算法一致。详情

参数在请求的header里设置,分别是: X-WXApp-Crawler-Timestamp X-WXApp-Crawler-Nonce X-WXApp-Crawler-Signature

签名流程如下: 1.将token、X-WXApp-Crawler-Timestamp、X-WXApp-Crawler-Nonce三个参数进行字典序排序 2.将三个参数字符串拼接成一个字符串进行sha1加密 3.开发者获得加密后的字符串可与X-WXApp-Crawler-Signature对比,标识该请求来源于微信

1. 微信小程序里跳转的页面 (url) 可被直接打开。

微信小程序页面内的跳转url是我们爬虫发现页面的重要来源,且搜索引擎召回的结果页面 (url) 是必须能直接打开,不依赖上下文状态的。 特别的:建议页面所需的参数都包含在url

2. 页面跳转优先采用navigator组件。

微信小程序提供了两种页面路由方式:
a. navigator 组件
b. 路由 API,包括 navigateTo / redirectTo / switchTab / navigateBack / reLaunch 建议使用 navigator 组件,若不得不使用API,可在爬虫访问时屏蔽针对点击设置的时间锁或变量锁。

3. 清晰简洁的页面参数。

结构清晰、简洁、参数有含义的 querystring 对抓取以及后续的分析都有很大帮助,但是将 JSON 数据作为参数的方式是比较糟糕的实现。

4. 必要的时候才请求用户进行授权、登录、绑定手机号等。

建议在必须的时候才要求用户授权(比如阅读文章可以匿名,而发表评论需要留名)。

5. 我们不收录 web-view 中的任何内容。

我们暂时做不到这一点,长期来看,我们可能也做不到。

6. 设置一个清晰的标题和页面缩略图。

页面标题和缩略图对于我们理解页面和提高曝光转化有重要的作用。 通过 wx.setNavigationBarTitle 或 自定义转发内容 onShareAppMessage 对页面的标题和缩略图设置,另外也为 video、audio 组件补齐 poster / poster-for-crawler 属性。

兼容

微信小程序的功能不断增加,但旧版本的微信客户端并不支持新功能,所以在使用这些新能力时需要做兼容处理。

开发者可以通过以下方式进行低版本的兼容:

1. 版本号比较

微信客户端和微信小程序基础库的版本号格式为 Major.Minor.Patch(主版本号.次版本号.修订版本号)。

文档中会在组件、API 等页面的描述中,标明每个功能所要求的最低基础库版本号。

开发者可以在微信小程序中通过调用 wx.getAppBaseInfo 获取当前微信小程序运行的基础库版本号。通过版本号比较的方式,可以实现低版本的兼容逻辑。

版本号比较适用于所有情况。部分场景下也可以使用后面提到的方法完成。

<=2.20.1 的基础库请使用 wx.getSystemInfo]((wx.getSystemInfo)) 或者 wx.getSystemInfoSync 获取基础库版本

注意:不可以直接使用字符串比较的方法进行版本号比较。例如 ‘2.29.1’ > ‘2.3.0’ 的结果是 false

版本号比较可以参考以下代码:

function compareVersion(v1, v2) {
  v1 = v1.split('.')
  v2 = v2.split('.')
  const len = Math.max(v1.length, v2.length)

  while (v1.length < len) {
    v1.push('0')
  }
  while (v2.length < len) {
    v2.push('0')
  }

  for (let i = 0; i < len; i++) {
    const num1 = parseInt(v1[i])
    const num2 = parseInt(v2[i])

    if (num1 > num2) {
      return 1
    } else if (num1 < num2) {
      return -1
    }
  }

  return 0
}

compareVersion('1.11.0', '1.9.9') // 1
const version = wx.getAppBaseInfo().SDKVersion

if (compareVersion(version, '1.1.0') >= 0) {
  wx.openBluetoothAdapter()
} else {
  // 如果希望用户在最新版本的客户端上体验您的微信小程序,可以这样子提示
  wx.showModal({
    title: '提示',
    content: '当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。'
  })
}

2. API 存在判断

对于新增的 API,可以通过判断该 API 是否存在,来判断用户使用的基础库版本是否支持。例如:

if (wx.openBluetoothAdapter) {
  wx.openBluetoothAdapter()
} else {
  // 如果希望用户在最新版本的客户端上体验您的微信小程序,可以这样子提示
  wx.showModal({
    title: '提示',
    content: '当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。'
  })
}

3. wx.canIUse

除了直接通过版本号判断,也可以通过 wx.canIUse 来判断是否可以在当前基础库版本下直接使用。例如:

API 参数或返回值

对于 API 的参数或者返回值有新增的参数,可以用以下代码判断。

wx.showModal({
  success: function(res) {
    if (wx.canIUse('showModal.success.cancel')) {
      console.log(res.cancel)
    }
  }
})

组件

对于组件,新增的组件或属性在旧版本上不会被处理,但也不会报错。如果特殊场景需要对旧版本做一些降级处理,可以这样做。

Page({
  data: {
    canIUse: wx.canIUse('cover-view')
  }
})
<video controls="{{!canIUse}}">
  <cover-view wx:if="{{canIUse}}">play</cover-view>
</video>

canIUse 的数据文件会随基础库进行更新,新版本中的新功能可能出现遗漏的情况,建议开发者在使用前提前测试。

设置最低基础库版本

需要 iOS 6.5.8 / 安卓 6.5.7 及以上版本微信客户端支持

为便于开发者解决低版本基础库无法兼容微信小程序新功能的问题,开发者可以设置微信小程序的最低基础库版本要求。

开发者可以登录微信小程序管理后台,进入「设置 – 基本设置 – 基础库最低版本设置」进行配置。在配置前,开发者可以查看近 30 天内访问当前微信小程序的用户所使用的基础库版本占比,以帮助开发者了解当前用户的使用情况。

设置后,如果用户的基础库版本低于设置值,则无法正常打开微信小程序,并会提示用户更新客户端版本。

基础库

基础库更新

为了避免新版本的基础库给线上微信小程序带来未知的影响,微信客户端都是携带 上一个稳定版 的基础库发布的。

在新版本客户端发布后,再通过后台灰度新版本基础库,灰度时长一般为 12 ~ 24 小时,在灰度结束后,用户设备上才会有新版本的基础库。

以微信 6.5.8 为例,客户端在发布时携带的是 1.1.1 基础库(6.5.7 上已全量的稳定版)发布,在 6.5.8 发布后,我们再通过后台灰度 1.2.0 基础库。

查看基础库版本分布

基础库与客户端之间的关系

微信小程序的能力需要微信客户端来支撑,每一个基础库都只能在对应的客户端版本上运行,高版本的基础库无法兼容低版本的微信客户端。通常:

  • 第 1(major)、2(minor)位版本号更新通常需要依赖新版本的客户端,如:基础库 v2.1.3 运行在 v6.6.7 客户端,基础库 v2.2.0 需要 v6.7.0 客户端。
  • 第 3(patch) 位版本号的更新一般不需要依赖客户端更新,如:基础库v2.1.0 ~ v2.1.3 都运行在 v6.6.7 客户端,新版本发布会覆盖旧版本。

关于基础库的兼容方法,可以查看「兼容处理」章节。

命令注入

命令注入漏洞是指 Web 应用没有对用户可控的参数进行有效过滤,攻击者可以构造恶意参数拼接到命令中,从而执行任意命令。

开发建议:

  • 对用户输入的数据(如 ;、|、&等)进行过滤或转义。

SQL 注入

SQL 注入是指 Web 程序代码中对于用户提交的参数没有进行有效过滤,就直接拼接到 SQL 语句中执行,导致参数中的特殊字符打破了 SQL 语句原有的逻辑,黑客可以利用这个漏洞执行任意的 SQL 语句。

开发建议:

  1. 使用数据库提供的参数化查询来进行数据库操作,不允许直接通过拼接字符串的方式来合成 SQL 语句。
  2. 如果存在部分情况需要通过拼接的方式来合成 SQL,拼接的变量必须要经过处理:
    • 对于整数,需要判断变量是否为整数类型。
    • 对于字符串,需要对单引号、双引号等做转义处理。
  3. 避免 Web 应用显示 SQL 的报错信息。
  4. 保证 Web 应用里每一数据层的编码统一。

微信小程序

信息泄露

敏感信息是指一旦泄露,可能会给开发者的业务、合作伙伴和用户带来利益损害的数据,包括但不限于账号 Appsecret、特权账号信息、后台加密密钥、登录账户密码、用户身份证号、手机号、银行卡号等

开发建议:

  1. 敏感信息不应以明文、注释、可逆的编码方式(如 base64)、不安全散列函数(如 MD5、 SHA1)等形式出现在微信小程序文件内。
  2. 部分敏感信息如用户的银行卡号、手机号等需要用于展示的,需要进行脱敏处理。常用脱敏规范如下:
敏感信息类型 展示样例
姓名
名字只有两个字,对第一个字打码,如:*三。 多于两个字,只保留第一个和最后一个,其余都打码,如:王*四、欧**五
身份证
只显示第一位和最后一位,如:3*******************1
手机号
除去手机国际码后,手机号位数不少于10位时,只显示前三位和最后两位,如:156******77。手机号位数少于10位时,只显示前两位和后两位,如:12*****89。国家码可以完全显示。
银行卡
只显示最后4位,如:************1234
  1. 如果微信小程序存在敏感信息泄露的问题,微信开放平台将有可能下架该微信小程序,并暂停该微信小程序的相关服务。

授权用户信息变更

  1. 授权用户资料变更:当部分用户的资料存在风险时,平台会对用户资料进行清理,并通过消息推送服务器通知最近30天授权过的微信小程序开发者,我们建议开发者留意响应该事件,及时主动更新或清理用户的头像及昵称,降低风险。
  2. 授权用户资料撤回:当用户撤回授权信息时,平台会通过消息推送服务器通知给微信小程序开发者,请开发者注意及时删除用户信息。
  3. 授权用户完成注销:当授权用户完成注销后,平台会通过消息推送服务器通知给微信小程序开发者,请依法依规及时履行相应个人信息保护义务,保护用户权益。

点击查看消息推送服务器配置

事件推送示例:

XML
<xml>
    <ToUserName><![CDATA[gh_870882ca4b1]]></ToUserName>
    <FromUserName><![CDATA[owAqB1v0ahK_Xlc7GshIDdf2yf7E]]></FromUserName>
    <CreateTime>1626857200</CreateTime>
    <MsgType><![CDATA[event]]></MsgType>
    <Event><![CDATA[user_authorization_revoke]]></Event>
    <OpenID><![CDATA[owAqB1nqaOYYWl0Ng484G2z5NIwU]]></OpenID>
    <AppID><![CDATA[wx13974bf780d3dc89]]></AppID>
    <RevokeInfo><![CDATA[1]]></RevokeInfo>
    <PluginID><![CDATA[wx13974bf780d3dc89]]></PluginID>
    < OpenPID><![CDATA[G7esq5NVzP76HIHoB95t4CVBP6to]]></OpenPID>
</xml>

JSON
{
  "ToUserName": "gh_870882ca4b1",
  "FromUserName": "oaKk346BaWE-eIn4oSRWbaM9vR7s",
  "CreateTime": 1627359464,
  "MsgType": "event",
  "Event": "user_authorization_revoke",
  "OpenID": "oaKk343WOktAaT2ygsX138BGblrg",
  "AppID": "wx13974bf780d3dc89",
  "RevokeInfo": "1",
  "PluginID": "wx13974bf780d3dc89",
  "OpenPID": " G7esq5NVzP76HIHoB95t4CVBP6to"
}

事件字段定义

属性 类型 说明
ToUserName string 微信小程序的UserName
FromUserName string 平台推送服务UserName
MsgType string 默认为:Event
Event string user_info_modified:用户资料变更,user_authorization_revoke:用户撤回,user_authorization_cancellation:用户完成注销;
CreateTime number 发送时间
OpenID string 授权用户OpenID
UnionID string 授权用户UnionID
AppID string 微信小程序的AppID
RevokeInfo string 用户撤回的授权信息,1:车牌号,2:地址,3:发票信息,4:蓝牙,5:麦克风,6:昵称和头像,7:摄像头,8:手机号,12:微信运动步数,13:位置信息,14:选中的图片或视频,15:选中的文件,16:邮箱地址,18:选择的位置信息,19:昵称输入键盘中选择的微信昵称,20:获取用户头像组件中选择的微信头像
PluginID string 插件场景用户撤回,插件的AppID
OpenPID string 插件场景用户撤回,撤回用户的OpenPID

微信小程序违规处罚信息通知

当微信小程序存在违规行为时,平台会通过消息推送服务器通知给微信小程序开发者,建议微信小程序开发者注意及时接收相关通知进行排查整改,此通知不影响已有的站内信等通知方式。 点击查看消息推送服务器配置

1. 事件字段定义

  1. 字段【Event】等于”wxa_punish_event”时,则表示这是一条关于【微信小程序违规处罚事件】的通知。
属性 类型 说明
Event string 事件名称:wxa_punish_event,即微信小程序违规处罚信息
event_type number 事件类型。1:警告;2:功能封禁;3:下架;4:账号封禁;10:页面封禁。
punish_id string 违规处罚ID,用于唯一标识每次违规
appid string 被处罚微信小程序的AppID
punish_time number 违规时间(UNIX时间戳)
illegal_reason string 违规原因
illegal_content string 违规内容
rule_name string 违反规则名称
rule_url string 违反规则链接
adjust_guide_url string 违规申诉及整改指引链接
detail string 违规处罚详情,字段内容为JSON字符串,JSON具体结构取决于event_type,请参照下方说明对该字段中包含的JSON字符串进行正确的解析
1.2违规处罚事件详情(detail详细释义)
  • event_type=1detail中的JSON字符串结构如下:
属性 类型 说明
warned_type number 警告类型。1:警告账号封禁;2:警告功能封禁;3:警告下架。
rectify_deadline number 警告的截止时间(UNIX时间戳)
warned_function_names array 警告要封禁的功能项列表,如需获取列表中每个功能项的封禁时长,可直接在warned_ban_days的对应索引处获得,warned_function_names和warned_ban_days总是一一对应。(该字段仅当warned_type=2时生效)
warned_ban_days array 警告封禁的天数列表。当warned_type=1时则该列表仅有一项,代表警告要封禁微信小程序账号的天数。当warned_type=2时列表中的每一项分别代表warned_function_names中对应索引处的功能项被警告要封禁的天数。当warned_type=3时则该列表仅有一项,代表警告要下架微信小程序的天数。注:0代表永久封禁
  • event_type=2detail中的JSON字符串结构如下:
属性 类型 说明
banned_days array 功能项被封禁的天数列表,列表中的每一项分别代表banned_function_names中对应索引处的功能项被封禁的天数。注:0代表永久封禁
banned_function_names array 被封禁的功能项列表,如需获取列表中每个功能项的封禁时长,可直接在banned_days的对应索引处获得,banned_days和banned_function_names总是一一对应。
  • event_type=3detail中的JSON字符串结构如下:
属性 类型 说明
suspended_days number 下架天数。注:0代表永久下架
  • event_type=4detail中的JSON字符串结构如下:

banned_days number 微信小程序账号封禁天数。注意:0代表永久封禁

  • event_type=5时,detail中的JSON字符串结构如下:
属性 类型 说明
path string 微信小程序中被封禁的页面路径

2. 事件推送参数示例

  • event_type=1
  • warned_type=1
{
    "ToUserName": "gh_1d6c1222test",
    "FromUserName": "oyeHc4i5LqBbWLVTfnhf-3TZ4BNk",
    "CreateTime": 1699803867,
    "MsgType": "event",
    "Event": "wxa_punish_event",
    "punish_id": "649557",
    "appid": "wx54a8eaa26606test",
    "punish_time": 1699803865,
    "illegal_reason": "存在诱导分享行为",
    "illegal_content": [
        "违规内容测试"
    ],
    "detail": "{\"warned_type\":1,\"rectify_deadline\":1699796571,\"warned_function_names\":[],\"warned_ban_days\":[3]}",
    "rule_url": "/miniprogram/product/index.html#_5-1-滥用分享行为",
    "rule_name": "《微信小程序平台运营规范》5.行为规范-5.1滥用分享行为",
    "adjust_guide_url": "https://mp.weixin.qq.com/s/73rLZmwPeQ87Q89DYQcfkw",
    "event_type": 1
}
  • warned_type=2
{
    "ToUserName": "gh_1d6c1222test",
    "FromUserName": "oyeHc4pIdqHZwh80SufyUuIzSenw",
    "CreateTime": 1699795665,
    "MsgType": "event",
    "Event": "wxa_punish_event",
    "punish_id": "649551",
    "appid": "wx54a8eaa26606test",
    "punish_time": 1699795663,
    "illegal_reason": "存在诱导分享行为",
    "illegal_content": [
        "违规内容测试"
    ],
    "detail": "{\"warned_type\":2,\"rectify_deadline\":1699796571,\"warned_function_names\":[\"分享朋友圈\",\"客服消息接口\"],\"warned_ban_days\":[1,1]}",
    "rule_url": "/miniprogram/product/index.html#_5-1-滥用分享行为",
    "rule_name": "《微信小程序平台运营规范》5.行为规范-5.1滥用分享行为",
    "adjust_guide_url": "https://mp.weixin.qq.com/s/73rLZmwPeQ87Q89DYQcfkw",
    "event_type": 1
}
  • warned_type=3
{
    "ToUserName": "gh_1d6c1222test",
    "FromUserName": "oyeHc4tGxCvPcXlKeFI5tU0jV_yw",
    "CreateTime": 1699795665,
    "MsgType": "event",
    "Event": "wxa_punish_event",
    "punish_id": "649551",
    "appid": "wx54a8eaa26606test",
    "punish_time": 1699795663,
    "illegal_reason": "存在诱导分享行为",
    "illegal_content": [
        "违规内容测试"
    ],
    "detail": "{\"warned_type\":3,\"rectify_deadline\":1699796571,\"warned_function_names\":[],\"warned_ban_days\":[1]}",
    "rule_url": "/miniprogram/product/index.html#_5-1-滥用分享行为",
    "rule_name": "《微信小程序平台运营规范》5.行为规范-5.1滥用分享行为",
    "adjust_guide_url": "https://mp.weixin.qq.com/s/73rLZmwPeQ87Q89DYQcfkw",
    "event_type": 1
}
  • event_type=2
{
    "ToUserName": "gh_1d6c1222test",
    "FromUserName": "oyeHc4gSrT2S8jG2Ll1ZS16rwqQk",
    "CreateTime": 1699791600,
    "MsgType": "event",
    "Event": "wxa_punish_event",
    "punish_id": "13577492",
    "appid": "wx54a8eaa26606test",
    "punish_time": 1699791599,
    "illegal_reason": "存在诱导分享行为",
    "illegal_content": [
        "违规内容测试"
    ],
    "detail": "{\"banned_days\":[1,1],\"banned_function_names\":[\"分享朋友圈\",\"客服消息接口\"]}",
    "rule_url": "/miniprogram/product/index.html#_5-1-滥用分享行为",
    "rule_name": "《微信小程序平台运营规范》5.行为规范-5.1滥用分享行为",
    "adjust_guide_url": "https://mp.weixin.qq.com/s/73rLZmwPeQ87Q89DYQcfkw",
    "event_type": 2
}
  • event_type=3
{
    "ToUserName": "gh_1d6c1222test",
    "FromUserName": "oyeHc4qHkaYV-0NYupPZBTBrBNuw",
    "CreateTime": 1699801563,
    "MsgType": "event",
    "Event": "wxa_punish_event",
    "punish_id": "13577869",
    "appid": "wx54a8eaa26606test",
    "punish_time": 1699801560,
    "illegal_reason": "存在诱导分享行为",
    "illegal_content": [
        "违规内容测试"
    ],
    "detail": "{\"suspended_days\":1}",
    "rule_url": "/miniprogram/product/index.html#_5-1-滥用分享行为",
    "rule_name": "《微信小程序平台运营规范》5.行为规范-5.1滥用分享行为",
    "adjust_guide_url": "https://mp.weixin.qq.com/s/73rLZmwPeQ87Q89DYQcfkw",
    "event_type": 3
}
  • event_type=4
{
    "ToUserName": "gh_1d6c1222test",
    "FromUserName": "oyeHc4jjAdCWq1klrk-puPMe0FC4",
    "CreateTime": 1699784111,
    "MsgType": "event",
    "Event": "wxa_punish_event",
    "punish_id": "9328325",
    "appid": "wx54a8eaa26606test",
    "punish_time": 1699784109,
    "illegal_reason": "存在诱导分享行为",
    "illegal_content": [
        "测试违规内容/证据"
    ],
    "detail": "{\"banned_days\":3}",
    "rule_url": "/miniprogram/product/index.html#_5-1-滥用分享行为",
    "rule_name": "《微信小程序平台运营规范》5.行为规范-5.1滥用分享行为",
    "adjust_guide_url": "https://mp.weixin.qq.com/s/73rLZmwPeQ87Q89DYQcfkw",
    "event_type": 4
}
  • event_type=10
{
    "ToUserName": "gh_1d6c1222test",
    "FromUserName": "oyeHc4n0I6U3A4Fq7tfOAqmAJy8E",
    "CreateTime": 1699802583,
    "MsgType": "event",
    "Event": "wxa_punish_event",
    "punish_id": "94185814",
    "appid": "wx54a8eaa266009d6a",
    "punish_time": 1699802425,
    "illegal_reason": "发布低俗、性暗示或色情信息",
    "illegal_content": [
        "测试证据"
    ],
    "detail": "{\"path\":\"pages/fengjin/fengjin\"}",
    "rule_url": "/miniprogram/product/index.html#_6-2-色情低俗内容",
    "rule_name": "《微信小程序平台运营规范》6.信息内容规范-6.2色情低俗内容",
    "adjust_guide_url": "https://mp.weixin.qq.com/s/73rLZmwPeQ87Q89DYQcfkw",
    "event_type": 10
}

安卓微信小程序硬件框架发布

说明

  • 仅支持 32/64 位安卓 ARM 设备。
  • 动态库有更新:此版本有新增和修改 so 文件,若 WMPF 是预装到系统内的,安装后还需要更新和替换系统路径下的 so 文件,否则启动会有 crash 问题。如对替换方式有疑问请联系设备厂商处理。
  • v2.1.0 版本开始,不支持使用 ActivateDeviceByIoT 方式激活的设备。

产物

  • Service Apk 是安卓 WMPF 的服务端,在 WMPF Cli 调用 WMPF 能力之前,需要安装到安卓设备上并保持运行。
    • 文件名带有 alpha 字样是开发版本,带有 WMPF 的测试界面(仅供点击唤醒 WMPF 进程所用,无调试入口)。
    • 文件名带有 production 字样是正式版本,没有操作界面,仅供正式上线后使用(系统把应用保活即可)。
  • 形如 wmpf-cli-*.aar 的文件是 WMPF cli 的 aar 文件,需要下载后集成在开发者自己的应用中,用来调用 WMPF 的能力。

开始

xr-frame是一套微信小程序官方提供的XR/3D应用解决方案,基于混合方案实现,性能逼近原生、效果好、易用、强扩展、渐进式、遵循微信小程序开发标准。

在这一章中,我们将会带大家从头开始,用它构建一个XR微信小程序

本文只是开始指南,更加详细的信息请见组件框架文档API文档

xr-frame在基础库v2.32.0开始基本稳定,发布为正式版,但仍有一些功能还在开发,请见限制和展望。