更新记录

2.0.1(2024-03-12)

  • 更新文档内容

2.0.0(2024-03-12)

  • 网易云信RTC音视频通话适配Uniapp-x

平台兼容性

Vue2 Vue3
×
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 3.99,Android:5.0,iOS:11 × × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序
× × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
× × × × × × × × ×

概述

插件概述

网易云信音视频呼叫(呼叫组件 NERtcCallKit)是网易云信推出的含 UI 组件,您只需要几行代码,就可以快速实现音视频呼叫,在 App 中添加包括呼叫、接通、拒接、以及通话中音频和视频的开关控制功能,并包含呼叫的 UI 界面。

呼叫组件基于云信信令、音视频通话 2.0 和 IM 即时通讯产品封装的融合性场景组件,简化了呼叫流程,将呼叫功能以 UI 组件化的形式提供给客户,提高接入效率、降低使用成本。

呼叫组件(NERtcCallKit)支持的功能如下表所示。

功能
描述
自定义 UI 开发者可以自行设计通话和呼叫页面 UI。
音视频呼叫 App 通过此功能通知被叫用户呼叫请求,呼叫请求类型包括音频和视频呼叫。
音视频通话 接通后可依照呼叫类型进行实时通话。
音视频控制 通话过程中可以控制本端音频或视频的开关,以及摄像头方向等。
话单 每次通话结束后都会收到对应的话单消息,标记本次通话是否接通以及通话时间、类型等数据。

限时优惠活动

如果您在 Dcloud 平台下载了该组件,您可登录云信控制台(Dcloud专属链接)进行开通与管理。

此外通过以上 Dcloud 平台的专属链接成功注册账号并开通服务的用户,云信将提供特别的优惠价,可在开通账号后联系云信销售或技术支持。

Demo 体验

平台 二维码
Android
iOS

Demo 效果图

技术支持

网易云信提供多种服务,包括客服、技术支持、热线服务、全流程数据监控等,建议扫码添加我们的技术支持,协助接入、测试以及定制需求。 微信咨询 在线咨询 电话咨询
点击在线咨询 4009-000-123

准备工作

1. 申请 AppKey

用户在使用本插件之前需要获取AppKey,AppKey 申请的具体流程请参见 创建应用并获取AppKey

2. 获取账号

本插件使用中需要 account 和 token,具体请参见 注册云信IM账号

3. 开通服务

使用音视频呼叫(呼叫组件)之前,需要开通部分能力,开通的具体流程请参见 开通服务

快速接入

说明

本项目为App原生语言插件,请参考原生语言插件的集成方式进行集成。

步骤1 初始化 SDK

调用 initCall 接口初始化 SDK。

步骤2 登录 IM 账号

调用 loginCall 接口登录 IM 账号。

步骤3 开始使用

基于以上步骤,您可以调用 CallUIKit 接口实现自身逻辑,例如调用 UI 接口 toCallPage 跳转到呼叫页面。

完整步骤

initCall() -> loginCall() -> toCallPage()

插件接口

导入呼叫组件接口

import { initCall,loginCall,toCallPage,logoutCall } from "@/uni_modules/netease-callkitx";

initCall

初始化音视频呼叫组件

initCall({appKey:''})

params

appKey:

  • 类型:String
  • 描述:云信应用的 AppKey

示例代码


initCall({appKey:''})

可用性

  • iOS系统:可提供的 11 及更高版本
  • Android系统:可提供的 21 及更高版本

loginCall

登录 IM

loginCall(paramJson:UTSJSONObject,callback?:(result: UTSJSONObject) => void)

params

paramJson:入参采用Json的形式格式如下:{account:"",token:""}

account:

token:

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    code:200,                   // Int类型;失败登录返回 code(登录成功返回 200)
    msg:'',                     // String 类型;失败登录接口信息
}

示例代码


loginCall({account:'',token:''},function (result:UTSJSONObject):void {

    console.log('callKitLogin method result: ' + result['code'])

})

可用性

  • iOS系统:可提供的 11 及更高版本
  • Android系统:可提供的 21 及更高版本

logoutCall

登出 IM

function logoutCall(callback?:(result: UTSJSONObject) => void) : void {}

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:

{
    code:200,                   // Int 类型;登出失败返回 code(登出成功返回 200)
    msg:''                      // String 类型;登出失败信息
}

示例代码


logoutCall(function (result:UTSJSONObject):void {

    console.log('callKitLogin method result: ' + result['code'])

})

可用性

  • iOS系统:可提供的 11 及更高版本
  • Android系统:可提供的 21 及更高版本

toCallPage

跳转到呼叫页面(主叫)

toCallPage({params})

params

remoteUserAccid:

  • 类型:String
  • 描述:被叫 accid,即 account 账号

type:

  • 类型:Int
  • 描述:呼叫类型(1: 音频呼叫, 2: 视频呼叫)

示例代码


toCallPage({remoteUserAccid:'',type:2})

可用性

  • iOS系统:可提供的 11 及更高版本
  • Android系统:可提供的 21 及更高版本

隐私、权限声明

1. 本插件需要申请的系统权限列表:

"android.permission.ACCESS_NETWORK_STATE" - 网络状态权限 "android.permission.CAMERA" - 相机权限 "android.permission.RECORD_AUDIO" -录音权限 "android.permission.FOREGROUND_SERVICE" -后台服务权限 "android.permission.SYSTEM_ALERT_WINDOW" -弹窗权限

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问