数据分析接口

开发者通过数据分析接口,可获取到微信小程序的各项数据指标,便于进行数据存储和整理。数据分析详细功能介绍及指标解释参见数据分析文档

相关接口

  • 概况
  • 访问趋势
    • 日趋势
    • 周趋势
    • 月趋势
  • 访问分布
  • 访问留存
    • 日留存
    • 周留存
    • 月留存
  • 访问页面
  • 用户画像
  • 自定义数据上报

视频号活动

从基础库 2.21.0 开始支持

如果微信小程序与视频号的主体相同,或者是关联主体,就可以通过 wx.openChannelsEvent 跳转到视频号发起的活动。

主体判断逻辑

如果微信小程序与视频号的主体相同,那么可以直接调用相关接口。 如果微信小程序与视频号的主体不同,需要同时满足以下 3 个条件才能调用相关接口:

  1. 微信小程序绑定了微信开放平台账号
  2. 微信小程序与微信开放平台账号的关系为同主体或关联主体
  3. 微信开放平台账号的主体与关联主体列表中包含视频号的主体 关联主体申请流程可以参考:https://kf.qq.com/faq/190726e6JFja190726qMJBn6.html

参数获取

finderUserName 表示视频号 ID,要获取视频号 ID,需要登录视频号助手,在首页可以查看自己的视频号 ID。

eventId 是唯一标识某一个活动的 ID,要获取活动的 eventId,需要登录视频号助手,在「内容管理」-「活动管理」模块可以复制自己发起的每个活动对应的 eventId。

视频号直播

若微信小程序与视频号的主体相同或为关联主体,可以跳转到视频号直播间或在微信小程序内发起视频号直播预约。

主体判断

主体信息查询

微信小程序主体信息可通过微信小程序资料页-开发团队进行查询,视频号主体信息可通过视频号首页-认证进行查询。

视频号id需通过视频号助手获取。

主体判断逻辑

若微信小程序与视频号的主体相同,则可以调用相关接口。 若微信小程序与视频号的主体不同,需同时满足以下3个条件则可以调用相关接口:

  1. 微信小程序绑定了微信开放平台账号
  2. 微信小程序与微信开放平台账号的关系为同主体或关联主体
  3. 微信开放平台账号的主体与关联主体列表中包含视频号的主体 关联主体申请流程可以参考:https://kf.qq.com/faq/190726e6JFja190726qMJBn6.html

获取视频号直播信息

开发者可以通过wx.getChannelsLiveInfo接口获取视频号直播id、直播状态、直播主题、视频号头像昵称等直播信息,具体使用方法如下:

从基础库 2.15.0 开始支持

开发者传入视频号id(finderUserName参数),可获取当前或最近一次直播的直播信息,具体如下:

  • status=2,直播中:返回的feedId与nonceId为当前直播id,description为当前直播主题
  • status=3,直播已结束:返回的feedId与nonceId为最近一次直播id,description为最近一次直播主题

从基础库 2.29.0 开始支持

开发者上传视频号id(finderUserName参数)和起止时间(startTime和endTime参数),获取指定时间段内的全部直播信息。其中正在直播或最近一场的直播信息会直接在出参中返回,其余直播信息会在otherInfos中以列表形式返回。

使用方法

微信小程序跳转视频号直播间

从基础库 2.15.0 开始支持

  1. 开发者首先通过wx.getChannelsLiveInfo传入视频号id用于获取视频号直播信息,包括直播id(feedId与nonceId两个参数)与直播状态。

  2. 获取直播信息后,开发者可以通过wx.openChannelsLive打开视频号直播。若当前未在直播,则会跳转到最近一场直播的结束页。该接口使用限制如下:

  • 需要用户触发跳转,若用户未点击微信小程序页面任意位置,则开发者将无法调用此接口。
  • 需要用户确认跳转,在跳转至视频号直播前,将统一增加弹窗,询问是否跳转,用户确认后才可以跳转视频号直播。

微信小程序内嵌视频号直播

