有奖捉虫:办公协同&微信生态&物联网文档专题 HOT
以下视频将为您讲解直播 SDK 如何快速集成到微信小程序:


一、注册小程序

注册小程序请单击 微信公众平台 ,完成注册后,在小程序管理页面的开发 > 开发管理 > 开发设置中记录下小程序 AppID 供后面使用。
注意
必须以非个人主体类型进行注册,否则无法开通 <live-pusher> 和 <live-player> 这两个标签。

二、开通标签使用权限

出于政策和合规的考虑,微信暂时没有放开所有小程序对 <live-pusher><live-player> 标签的支持:
目前支持这两个标签的类目如下表格所示(只有非个人主体才有以下类目):
一级类目/
主体类型
二级类目
资质要求
类目适用范围
小程序直播内容场景
社交
直播
适用于提供在线直播等服务
注意:
1. 如提供时政信息服务,需补充:时政信息类目
2. 选择该类目后首次提交代码审核,需经当地互联网主管机关审核确认,预计审核时长7天左右
涉及娱乐性质,如明星直播、生活趣事直播、宠物直播等。选择该类目后首次提交代码审核,需经当地互联网主管机关审核确认,预计审核时长7天左右
教育
在线视频课程
适用于教育行业提供,网课、在线培训、讲座等教育类视频/直播等服务
网课、在线培训、讲座等教育类直播
医疗
互联网医院
适用于互联网医院主体/医疗服务平台提供在线看诊、疾病咨询等线上医疗服务
问诊、大型健康讲座等直播
公立医疗机构
适用于公立医疗机构提供的就医、健康咨询/问诊、医疗保健信息等服务
金融
银行
适用于提供银行业务在线服务或交易等服务
金融产品视频客服理赔、金融产品推广直播等
信托
适用于提供信托理财业务在线服务或交易等服务
公募基金
适用于基金管理公司从事股票、债券等金融工具的投资服务
私募基金
(2选1):
1.《私募基金备案证明》
2.《私募投资基金管理人登记证书》
仅适用于私募基金展示、介绍、咨询等服务 注:暂不支持涉及私募产品公开募集或在线交易等服务
证券/期货
适用于提供证券资讯、证券咨询、证券期货经营等的在线服务
证券、期货投资咨询
适用于提供证券、期货投资等在线咨询服务
保险
适用于提供保险业务在线服务或交易等服务
征信业务
适用于银行或征信机构提供征信业务服务,包括:信贷记录、逾期记录、失信人查询等
新三板信息服务平台
适用于提供新三板信息行情资讯等服务
股票信息服务平台(港股/美股)
适用于提供港股、美股行情资讯、行情分析等服务 注:如提供股票交易服务,需补充:金融业-证券/期货类目
消费金融
适用于提供消费金融线上服务或交易等服务
汽车
汽车预售服务
适用于提供汽车在线预付款等服务 注:平台暂不支持在线整车销售,如涉及整车销售服务,建议改为价格指导或移除相关功能
汽车预售、推广直播
政府主体账号
-
-
-
政府相关工作推广直播、领导讲话直播等
IT 科技
音视频设备
为多方提供电话会议/视频会议等服务;智能家居场景下控制摄像头
适用于提供音视频设备、信息技术设备、电信终端设备等线下硬件在线销售及服务。
多方通信
仅适用于为多方提供电话会议/视频会议等服务
房地产服务
房地产营销
房地产营销直播服务、在线音视频带看等
适用于房地产开发商提供购房意向款、优惠券、权益券等营销活动
说明
可申请直播标签的小程序类目以 微信文档 说明为主,小程序类目的资质要求详见 非个人主体类目申请
符合类目要求的小程序,需要在小程序管理后台的开发 > 接口设置中自助开通推拉流标签的使用权限,如下图所示:


说明
如果以上设置都正确,但小程序依然不能正常工作,可能是微信内部的缓存没更新,请删除小程序并重启微信后,再进行尝试。

三、开通云直播服务

1. 申请开通视频直播服务

进入 云直播管理控制台 开通云直播服务。

2. 添加自有域名

进入域名注册进行 域名购买。您也可以通过其他域名服务商购买域名。
使用腾讯云的 域名备案 对已有域名进行备案。您也可以在其他域名服务商那进行备案。
注意
根据国家工信部规定,域名必须进行备案,且备案时长需几个工作日,建议您提前进行备案,更多网站备案信息请参见 网站备案。新备案成功的域名需要1天左右的时间同步到腾讯云服务器,添加该类域名时可能会显示域名未备案。
选择云直播控制台的域名管理> 添加域名 添加您已备案后的推流域名和播放域名。


说明
添加成功后,云直播会生成一个对应的 CNAME 域名,您可通过域名管理的域名列表进行查看。
域名列表里面有一个xxxx.livepush.myqcloud.com的推流域名,这个是我们为您提供的测试域名,可以通过这个域名进行推流测试,但强烈不建议您在正式的业务中使用这个域名作为推流域名。

