更新记录
1.0.9(2021-11-12) 下载此版本
1.修复安卓退出登录后再次登录次,会多次接收消息的BUG
1.0.8(2021-11-09) 下载此版本
1.修复无法拨打视频的BUG 2.添加回调提示 3.修复账号错乱的BUG
1.0.5(2021-11-08) 下载此版本
1.添加各种事件回调(具体可以打印login方法里的回调函数) 2.修复ios视频界面黑屏的UI 3.android接收消息后台唤起
查看更多平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:5.0 - 11.0 | armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 | 适用版本区间:9 - 14 |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios
注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择
插件说明
本插件实现了腾讯云的实时音视频聊天功能
1.项目实现了所有的音视频UI,无需自己编写,只需要引入,登录即可
2.插件只提供3个api,一个是登录,一个是主动拨打电话,一个是退出登录
3.界面展示的账号头像昵称等数据,皆为腾讯云IM(开通音视频功能的要求同步开通)的账号信息,一般来说需要后端处理返回给前端
4.login方法的第二个参数为回调函数,包括’通话结束‘,’通话未回应‘,'登录成功'等等10多种,具体可以自己打印回调函数里的返回值,以下列几种常用的
4.1通话结束
-onUserCallEnd
-uid
-timeCount
4.2通话未回应
-onNoResp
-uid
4.3对方忙线
-onLineBusy
-uid
4.4通话取消
-onUserCancelCall
-uid
4.5对方拒绝
-onReject
-uid
使用教程
1.引入插件
const TXRTC = uni.requireNativePlugin("arky-txrtc-main")
2.初始化登录
TXRTC.login(
{
appid:腾讯云RTC的用户appid,
userid:用户ID,
userSig:"后端返回",
},
(res)=>{
//回调函数,type为腾讯rtc对应的各种事件
uni.showToast({
title:res.type + " : " +res.msg + " : " + res.code,
icon:'none'
})
}
)
3.拨打电话
TXRTC.call({
userid:用户ID,
type:2,
})
type 1.语音聊天 2.视频聊天
4.退出登录
TXRTC.logout()
退出登录防止多次登录造成的多次被动接听的BUG
完整代码
<template>
<view class="content">
<input class="inp" v-model="userid"/>
<view>
<button @click="connect()">Connect</button>
<button @click="dial()">Dial</button>
</view>
</view>
</template>
<script>
const TXRTC = uni.requireNativePlugin("arky-txrtc-main")
const APPID = 14005764215
export default {
data() {
return {
userid:'104'
}
},
onLoad() {
},
methods: {
connect(){
TXRTC.login(
{
appid:APPID,
userid:this.userid,
userSig:"ssdfljklj423423klskdf",//userSig = id(104)
},
(res)=>{
//success
uni.showToast({
title:res.type + " : " +res.msg + " : " + res.code,
icon:'none'
})
this.userid = ""
}
)
},
dial(){
TXRTC.call({
userid:this.userid,
type:2,
})
}
}
}
</script>
<style>
.content {
width: 100vw;
height: 100vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.inp{
border: 1px solid #333;
font-size: 20px;
padding: 10px;
width: 300px;
}
</style>