从基础库 2.29.0 开始支持

  1. 开发者首先通过wx.getChannelsLiveInfo传入视频号id和起止时间(startTime和endTime参数),用于获取指定时间段的视频号直播信息,包括直播id(feedId)、直播状态和直播回放状态。

  2. 获取直播信息后,开发者可以通过channel-live在微信小程序中展示直播封面,用户点击后可无弹窗直接跳转至视频号直播。不同的直播状态,跳转至视频号的承接页页有所不同,具体如下:

  • 直播未开始:上一场直播的结束页
  • 直播中:直播页面
  • 直播已结束(无回放):直播结束页
  • 直播已结束(有回放):直播回放页

微信小程序内发起预约视频号直播

从基础库 2.19.0 开始支持

  1. 开发者首先通过wx.getChannelsLiveNoticeInfo传入视频号id用于获取视频号直播预告id(noticeId),若当前没有可预约的直播预告,将返回失败。

  2. 获取直播预告信息后,开发者可以通过wx.reserveChannelsLive唤起预约弹窗,用户可以进行预约操作。成功唤起弹窗即为接口调用成功,通过state可以获取用户具体操作行为:

  • state = 1,正在直播中,用户点击“取消”拒绝前往直播
  • state = 2,正在直播中,用户点击“允许”前往直播
  • state = 3,预告已取消
  • state = 4,直播已结束
  • state = 5,用户此前未预约,在弹窗中未预约直播直接收起弹窗
  • state = 6,用户此前未预约,在弹窗中预约了直播
  • state = 7,用户此前已预约,在弹窗中取消了预约
  • state = 8,用户此前已预约,直接收起弹窗
  • state = 9,弹窗唤起前用户直接取消
  • state = 10,直播预约已过期

使用规范

  1. wx.getChannelsLiveInfo与wx.getChannelsLiveNoticeInfo会调用到微信后台系统资源,为了保护系统,开发者请遵守《接口调用频率规范》对接口做适度的频率限制,不能无节制地调用。
  2. 平台将坚决打击诱导跳转视频号直播、诱导预约视频号直播等行为,使用此功能时请严格遵守《微信小程序平台运营规范》

注意事项

  1. 该接口在开发版与体验版中均可调用。开发者在调试过程中,可以在视频号选择可见范围进行开播,方便测试。
  2. 若微信小程序与视频号主体信息不一致,会返回100008错误码。
  3. wx.getChannelsLiveInfo与wx.getChannelsLiveNoticeInfo回调函数不继承用户点击事件,无法在wx.getChannelsLiveInfo的success回调中再调用wx.openChannelsLive。
  4. 开发者工具暂未支持此能力,请先使用真机调试。

微信小程序打开视频号视频

为满足不同开发者的诉求,微信小程序提供2种打开视频号视频的方式:

  1. 跳转打开视频号视频:无主体限制

  2. 内嵌视频号视频:

  • 从基础库版本2.25.1至2.31.1,微信小程序需与视频号视频相同主体或关联主体
  • 从基础库版本2.31.1开始,非个人主体微信小程序可内嵌非同主体/关联主体视频号视频

获取参数

finderUserName

代表视频号ID,获取视频号ID需要登录视频号助手,在首页可以查看自己的视频号ID。

feedId

代表视频号视频的唯一标识,获取视频的feedId需要登录视频号助手,在「动态管理」模块可以复制自己发表的每个视频对应的feedId。

feed-token

从基础库 2.31.1 开始支持

代表非同主体视频号视频的标识,非个人主体微信小程序可以通过channel-video组件,在微信小程序中内嵌非同主体视频号的视频。

获取feed-token步骤如下:

  1. 登陆MP平台,在「设置-基本设置-隐私与安全」找到「获取视频号视频ID权限」,并将开关打开

  2. 移动端找到想要内嵌的视频号视频,并复制该视频的feed-token,图示如下:

