Skip to content

Commit 188f1f6

Browse files
authored
Merge pull request #1431 from haoxiuwen/callkit
Modify CallKit Docs
2 parents dad0ea0 + c7a21e2 commit 188f1f6

File tree

8 files changed

+70
-71
lines changed

8 files changed

+70
-71
lines changed

docs/callkit/android/api_overview.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@
6161
`CallErrorType` 类中提供三类通话错误类型:
6262

6363
| 通话错误类型 | 描述 |
64-
|------|------|
64+
| :------------------- | :----- |
6565
| `BUSINESS_ERROR` | 业务逻辑异常。 |
6666
| `RTC_ERROR` | 音视频异常,详见 [声网 RTC 错误码](https://doc.shengwang.cn/doc/rtc/android/error-code)|
6767
| `IM_ERROR` | 即时通讯 IM 异常,详见 [环信即时通讯 IM 错误码](/document/android/error.html) |
@@ -71,7 +71,7 @@
7171
`CALL_BUSINESS_ERROR` 类中提供三类业务错误类型:
7272

7373
| 业务错误类型 | 描述 |
74-
|------|------|
74+
| :------------------- | :----- |
7575
| `CALL_STATE_BUSY_ERROR` | 通话状态错误: 调用呼叫 API 时,当前设备不处于空闲状态。|
7676
| `CALL_PARAM_ERROR` | 参数错误:主要为呼叫 API 调用参数错误为空等。 |
7777
| `CALL_SIGNALING_ERROR` | 信令错误:大多为信令回复的方法中某些参数错误,例如,对方发的信令里缺少某种参数。 |

docs/callkit/android/design_guide.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
<img src="/images/callkit/design/Cover.png" width="100%" >
44

5-
环信通话套件人机交互界面工具包基于环信移动端单/群聊人机交互界面工具包进行设计,设计原则、全局样式、小控件样式均复用自环信单/群聊人机交互界面工具包,详见 [单/群聊人机交互界面工具包](https://doc.easemob.com/uikit/chatroomuikit/android/design_guide.html)
5+
环信通话套件人机交互界面工具包基于环信移动端单/群聊人机交互界面工具包进行设计,设计原则、全局样式、小控件样式均复用自环信单/群聊人机交互界面工具包,详见 [单/群聊人机交互界面工具包](/uikit/chatuikit/android/chatuikit_design_guide.html)
66

77
## 总设计原则
88

@@ -513,7 +513,7 @@ Message Bubble(Large Radius)
513513

514514
<img src="/images/callkit/design/call_msg.png" width="500">
515515

516-
关于通话相关消息样式(Call Msg),详见 [单/群聊人机交互界面工具包](/uikit/chatroomuikit/android/design_guide.html)
516+
关于通话相关消息样式(Call Msg),详见 [单/群聊人机交互界面工具包](/uikit/chatuikit/android/chatuikit_design_guide.html)
517517

518518

519519
## 设计资源

docs/callkit/android/integration.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ class MainActivity : AppCompatActivity() {
214214
}
215215
```
216216

217-
### 步骤 4 登录
217+
### 步骤 4 登录 IM
218218

219219
```kotlin
220220
ChatClient.getInstance().loginWithToken(username, token, object : ChatCallback {
@@ -305,7 +305,7 @@ private fun startGroupCall() {
305305
<ImageItem src="/images/callkit/android/group_call_caller_user_selection.png" title="主叫选择用户进入通话" />
306306
</ImageGallery>
307307

308-
### 步骤 5 接听通话
308+
### 步骤 6 接听通话
309309

310310
当接收到通话邀请时,CallKit 会自动触发 `onReceivedCall` 回调:
311311
1. 弹出通话邀请界面。

docs/callkit/android/product_overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
| :-------------- | :----- | :------- |
2121
| - 一对一语音/视频通话 <br/>- 群组语音/视频通话(16 人及以下):通话中邀请他人 <br/> - 自定义铃声:支持主叫、被叫、挂断、超时铃声 <br/> - 打开/关闭悬浮窗<br/> - 自定义 UI 界面 | - 高画质/高音质音视频 <br/> - 离线推送<br/> - 通话质量检测<br/> - 全球互通<br/> - 弱网卡顿优化<br/> - 视频降噪| - 高质量音视频通话 <br/> - 完善的 UI 交互 <br/> - 支持多平台互联互通<br/> - 离线推送稳定且多样化 |
2222

23-
## 界面效果展示
23+
## 界面效果
2424

2525
### 一对一视频通话
2626

docs/callkit/ios/integration.md

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -120,33 +120,7 @@ CallKit 初始化包括如下步骤:
120120
}
121121
```
122122

123-
### 步骤 3 登录
124-
125-
调用即时通讯 IM SDK 的 `login` 方法传入用户 ID 和 Token 登录 IM。
126-
127-
在生产环境中,为了安全考虑,你需要在你的应用服务器集成 [获取 App Token API](/document/server-side/easemob_app_token.html)[获取用户 Token API](/document/server-side/easemob_user_token.html) 实现获取 Token 的业务逻辑,使你的用户从你的应用服务器获取 Token。
128-
129-
```Swift
130-
ChatClient.shared().login(withUsername: userId, token: token) { [weak self] userId,error in
131-
if let error = error {
132-
self?.showCallToast(toast: "Login failed: \(error.errorDescription ?? "")")
133-
} else {
134-
self?.showCallToast(toast: "Login successful")
135-
//if !userId.isEmpty { //如有需要透传头像昵称请打开
136-
// let profile = CallUserProfile()
137-
// profile.id = userId
138-
// profile.avatarURL = "https://xxxxx"
139-
// profile.nickname = "\(userId)昵称"
140-
// CallKitManager.shared.currentUserInfo = profile
141-
//}
142-
self?.userIdField.isHidden = true
143-
self?.tokenField.isHidden = true
144-
self?.loginButton.isHidden = true
145-
}
146-
}
147-
```
148-
149-
### 步骤 4 配置监听器
123+
### 步骤 3 配置监听器
150124

151125
你可以调用下面方法来监听 CallKit 中用户相关状态变更的事件和错误。
152126

@@ -244,6 +218,32 @@ extension MainViewController: CallServiceListener {
244218
| `CallEndReasonHandleOnOtherDevice` | 在其他设备接听 |
245219
| `CallEndReasonRemoteDrop` | 通话中断 |
246220

221+
### 步骤 4 登录 IM
222+
223+
调用即时通讯 IM SDK 的 `login` 方法传入用户 ID 和 Token 登录 IM。
224+
225+
在生产环境中,为了安全考虑,你需要在你的应用服务器集成 [获取 App Token API](/document/server-side/easemob_app_token.html)[获取用户 Token API](/document/server-side/easemob_user_token.html) 实现获取 Token 的业务逻辑,使你的用户从你的应用服务器获取 Token。
226+
227+
```Swift
228+
ChatClient.shared().login(withUsername: userId, token: token) { [weak self] userId,error in
229+
if let error = error {
230+
self?.showCallToast(toast: "Login failed: \(error.errorDescription ?? "")")
231+
} else {
232+
self?.showCallToast(toast: "Login successful")
233+
//if !userId.isEmpty { //如有需要透传头像昵称请打开
234+
// let profile = CallUserProfile()
235+
// profile.id = userId
236+
// profile.avatarURL = "https://xxxxx"
237+
// profile.nickname = "\(userId)昵称"
238+
// CallKitManager.shared.currentUserInfo = profile
239+
//}
240+
self?.userIdField.isHidden = true
241+
self?.tokenField.isHidden = true
242+
self?.loginButton.isHidden = true
243+
}
244+
}
245+
```
246+
247247
### 步骤 5 发起通话
248248

249249
#### 发起一对一通话

docs/callkit/ios/product_overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
| :-------------- | :----- | :------- |
2121
| - 一对一语音/视频通话 <br/>- 群组语音/视频通话(16 人及以下):通话中邀请他人 <br/> - 自定义铃声:支持主叫、被叫、挂断、超时铃声<br/> - 打开/关闭画中画 <br/> - 自定义 UI 界面 | - 高画质/高音质音视频 <br/> - 离线推送<br/> - 通话质量检测<br/> - 全球互通<br/> - 弱网卡顿优化<br/> - 视频降噪| - 高质量音视频通话 <br/> - 完善的 UI 交互 <br/> - 支持多平台互联互通<br/> - 离线推送稳定且多样化 |
2222

23-
## 界面效果展示
23+
## 界面效果
2424

2525
### 一对一视频通话
2626

docs/callkit/web/integration.md

Lines changed: 34 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -123,8 +123,41 @@ CallKit 组件或重要配置的说明如下:
123123
| chatClient 属性 | 传入 `rootStore.client`,即 Provider 创建的 IM 连接实例。 |
124124
| 信息提供者 | `userInfoProvider``groupInfoProvider` 用于获取用户和群组的显示信息。 |
125125

126+
### 步骤 3 配置监听器
126127

127-
### 步骤 3 登录 IM
128+
CallKit 组件可以设置回调事件,实现监听 CallKit 内部状态和错误事件。
129+
130+
```tsx
131+
<CallKit
132+
ref={callKitRef} // CallKit 组件引用,用于调用组件方法
133+
// === 事件回调 ===
134+
onCallError={(error) => {}}
135+
onEndCallWithReason={(reason) => {}}
136+
/>
137+
```
138+
139+
回调事件说明如下表所示:
140+
141+
| 回调事件 | 参数 | 描述 |
142+
| --------------------- | ----------------------------------------------- | ------------------------------------------------ |
143+
| `onCallError` | `(error: CallError)` | 通话过程中发生错误时触发,包含错误类型和详细信息 |
144+
| `onReceivedCall` | `(callType, userId, ext)` | 收到通话邀请时触发 |
145+
| `onCallStart` | `(videos: VideoWindowProps[])` | 通话开始时触发 |
146+
| `onEndCallWithReason` | `(reason: string, callInfo: CallInfo)` | 通话结束原因回调 |
147+
| `onRemoteUserJoined` | `(userId: string, callType)` | 远程用户加入通话时触发 |
148+
| `onRemoteUserLeft` | `(userId: string, callType)` | 远程用户离开通话时触发 |
149+
| `onInvitationAccept` | `(invitation: InvitationInfo)` | 用户接受邀请时触发 |
150+
| `onInvitationReject` | `(invitation: InvitationInfo)` | 用户拒绝邀请时触发 |
151+
| `onLayoutModeChange` | `(layoutMode: string)` | 布局模式变化时触发 |
152+
| `onMinimizedChange` | `(minimized: boolean)` | 最小化状态变化时触发 |
153+
| `onResize` | `(width, height, deltaX?, deltaY?, direction?)` | 窗口大小调整时触发 |
154+
| `onDragStart` | `(startPosition: {x, y})` | 开始拖拽时触发 |
155+
| `onDrag` | `(newPosition: {x, y}, delta: {x, y})` | 拖拽过程中触发 |
156+
| `onDragEnd` | `(finalPosition: {x, y})` | 拖拽结束时触发 |
157+
| `onRtcEngineCreated` | `(rtc: any)` | RTC 引擎创建完成时触发,可用于自定义配置 |
158+
| `onAddParticipant` | `()` | 用户点击添加参与者按钮时触发 |
159+
160+
### 步骤 4 登录 IM
128161

129162
CallKit 内部依赖 IM SDK 进行信令交互,所以在使用 CallKit 之前需要先登录 IM。登录 IM 有两种方式可以选择:
130163

@@ -237,40 +270,6 @@ const App = () => {
237270
export default App;
238271
```
239272

240-
### 步骤 4 配置监听器
241-
242-
CallKit 组件可以设置回调事件,实现监听 CallKit 内部状态和错误事件。
243-
244-
```tsx
245-
<CallKit
246-
ref={callKitRef} // CallKit 组件引用,用于调用组件方法
247-
// === 事件回调 ===
248-
onCallError={(error) => {}}
249-
onEndCallWithReason={(reason) => {}}
250-
/>
251-
```
252-
253-
回调事件说明如下表所示:
254-
255-
| 回调事件 | 参数 | 描述 |
256-
| --------------------- | ----------------------------------------------- | ------------------------------------------------ |
257-
| `onCallError` | `(error: CallError)` | 通话过程中发生错误时触发,包含错误类型和详细信息 |
258-
| `onReceivedCall` | `(callType, userId, ext)` | 收到通话邀请时触发 |
259-
| `onCallStart` | `(videos: VideoWindowProps[])` | 通话开始时触发 |
260-
| `onEndCallWithReason` | `(reason: string, callInfo: CallInfo)` | 通话结束原因回调 |
261-
| `onRemoteUserJoined` | `(userId: string, callType)` | 远程用户加入通话时触发 |
262-
| `onRemoteUserLeft` | `(userId: string, callType)` | 远程用户离开通话时触发 |
263-
| `onInvitationAccept` | `(invitation: InvitationInfo)` | 用户接受邀请时触发 |
264-
| `onInvitationReject` | `(invitation: InvitationInfo)` | 用户拒绝邀请时触发 |
265-
| `onLayoutModeChange` | `(layoutMode: string)` | 布局模式变化时触发 |
266-
| `onMinimizedChange` | `(minimized: boolean)` | 最小化状态变化时触发 |
267-
| `onResize` | `(width, height, deltaX?, deltaY?, direction?)` | 窗口大小调整时触发 |
268-
| `onDragStart` | `(startPosition: {x, y})` | 开始拖拽时触发 |
269-
| `onDrag` | `(newPosition: {x, y}, delta: {x, y})` | 拖拽过程中触发 |
270-
| `onDragEnd` | `(finalPosition: {x, y})` | 拖拽结束时触发 |
271-
| `onRtcEngineCreated` | `(rtc: any)` | RTC 引擎创建完成时触发,可用于自定义配置 |
272-
| `onAddParticipant` | `()` | 用户点击添加参与者按钮时触发 |
273-
274273
### 步骤 5 发起通话
275274

276275
#### 发起一对一通话

docs/callkit/web/product_overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
| :-------------- | :----- | :------- |
1818
| - 一对一语音/视频通话 <br/>- 群组语音/视频通话(16 人及以下):通话中邀请他人 <br/> - 自定义铃声:支持主叫、被叫、挂断、超时铃声 <br/> - 自定义 UI 界面 | - 高画质/高音质音视频 <br/> - 通话质量检测<br/> - 全球互通<br/> - 弱网卡顿优化<br/> - 视频降噪| - 高质量音视频通话 <br/> - 完善的 UI 交互 <br/> - 支持多平台互联互通<br/> - 离线推送稳定且多样化 |
1919

20-
## 界面效果展示
20+
## 界面效果
2121

2222
### 一对一视频通话
2323

0 commit comments

Comments
 (0)