若小程序与视频号的主体相同或为关联主体,可以跳转到视频号直播间或在小程序内发起视频号直播预约。
# 小程序跳转视频号直播间
从基础库 2.15.0 开始支持
- 开发者首先通过wx.getChannelsLiveInfo传入视频号id用于获取视频号直播信息,包括直播id(feedId与nonceId两个参数)与直播状态。其中直播状态含义如下:
- status=2:直播中,此时返回的feedId与nonceId为当前直播id
- status=3:直播已结束,此时返回的feedId与nonceId为最近一次直播id
- 获取直播信息后,开发者可以通过wx.openChannelsLive打开视频号直播。若当前未在直播,则会跳转到最近一场直播的结束页。该接口使用限制如下:
- 需要用户触发跳转,若用户未点击小程序页面任意位置,则开发者将无法调用此接口。
- 需要用户确认跳转,在跳转至视频号直播前,将统一增加弹窗,询问是否跳转,用户确认后才可以跳转视频号直播。
# 小程序内发起预约视频号直播
从基础库 2.19.0 开始支持
开发者首先通过wx.getChannelsLiveNoticeInfo传入视频号id用于获取视频号直播预告id(noticeId),若当前没有可预约的直播预告,将返回失败。
获取直播预告信息后,开发者可以通过wx.reserveChannelsLive唤起预约弹窗,用户可以进行预约操作。成功唤起弹窗即为接口调用成功,通过state可以获取用户具体操作行为:
- state = 1,正在直播中,用户点击“取消”拒绝前往直播
- state = 2,正在直播中,用户点击“允许”前往直播
- state = 3,预告已取消
- state = 4,直播已结束
- state = 5,用户此前未预约,在弹窗中未预约直播直接收起弹窗
- state = 6,用户此前未预约,在弹窗中预约了直播
- state = 7,用户此前已预约,在弹窗中取消了预约
- state = 8,用户此前已预约,直接收起弹窗
- state = 9,弹窗唤起前用户直接取消
- state = 10,直播预约已过期