使用该能力时,开发者需要注意:

  1. 时间限制:打开开关后24小时内生效,失效后移动端将不展示「在微信小程序中引用该视频」的入口,如要继续获取,则需要再次打开开关;

  2. 生效范围:开关打开状态仅对当前操作者生效。即上述步骤1和步骤2需为同一操作者,若开发者A在MP平台中打开「获取视频号视频ID权限」开关,仅有A能够在移动端能够复制视频号视频的feed-token,同微信小程序的其他开发者移动端不展示「在微信小程序中引用该视频」入口

使用方法

跳转打开视频号视频

从基础库 2.19.2 开始支持

微信小程序可以通过wx.openChannelsActivity接口跳转到指定视频号的视频页观看视频,无主体要求。

内嵌视频号视频

从基础库 2.25.1 开始支持

微信小程序可以通过channel-video组件在微信小程序中内嵌视频号视频,且支持无弹窗跳转打开视频号对应视频,使用该组件时需注意:

  1. 组件调用无资质要求
  2. 暂不支持纯图片视频号内容
  3. 基础库2.31.1之前,仅可引用和微信小程序同主体或关联主体的视频号视频,从基础库2.31.1开始,支持非个人主体微信小程序内嵌非同主体或关联主体的视频号视频

主体判断

主体信息查询

微信小程序主体信息可通过微信小程序资料页-开发团队进行查询,视频号主体信息可通过视频号首页-认证进行查询。

主体判断逻辑

若微信小程序与视频号的主体相同,则可以调用相关接口。 若微信小程序与视频号的主体不同,需同时满足以下3个条件则可以调用相关接口:

  1. 微信小程序绑定了微信开放平台账号
  2. 微信小程序与微信开放平台账号的关系为同主体或关联主体
  3. 微信开放平台账号的主体与关联主体列表中包含视频号的主体 关联主体申请流程可以参考:https://kf.qq.com/faq/190726e6JFja190726qMJBn6.html

视频号主页

从基础库 2.21.2 开始支持

从2023年12月20日起,通过wx.openChannelsUserProfile跳转到视频号主页将不再受主体限制,使用此功能时请注意遵守运营规范。

如果微信小程序与视频号的主体相同或为关联主体,可以通过 wx.openChannelsUserProfile 跳转到视频号主页。

## 主体判断逻辑

如果微信小程序与视频号的主体相同,则可以调用相关接口。 如果微信小程序与视频号的主体不同,需同时满足以下3个条件则可以调用相关接口: 1. 微信小程序绑定了微信开放平台账号 2. 微信小程序与微信开放平台账号的关系为同主体或关联主体 3. 微信开放平台账号的主体与关联主体列表中包含视频号的主体 关联主体申请流程可以参考:https://kf.qq.com/faq/190726e6JFja190726qMJBn6.html

参数获取

finderUserName表示视频号ID,获取视频号ID需要登录视频号助手,在首页可以查看自己的视频号ID。

微信小程序账号迁移

当需要废弃原微信小程序A,用目标微信小程序B承接服务时,微信小程序账号迁移可以高效率、低成本地将微信小程序A的用户迁移至微信小程序B中。完成账号迁移后,微信小程序A等同于注销,不能继续运营或提供相关功能及服务;用户通过任何方式访问微信小程序A时,会自动打开微信小程序B。

注意,微信小程序账号迁移和微信小程序主体变更为两种不同的能力,开发者可根据自己的实际诉求灵活选用这两种能力,具体区别如下:

  • 微信小程序账号迁移:是在两个账号间进行的,微信小程序appid发生改变,主体可能相同也可为绑定在同一开放平台账号下的关联主体,迁移完成后,原微信小程序将会被系统注销,无法恢复或使用;
  • 微信小程序主体变更:是在同一个账号里面进行的,微信小程序appid不变,运营权限、主体信息将发生变化,微信小程序不会被注销

申请流程

开发者可以在MP平台 中的「设置 -> 基本设置 -> 账号信息 -> 原始ID -> 账号迁移」中发起微信小程序账号迁移申请。

准入条件

微信小程序账号为封号状态,海外主体账号,小游戏等暂不支持准入。

