0 前言
前阵子使用Uniapp平台开发了一个跨平台app,并且接入了即构RTC后,今天想进一步丰富app的直播功能。之前有相芯美颜的开发经验,打算将相芯美颜接入即构RTC.
**在DCloud插件市场找到了在即构RTC接入相芯美颜插件,https://ext.dcloud.net.cn/plugin?id=18718, 按照里面的readme教程完成接入,**为了让后来者少走弯路,将接入过程以及原理记录到本文中,欢迎大家评论讨论。最终实现的效果如下:
1 配置准备
先加入在DCloud插件市场中加入两个插件, 分别点击如下两个链接:
然后分别点击"点击购买(0元)for 云打包", 如下图所示:
接下来在HBuilder的App原生插件上加入以上两个插件,如下所示:
2 代码开发
本文基于即构RTC接入相芯美颜插件的示例项目开发,前往即构RTC接入相芯美颜插件官网下载示例项目ZIP,如下图所示:
2.1 即构与相芯秘钥配置
打开pages/KeyCenter.js
, 填写以下内容:
let appID = ;
let userID =
let appSign =
let token =
let authpack =
以上各个配置参数通过如下途径获取:
- appID:打开即构后台管理https://console.zego.im/dashboard,可以得到appID, 形如123456789。
- userID:随意定义的字符串,作为当前登录用户的id
- appSign:旧的鉴权方式需要使用,建议参考https://doc-zh.zego.im/faq/token_upgrade 切换到最新的鉴权。用户可以从https://console.zego.im/dashboard 获取appSign,注意以后不再提供appSign支持。
- token:最新的鉴权方案,参考这里https://doc-zh.zego.im/faq/token_upgrade
- authpack:由相芯对接工作人员提供生成代码,可以运行保存下来。相芯提供类似如下代码:
public class authpack {
public static int sha1_32(byte[] buf){
int ret=0;try{
byte[] digest=MessageDigest.getInstance("SHA1").digest(buf);return ((int)(digest[0]&0xff)<<24)+((int)(digest[1]&0xff)<<16)+((int)(digest[2]&0xff)<<8)+((int)(digest[3]&0xff)<<0);}catch(Exception e){
}return ret;}
public static byte[] A(){
byte[] buf=new