3. 域名 CNAME

在您添加域名成功后,您的域名需要指向腾讯云直播的云服务集群。根据域名列表中的提示,您需要在您注册的域名服务商处将域名解析地址 CNAME 到云直播控制台的域名列表中对应域名的 CNAME 地址,CNAME 添加方法请参见 CNAME 配置
注意
CNAME 成功后通常需要一定时间生效,CNAME 不成功是无法使用腾讯云直播服务的。
域名 CNAME 成功后,在云直播控制台的 域名管理 列表中可见域名 CNAME 地址状态符号会由

变成

如果 CNAME 操作后,检测始终不成功,建议您向您的域名注册服务商咨询。

四、开通即时通信 IM 服务

进入 即时通信 IM 管理控制台,如果还没有开通服务,单击立即开始即可。如果是新认证的腾讯云账号,则即时通信 IM 的应用列表是空的。更多详情请参见 一分钟跑通 Demo



五、开通房间管理服务

1. 创建应用

进入 云直播控制台 > 直播 SDK > 应用管理 页面,单击创建应用填写应用信息。完成创建后,您将会在应用列表中看到您创建的应用,记录其 SDKAppID 信息,如下图所示:



说明
该操作的目的是创建一个即时通信 IM 应用,并将当前云直播账号和该即时通信 IM 应用绑定起来。即时通信 IM 应用能为小直播 App 提供聊天室和连麦互动的能力。

2. 查看并拷贝加密密钥

如果在 创建应用 中已经成功创建了应用,单击操作栏的管理,选择应用管理,并单击查看密钥,即可获取加密密钥。




3. 购买相关资源包

小程序源码中的 <mlvb-live-room> 组件 为开发者提供了腾讯云直播连麦的能力,具有低卡顿、低延时和易接入等特点。如果您希望用它来快速实现直播连麦应用,那么您需要购买直播流量资源包移动直播连麦资源包即时通信 IM 套餐包。详细计费说明请查看 云直播计费说明即时通信 IM 定价

六、下载 Demo 源码

访问 Github,获取小程序 Demo 源码。

七、粘贴密钥到 Demo 工程的指定文件中

我们在各个平台的 Demo 的源码工程中都提供了一个叫做GenerateTestUserSig的文件,它可以通过 HMAC-SHA256 算法本地计算出 UserSig,用于快速跑通 Demo。
语言版本
适用平台
GenerateTestUserSig 的源码位置
Objective-C
iOS
Java
Android
Javascript
小程序
您只需要将 步骤5 中获得的 SDKAppID 和加密密钥拷贝到文件中的指定位置即可,如下所示:


注意
安全警告:本地计算 UserSig 的做法虽然能够工作,但仅适合于调试 Demo 的场景,不适用于线上产品。
这是因为客户端代码中的 SECRETKEY 很容易被反编译逆向破解,尤其是 Web 端的代码被破解的难度几乎为零。一旦您的密钥泄露,攻击者就可以计算出正确的 UserSig 来盗用您的腾讯云流量。
安全方案:将 UserSig 的计算代码和加密密钥放在您的业务服务器上,然后由 App 按需向您的服务器获取实时算出的 UserSig。由于攻破服务器的成本要远高于破解客户端 App,所以服务器计算的方案能够更好地保护您的加密密钥。

八、编译运行

1. 打开 微信开发者工具 后,创建一个小程序项目,选择不使用模板
2. 单击预览,生成二维码,通过手机微信扫码二维码即可进入小程序。

注意
小程序 <live-player> 和 <live-pusher> 标签需要在手机微信上才能使用,微信开发者工具上无法使用。
为了小程序能够使用腾讯云房间管理服务,您需要在手机微信上开启调试功能:手机微信扫码二维码后,单击右上角"..." > 开发调试




九、发布上线

关于小程序的发布流程,请参见 发布上线。 在小程序发布上线前,请务必要在微信小程序控制台的开发 > 开发设置 > 服务器域名中配置 “request 合法域名”,否则将无法使用腾讯云的房间管理服务。需要配置的域名包括:
域名
说明
https://liveroom.qcloud.com
直播 SDK 房间管理服务域名
https://webim.tim.qq.com
IM 域名
https://pic.tim.qq.com
IM 图片上传域名




常见问题

1. 开发和运行环境要求

微信 App iOS 最低版本要求:6.5.21。
微信 App Android 最低版本要求:6.5.19。
小程序基础库最低版本要求:1.7.0。
由于微信开发者工具不支持原生组件(即 <live-pusher> 和 <live-player> 标签),需要在真机上进行运行体验。

2. 调试时为什么要开启调试模式?

开启调试可以跳过把这些域名加入小程序白名单的工作,否则可能会遇到登录失败,通话无法连接的问题。