迁移限制

  1. 一个目标微信小程序最多能被5个微信小程序迁移,已完成迁移的目标微信小程序,6个月内暂不支持再次发起账号迁移;
  2. 原微信小程序和目标微信小程序主体必须为绑定在同一开放平台账号下的相同主体或关联主体

申请迁移流程

同意“微信小程序账号迁移协议” -> 选择目标微信小程序 -> 当前微信小程序管理员确认 -> 目标微信小程序管理员确认 -> 账号迁移冻结期(7天) -> 账号迁移完成 注意:在账号迁移冻结期内,开发者可撤销账号迁移流程;若未撤销流程,账号迁移一经完成,则不可撤销。

能力表现

用户无感知场景

相关场景值

  1. 扫码相关: 一维码(1025、1032)、二维码(1011、1013)、微信小程序码(1047、1049)、一物一码(1124、1126)

  2. 外跳相关: scheme/URL Link(1065、1194)、openSDK(1069)

C端表现

无迁移提示,直接拉起微信小程序B

用户有感知场景

相关场景值

除用户无感知场景值外的所有场景值

C端表现

  1. 微信小程序A未被添加至「我的微信小程序」 从客户端8.0.32版本开始,用户打开微信小程序A,将直接拉起微信小程序B,并展示迁移半屏提示,用户点击「我知道了」后,后续该用户访问微信小程序A将自动拉起微信小程序B,不再出现提示,且微信小程序A的「最近使用」记录会被删除。
  1. 微信小程序A已被添加至「我的微信小程序」 从客户端8.0.32版本开始,用户打开微信小程序A,将直接拉起微信小程序B,并展示迁移半屏提示,用户点击「我知道了」后,将「我的微信小程序」中的微信小程序A替换为微信小程序B;同时,后续该用户访问微信小程序A将自动拉起微信小程序B,不再出现提示,且微信小程序A的「最近使用」记录会被删除。

低版本客户端

低于8.0.32的客户端版本,不区分用户有感知和用户无感知场景,在任意场景下,用户打开微信小程序A,都将拉起H5页面展示迁移提示,用户点击「前往打开」后,将跳转打开微信小程序B。 若微信小程序A被添加至「我的微信小程序」,则打开微信小程序B后,页面出现Toast提示“已将当前微信小程序替换到「我的微信小程序」”。

调试流程

通过微信小程序账号迁移的方式打开的微信小程序,场景值均为1248。微信小程序发生账号迁移后,平台将默认拉起微信小程序B的首页,开发者若有打开特定页面的诉求,可根据启动参数自行调试。

启动参数继承

微信小程序B可以通过以下2种方式,继承微信小程序A的appid、path、query和scene,对应字段分别为migrateSourceAppIdmigrateSourcePathmigrateSourceQuerymigrateSourceScene

  1. 调用App.onLaunch读取res.query参数
  2. 调用wx.getLaunchOptionsSync读取query参数

除appid、path、query和scene外的其他全部启动参数(extraData等)均会以原有方式继承

其他注意事项

  1. 当用户第一次命中微信小程序迁移时,若网络环境较差,客户端无法拿到迁移信息或微信小程序B无法正常Launch,此时会拉起微信小程序A。若业务有较大调整,建议开发者在微信小程序A中做好兼容逻辑;
  2. 微信小程序账号迁移仅针对正式版微信小程序生效,对于体验版和开发版不生效;
  3. 暂不支持将原微信小程序的管理员、项目成员和体验成员自动迁移至目标微信小程序,如有需要,开发者需自行添加。

NFC 标签打开微信小程序

安卓微信客户端 8.0.14 开始支持,iOS 现网版本均已覆盖。

基于微信小程序 URL Scheme,在现有短信、邮件、网页等场景外,微信还支持通过 NFC 卡片快捷拉起微信小程序页面的能力。可用于智能设备的快速配网、快捷控制等场景。

该能力不受 URL Scheme 30 天有效期限制,且允许多个用户访问。

NFC 标签格式

要实现直接打开微信小程序,NFC 标签需要按照以下格式写入:

