音视频通话(for 硬件)
小程序音视频通话(for 硬件)
接入流程和常见问题也可参考微信小程序音视频通话(for 硬件) 使用手册
1. 产品介绍
借助微信小程序音视频通话(for 硬件)能力,硬件开发者可以通过小程序硬件框架(WMPF),实现智能设备和手机微信端的一对一音视频通话,满足实时触达场景,提升通话体验。
下图为手机端的示意图,授权弹窗、通话提醒、通话界面为微信提供的统一界面,硬件小程序接入微信 VOIP 通话插件后,可实现上述功能。
适用于校园话机、门禁机、智能门锁、智慧中控屏、智能电视、智能摄像头、智能音箱、智慧养老等多种设备和场景,支持硬件设备和手机端双向通话,实现通话强提醒。
2. 设备要求
目前支持安卓系统、Linux 系统、RTOS 系统的设备。每台设备只能绑定一个小程序,只能和一个小程序进行通话。
目前支持 「设备直连」和「云对云」 两种接入模式:
2.1 设备直连(安卓)
安卓系统设备端运行小程序硬件框架(WMPF),WMPF 内运行开发者小程序,直接与用户手机微信内的小程序进行通话;
设备应满足下列基本要求:
建议使用小程序硬件框架 v2.1.0 及以上版本。 2.2 设备直连(Linux)
Linux 系统设备端调用 小程序音视频通话 SDK (Linux),直接与用户手机微信内的小程序进行通话。
设备应满足下列基本要求:
2.3 云对云
目前支持部分低功耗 Linux、RTOS 等系统的设备。设备端进行设备验证,经由开发者后台中转,与用户手机微信内的小程序进行通话。
设备应满足下列基本要求:
3. 开发前准备
以下几个环节可以同时进行,涉及到多个平台侧的审核流程,请提前预留时间。
3.1 【仅安卓直连设备】接入微信硬件平台
注册微信终端合作平台和微信开放平台账号、登记设备信息等环节均涉及平台审核,请提早准备。
参考文档指引,完成「微信终端合作平台 (wecooper)」企业主体账号注册、移动应用绑定和硬件注册的流程。
本步骤主要是将设备接入微信的设备体系,完成设备与 APP,以及 APP 与小程序之间的关联。
3.2 设备接入和申请设备能力
此环节涉及平台审核,请提早准备。
小程序想要使用音视频通话能力能力,需要在小程序管理平台申请开通「小程序音视频能力」设备能力。详见「设备接入」文档和微信小程序音视频通话(for 硬件) 使用手册中的流程指引,并关注《硬件 VoIP 审核验证要求》。
完成接入后,开发者可获得由平台分配的 model_id。model_id 对应一种设备类型,是调用小程序设备能力相关接口的重要凭证。
获取 model_id 后,开发者可以调用获取设备票据接口获取 snTicket,用于后续的设备验证流程。
3.3 接入 VOIP 插件
小程序音视频通话的主要功能通过「VOIP 通话」这一小程序插件(appId: wxf830863afde621eb)提供。
在小程序管理后台完成「小程序音视频能力」申请并通过后,小程序可以直接使用 VOIP 通话插件,无需额外申请。
如果开发者想要提前进行调试,可以手动进行申请:登录「小程序管理后台」——「设置」——「第三方设置」——「插件管理」,点击「添加插件」,搜索并添加「VOIP 通话」插件。
4. 设备端开发 5. 小程序开发
开发者需要开发(或使用现有)小程序,接入「VOIP 通话」插件,实现拨打和接听音视频通话的能力。
5.1 核心流程
至少使用微信客户端 8.0.30 及以上版本,建议使用当前最新版本。
小程序开发主要有以下环节,请参考各环节的文档:
接入「VOIP 通话」插件:参考插件文档在小程序中引入插件; 设备呼叫手机微信: 手机微信呼叫设备:适用于用户在手机微信内发起通话,已注册并且用户授权过的设备接听,请参考《手机微信呼叫设备(安卓)》和《手机微信呼叫设备(Linux)》; 性能与体验优化:请参考《性能与体验优化》。
通话相关异常,请参考《通话异常排查指南》
5.2 调试说明
VoIP 通话流程暂不支持在微信开发者工具进行调试,请使用真机进行。
5.2.1 设备端使用「开发版/体验版小程序」
安卓设备端可指定使用「开发版/体验版小程序」进行调试。请参考《开发设备端应用(安卓)》「3.2 运行开发版/体验版小程序」。
5.2.2 使用开发版/体验版小程序接听通话
接听方收到消息推送点击接听后,默认打开的是正式版的小程序。
在开发阶段,建议在调用 wmpfVoip.initByCaller 时额外传入 miniprogramState 参数指定打开开发版/体验版小程序。
const result = await wmpfVoip.initByCaller({
// 其他参数省略
miniprogramState: 'developer', // formal/正式版(默认);trial/体验版;developer/开发版
})
使用小程序音视频通话 SDK (Linux)时,可以在初始化时设置 wxa_flavor 指定使用开发版/体验版接听通话。
注意:
6. 服务端开发
RTOS 设备使用云对云方案时,需要进行服务端开发。设备直连(Linux、Android) 无需服务端开发。
7. 常见问题
请参考 《常见问题(FAQ)》