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 日志,需要设备在登录状态下联系环信技术支持。技术支持获取到线上设备的日志,排查线上用户的问题。