NFC 标签必须是 NFC Data Exchange Format (NDEF) 类型,标签中需要包含两条 Record :

  • URI Record
    • Type Name Format (TNF): 0x01 (Well-Known)
    • Type: U
    • Payload: 微信小程序 URL Scheme
  • Android Application Record, AAR
    • Type Name Format (TNF): 0x04 (NFC Forum external type)
    • Type: android.com:pkg
    • Payload: 微信安卓包名 com.tencent.mm

短信打开微信小程序

开发者可通过以下3种方式实现短信打开微信小程序:

通过URL Scheme实现

通过服务端接口或在微信小程序管理后台生成URL Scheme后,自行开发中转H5页面。

将带有中转H5链接的短信内容通过开发者自有的短信发送能力或服务商的短信服务进行投放,实现短信打开微信小程序。

通过URL Link实现

通过服务端接口生成URL Link。

直接将带有URL Link的短信内容通过开发者自有的短信发送能力或服务商的短信服务进行投放,实现短信打开微信小程序。

通过云开发静态网站实现

可以参考「云开发」-「静态网站」-「短信跳微信小程序」。

获取 Short Link

通过 服务端接口 generateShortLink 可以获取打开微信小程序任意页面的 Short Link。适用于微信内拉起微信小程序的业务场景。通过 Short Link 打开微信小程序的场景值为 1179

生成的 ShortLink 如下所示:

#微信小程序://微信小程序示例/示例页面/9pZvnVw3KMCQpVp

调用上限

Link 将根据是否为到期有效与失效时间参数,分为 短期有效 ShortLink永久有效 ShortLink

  1. 单个微信小程序每日生成 ShortLink 上限为 1000万个(包含短期有效 ShortLink 与长期有效 ShortLink )
  2. 单个微信小程序总共可生成永久有效 ShortLink 上限为 10万个,请谨慎调用。
  3. 短期有效 ShortLink 有效时间为 30天,单个微信小程序生成短期有效 ShortLink 不设上限。

开放范围

目前只开放给电商类目微信小程序,具体包含以下一级类目:电商平台、商家自营、跨境电商。

获取加密 URL Link

每个微信小程序每天 URL Scheme 和 URL Link 总打开次数上限为600万

获取方式

通过服务端接口可以获取打开微信小程序任意页面的 URL Link。适用于从短信、邮件、网页、微信内等场景打开微信小程序。 通过 URL Link 从微信外打开微信小程序的场景值为 1194。当用户在微信内访问 URL Link ,会调整为开放标签打开微信小程序,场景值为1167。
生成的 URL Link 如下所示:

https://wxaurl.cn/*TICKET* 或 https://wxmpurl.cn/*TICKET*

拼接参数

将原有 URL Link 平滑升级为加密 URL Link,支持开发者自行在链接后面拼接参数CUSTOM PARAMETE,拼接参数后的 URL Link 如下所示:

https://wxaurl.cn/*TICKET*?cq=*CUSTOM PARAMETER* 或 https://wxmpurl.cn/*TICKET*?cq=*CUSTOM PARAMETER*

注意:

  1. CUSTOM PARAMETE是一种特殊的query,最大256个字符,只支持数字,大小写英文以及部分特殊字符:!#$&'()*+,/:;=?@-._~%`,需要url_encode;
  2. 在本次规则调整生效前已经生成的 URL Scheme 可继续正常使用,并可直接进行CUSTOM PARAMETE参数拼接;
  3. 拼接参数后的加密 URL Link 打开微信小程序的场景值不变,微信外仍为1194,微信内仍会调整为开放标签打开微信小程序,场景值为1167。

频率限制

生成端:每天生成 URL Scheme(加密+明文) 和 URL Link 的总数量上限为50万;

打开端:每天通过 URL Scheme(加密+明文) 和 URL Link 打开微信小程序的总次数上限为600万。

注意事项

  1. 只能生成已发布的微信小程序的 URL Link。
  2. 在微信内或者安卓手机打开 URL Link 时,默认会先跳转官方 H5 中间页,如果需要定制 H5 内容,可以使用云开发静态网站。

开放范围

针对非个人主体微信小程序开放。