API 参考
大约 2 分钟
Andorid 集成文档
API 参考
主要方法
CallKitClient
中的主要方法如下表所示:
方法 | 描述 | 参数 |
---|---|---|
init(context, config) | 初始化 CallKit | - context : 上下文- config : 配置对象 |
startSingleCall(type, userId, ext) | 发起一对一通话 | - type : 通话类型- userId : 对方用户 ID- ext : 扩展信息 |
startGroupCall(groupId, ext) | 发起群组通话 | - groupId : 群组 ID- ext : 扩展信息 |
endCall() | 结束通话 | 无 |
getCache() | 获取缓存管理器 | 无 |
通话类型
通话类型 CallType
如下表所示:
类型 | 描述 |
---|---|
SINGLE_VIDEO_CALL | 一对一视频通话 |
SINGLE_VOICE_CALL | 一对一语音通话 |
GROUP_CALL | 群组通话 |
通话结束原因
通话结束原因 CallEndReason
如下表所示:
原因 | 描述 |
---|---|
CallEndReasonHangup | 正常挂断 |
CallEndReasonCancel | 本地用户取消通话 |
CallEndReasonRemoteCancel | 对方取消通话 |
CallEndReasonRefuse | 本地用户拒绝接听 |
CallEndReasonRemoteRefuse | 对方拒绝接听 |
CallEndReasonBusy | 忙线中 |
CallEndReasonNoResponse | 本地用户无响应 |
CallEndReasonRemoteNoResponse | 对方无响应 |
CallEndReasonHandleOnOtherDevice | 在其他设备接听 |
CallEndReasonRemoteDrop | 通话中断 |
监听方法
环信 CallKit 提供 CallKitListener
监听通话过程。你可以设置监听器用于处理通话相关的回调。
所有回调方法都不在主线程执行,需要使用 runOnUiThread
来更新 UI。
方法 | 描述 | 参数 |
---|---|---|
onEndCallWithReason(reason, callInfo) | 通话结束回调 | - reason : 结束原因- callInfo : 通话信息 |
onCallError(errorType, errorCode, description) | 通话错误回调 | - errorType : 错误类型- errorCode : 错误码- description : 错误描述 |
onReceivedCall(userId, callType, ext) | 收到通话邀请 | - userId : 邀请方的用户 ID- callType : 通话类型- ext : 扩展信息 |
onRemoteUserJoined(userId, callType, channelName) | 远端用户加入 | - userId : 用户 ID- callType : 通话类型- channelName : 频道名称 |
onRemoteUserLeft(userId, callType, channelName) | 远端用户离开 | - userId : 用户ID- callType : 通话类型- channelName : 频道名称 |
onRtcEngineCreated(engine) | RTC 引擎创建 | engine : RTC 引擎实例 |
错误类型
通话错误类型
CallErrorType
类中提供三类通话错误类型:
通话错误类型 | 描述 |
---|---|
BUSINESS_ERROR | 业务逻辑异常。 |
RTC_ERROR | 音视频异常,详见 声网 RTC 错误码。 |
IM_ERROR | 即时通讯 IM 异常,详见 环信即时通讯 IM 错误码 |
业务错误类型
CALL_BUSINESS_ERROR
类中提供三类业务错误类型:
业务错误类型 | 描述 |
---|---|
CALL_STATE_BUSY_ERROR | 通话状态错误: 调用呼叫 API 时,当前设备不处于空闲状态。 |
CALL_PARAM_ERROR | 参数错误:主要为呼叫 API 调用参数错误为空等。 |
CALL_SIGNALING_ERROR | 信令错误:大多为信令回复的方法中某些参数错误,例如,对方发的信令里缺少某种参数。 |
获取日志
- 日志 TAG 中包含
Callkit
字段的所有内容均为 CallKit 日志。你可以通过查看日志进行代码问题排查。关于如何获取日志,详见 环信即时通讯 IM 文档。 - 线上获取 SDK 日志,需要设备在登录状态下联系环信技术支持。技术支持获取到线上设备的日志,排查线上用户的问题。