更新记录

v1.1.3(2024-01-12) 下载此版本

  • 将本地依赖的包修改为远程依赖

v1.1.2(2023-12-12) 下载此版本

  • android 依赖库更新

v1.1.1(2023-12-12) 下载此版本

iOS 移除 armv7、x86_64、i386 架构,仅支持 arm64 架构

查看更多

平台兼容性

Vue2 Vue3
×
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
× × × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序
× × × ×
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 平台的专属链接在云信控制台成功注册账号并开通服务,云信将提供特别的优惠价,可在开通账号后联系云信销售或技术支持。

点击 立即注册 前往云信控制台开通音视频呼叫组件相关服务(包括 IM 即时通讯、信令和音视频通话 2.0)。

推荐有礼

推荐好友使用云信 IM 即时通讯产品,返佣奖励高至 20%,上不封顶!

点击 网易云信 8 周年庆 即可参与,合法致富机会,赶紧牢牢抓住!

Demo 体验

平台 二维码
Android
iOS

Demo 效果图

技术支持

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

准备工作

1. 申请 AppKey

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

2. 获取账号

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

3. 开通服务

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

快速接入

说明

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

步骤1 配置 AppKey

  • 方式一:在config文件中配置
名称:neteaseCallUIKit
参数:appid
配置示例:
```js
<feature name="neteaseCallUIKit">
    <param name="appKey" value="appkey123456" />
</feature>
```
字段描述:

appKey:云信应用对应的 AppKey,获取方式请参见 [创建应用并获取AppKey](https://doc.yunxin.163.com/console/docs/TIzMDE4NTA?platform=console)。
  • 方式二:通过API接口传入

    传入方式详见下方 initConfig 接口, 该方式会覆盖方式一配置的值。

步骤2 初始化 SDK

调用 initSDK 接口初始化 SDK。

步骤3 登录 IM 账号

调用 login 接口登录 IM 账号。

步骤4 开始使用

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

完整步骤

initConfig() -> initSDK() -> login() -> toCallPage()

插件接口

initConfig

配置初始化参数

initConfig({params})

params

appKey:

account:

token:

apnsCername:

  • 类型:String
  • 描述:(可选值)云信 Apns 推送证书名

pkCername:

  • 类型:String
  • 描述:(可选值)云信 PushKit 推送证书名

示例代码

var demo = api.require('neteaseCallUIKit');
demo.initConfig({
    appKey: "appkey123456789",
    account: "123456789",
    token: "123456789",
    apnsCername: "",
    pkCername: ""
});

可用性

  • iOS系统:可提供的 1.0.0 及更高版本
  • Android系统:可提供的 1.1.0 及更高版本

initSDK

初始化音视频呼叫组件

initSDK()

示例代码

var demo = api.require('neteaseCallUIKit');
demo.initSDK()

可用性

  • iOS系统:可提供的 1.0.0 及更高版本
  • Android系统:可提供的 1.1.0 及更高版本

login

登录 IM

login({params}, callback(ret))

params

appKey:

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

account:

token:

callback(ret)

ret:

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

示例代码

var demo = api.require('neteaseCallUIKit');
demo.login({
    account: '123465',
    token: '456789'
}, function(ret, err) {
    if (ret.code != 200) {
        var msg = '登录失败\n错误码:' + ret.code + '\n错误信息:' + ret.msg;
        api.toast({
            msg: msg,
            location: 'middle'
        });
    } else {
        api.toast({
            msg: '登录成功',
            location: 'middle'
        });
    }
});

可用性

  • iOS系统:可提供的 1.0.0 及更高版本
  • Android系统:可提供的 1.1.0 及更高版本

logout

登出 IM

logout(callback(ret))

callback(ret)

ret:

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

示例代码

var demo = api.require('neteaseCallUIKit');
demo.logout(function(ret) {
    if (ret.code != 200) {
        var msg = '登出失败\n错误码:' + ret.code + '\n错误信息:' + ret.msg;
        api.toast({
            msg: msg,
            location: 'middle'
        });
    } else {
        api.toast({
            msg: '登出成功',
            location: 'middle'
        });
    }
});

可用性

  • iOS系统:可提供的 1.0.0 及更高版本
  • Android系统:可提供的 1.1.0 及更高版本

toCallPage

跳转到呼叫页面(主叫)

toCallPage({params})

params

remoteUserAccid:

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

currentUserAccid:

  • 类型:String
  • 描述:主叫 accid

type:

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

示例代码

var demo = api.require('neteaseCallUIKit');
demo.toCallPage({
    remoteUserAccid:'123456',
    currentUserAccid:'456789',
    type:2
});

可用性

  • iOS系统:可提供的 1.0.0 及更高版本
  • Android系统:可提供的 1.1.0 及更高版本

隐私、权限声明

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协议

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