Skip to content

Commit c515ed8

Browse files
authored
Merge pull request #1107 from haoxiuwen/doc-v2
Modify Programming Languages
2 parents 20b2709 + 717a989 commit c515ed8

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+403
-380
lines changed

docs/document/android/quickstart.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040

4141
### 2. 集成 SDK
4242

43-
你可以使用 mavenCentral 自动集成。该方法仅适用于 v3.8.2 或以上版本。获取最新 SDK 的版本号,详见 [SDK 更新日志](releasenote.html)
43+
你可以使用 mavenCentral 自动集成。该方法仅适用于 v3.8.2 或以上版本。
4444

4545
除此之外,你还可以通过手动复制 SDK 文件和动态加载 `.so` 库文件的方法集成 IM SDK,详见[集成文档](integration.html)
4646

@@ -85,6 +85,8 @@ implementation 'io.hyphenate:hyphenate-sdk:3.7.5' // 完整版本,包含音视
8585
implementation 'io.hyphenate:hyphenate-sdk-lite:3.7.5' // 精简版,只包含IM功能
8686
```
8787

88+
若要查看最新版本号,请点击[这里](releasenote.html)
89+
8890
### 3. 添加项目权限
8991

9092
根据场景需要,在 `/app/src/main/AndroidManifest.xml` 文件中添加如下行,获取相应的设备权限:

docs/document/ios/conversation_delete.md

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

2323
你可以调用 `deleteServerConversation` 方法单向删除服务器端和本地会话,并选择是否删除服务端和本地的历史消息。会话和消息删除后,当前用户无法从服务器获取该会话和消息。该接口不影响其他用户的会话和消息。
2424

25-
```objective-c
25+
```objectivec
2626
// 删除指定会话,如果需要保留服务端和本地的历史消息,`isDeleteServerMessages` 参数传 `NO`,异步方法。
2727
[[EMClient sharedClient].chatManager deleteServerConversation:@"conversationId1" conversationType:EMConversationTypeChat isDeleteServerMessages:YES completion:^(NSString *aConversationId, EMError *aError) {
2828
// 删除回调
@@ -33,15 +33,15 @@
3333
3434
你可以删除本地会话和历史消息,示例代码如下:
3535
36-
```objective-c
36+
```objectivec
3737
// 删除指定会话,如果需要保留历史消息,`isDeleteMessages` 参数传 `NO`,异步方法。
3838
[[EMClient sharedClient].chatManager deleteConversation:conversationId isDeleteMessages:YES completion:nil];
3939
// 删除一组会话。
4040
NSArray *conversations = @{@"conversationID1",@"conversationID2"};
4141
[[EMClient sharedClient].chatManager deleteConversations:conversations isDeleteMessages:YES completion:nil];
4242
```
4343

44-
```objective-c
44+
```objectivec
4545
// 删除当前会话中指定的一条历史消息。
4646
EMConversation *conversation = [[EMClient sharedClient].chatManager getConversation:conversationId type:type createIfNotExist:YES];
4747
[conversation deleteMessageWithId:.messageId error:nil];

docs/document/ios/conversation_list.md

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

3939
示例代码如下:
4040

41-
```objective-c
41+
```objectivec
4242
// pageSize: 每页返回的会话数。取值范围为 [1,50]。
4343
// cursor:查询的开始位置。若传入 `nil` 或 `@""`,SDK 从最新活跃的会话开始获取。
4444
NSString *cursor = @"";
@@ -82,7 +82,7 @@ NSString *cursor = @"";
8282

8383
示例代码如下:
8484

85-
```objective-c
85+
```objectivec
8686
NSArray <EMConversation *>*conversations = [EMClient.sharedClient.chatManager getAllConversations:YES];
8787
```
8888

docs/document/ios/conversation_mark.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
你需要自行维护会话标记与具体业务含义(比如 `EMMarkType0` 为重要会话)之间的映射关系。例如:
1010

11-
```objective-c
11+
```objectivec
1212
NSDictionary* mapping = @{
1313
@(EMMarkType0): @"important",
1414
@(EMMarkType1): @"normal",
@@ -48,7 +48,7 @@ NSDictionary* mapping = @{
4848
对会话添加标记,例如会话标星,并不影响会话的其他逻辑,例如会话的未读消息数。
4949
:::
5050
51-
```objective-c
51+
```objectivec
5252
[EMClient.sharedClient.chatManager addConversationMark:@[@"conversationId1"] mark:EMMarkType0 completion:^(EMError * _Nullable aError) {
5353
5454
}];
@@ -60,7 +60,7 @@ NSDictionary* mapping = @{
6060

6161
调用该方法会同时移除本地和服务器端会话的标记。
6262

63-
```objective-c
63+
```objectivec
6464
[EMClient.sharedClient.chatManager removeConversationMark:@[@"conversationId1"] mark:EMMarkType0 completion:^(EMError * _Nullable aError) {
6565

6666
}];
@@ -71,7 +71,7 @@ NSDictionary* mapping = @{
7171
你可以调用 `getConversationsFromServerWithCursor` 方法根据会话标记从服务器分页获取会话列表。SDK 会按会话标记的时间的倒序返回会话列表,每个会话对象中包含会话 ID、会话类型、是否为置顶状态、置顶时间(对于未置顶的会话,值为 `0`)、会话标记以及最新一条消息。从服务端拉取会话列表后会更新本地会话列表。
7272
7373
74-
```objective-c
74+
```objectivec
7575
//cursor:查询的开始位置。若传入空字符串,SDK 从最新标记操作的会话开始获取。
7676
// filter:会话查询选项,包括会话标记和每页获取的会话条数(最多可获取 10 条)。
7777
EMConversationFilter* filter = [[EMConversationFilter alloc] initWithMark:EMMarkType0 pageSize:10];
@@ -84,7 +84,7 @@ EMConversationFilter* filter = [[EMConversationFilter alloc] initWithMark:EMMark
8484

8585
对于本地会话,你可以调用 `getAllConversations` 方法获取本地所有会话后自己进行会话过滤。下面以查询标记了 `EMMarkType0` 的所有本地会话为例。
8686

87-
```objective-c
87+
```objectivec
8888
//最终的查询结果全部放入 result 中。
8989
NSMutableArray<EMConversation*>* result = [NSMutableArray array];
9090
NSArray<EMConversation*>* allConversations = [EMClient.sharedClient.chatManager getAllConversations];
@@ -99,7 +99,7 @@ for (EMConversation* conversation in allConversations) {
9999

100100
要获取本地单个会话的所有标记,你需要首先调用 `getConversationWithConvId` 方法获取本地单个会话,然后从会话的 `marks` 属性中查看该会话的所有标记,示例代码如下:
101101

102-
```objective-c
102+
```objectivec
103103
EMConversation* conversation = [EMClient.sharedClient.chatManager getConversationWithConvId:@"conversationId"];
104104
NSArray<NSNumber*>* marks = conversation.marks;
105105
```

docs/document/ios/conversation_overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@
4848

4949
示例代码如下:
5050

51-
```objective-c
51+
```objectivec
5252
// 收到会话已读的事件。该事件在以下场景中触发:
5353
// 1. 当消息接收方调用 `ackConversationRead()` 方法,SDK 会执行此回调,
5454
// 会将本地数据库中该会话中消息的 `isAcked` 属性置为 `true`。

docs/document/ios/conversation_pin.md

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

3232
示例代码如下:
3333

34-
```objective-c
34+
```objectivec
3535
[EMClient.sharedClient.chatManager pinConversation:self.conversation.conversationId isPinned:aSwitch.isOn completionBlock:^(EMError * _Nullable error) {
3636
}];
3737
```
@@ -46,7 +46,7 @@
4646
4747
示例代码如下:
4848
49-
```objective-c
49+
```objectivec
5050
// pageSize: 每页返回的会话数。取值范围为 [1,50]。
5151
// cursor:查询的开始位置。若传入 `nil` 或 `@""`,SDK 从最新置顶的会话开始查询。
5252
NSString *cursor = @"";

docs/document/ios/conversation_receipt.md

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

3636
若会话中存在多条未读消息,建议调用该方法,因为若调用发送消息已读回执方法 `sendMessageReadAck`,则需要调用多次。
3737

38-
```objective-c
38+
```objectivec
3939
[[EMClient sharedClient].chatManager ackConversationRead:conversationId completion:nil];
4040
```
4141
@@ -47,7 +47,7 @@
4747
对于群组聊天,会话已读回执只用于清空服务端的群组会话的未读数,消息发送方不会通过 `OnConversationRead` 回调收到会话已读回执。
4848
:::
4949
50-
```objective-c
50+
```objectivec
5151
// 继承并实现监听器。
5252
EMChatManagerDelegate
5353

docs/document/ios/conversation_unread.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727

2828
你可以调用 `getAllConversations` 方法获取每个本地会话的未读消息数量,即`EMConversation#unreadMessagesCount`,然后累加该数量,得到所有会话的未读消息数,示例代码如下:
2929

30-
```objective-c
30+
```objectivec
3131
NSArray *conversations = [[EMClient sharedClient].chatManager getAllConversations];
3232
NSInteger unreadCount = 0;
3333
for (EMConversation *conversation in conversations) {
@@ -39,7 +39,7 @@ for (EMConversation *conversation in conversations) {
3939

4040
你可以调用 `unreadMessagesCount` 方法获取本地指定会话的未读消息数,示例代码如下:
4141

42-
```objective-c
42+
```objectivec
4343
// 获取指定会话 ID 的会话。
4444
EMConversation *conversation = [[EMClient sharedClient].chatManager getConversation:conversationId type:type createIfNotExist:YES];
4545
// 获取未读消息数。
@@ -65,7 +65,7 @@ let err = EMClient.shared().chatManager?.markAllConversationsAsRead()
6565

6666
你可以调用 `markAllMessagesAsRead` 方法对指定会话的未读消息数清零,示例代码如下:
6767

68-
```objective-c
68+
```objectivec
6969
EMConversation *conversation = [[EMClient sharedClient].chatManager getConversation:conversationId type:type createIfNotExist:YES];
7070
[conversation markAllMessagesAsRead:nil];
7171
```
@@ -74,7 +74,7 @@ EMConversation *conversation = [[EMClient sharedClient].chatManager getConversat
7474
7575
你可以调用 `markMessageAsReadWithId` 方法将指定会话的单条未读消息置为已读。
7676
77-
```objective-c
77+
```objectivec
7878
EMConversation *conversation = [[EMClient sharedClient].chatManager getConversation:conversationId type:type createIfNotExist:YES];
7979
[conversation markMessageAsReadWithId:messageId error:nil];
8080
```

docs/document/ios/easecallkit.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ end
103103

104104
在环信 IM SDK 初始化完成后,同时初始化 `EaseCallKit`,初始化的同时开启回调监听,设置常用配置项。代码如下:
105105

106-
```objective-c
106+
```objectivec
107107
EaseCallConfig* config = [[EaseCallConfig alloc] init];
108108
EaseCallUser* usr = [[EaseCallUser alloc] init];
109109
usr.nickName = @"自定义昵称";
@@ -115,7 +115,7 @@ config.agoraAppId=@"声网 AppID";
115115
116116
可设置的配置项包括以下内容:
117117
118-
```objective-c
118+
```objectivec
119119
@interface EaseCallConfig : NSObject
120120
// 默认头像。
121121
@property (nonatomic) NSURL* defaultHeadImage;
@@ -140,7 +140,7 @@ config.agoraAppId=@"声网 AppID";
140140

141141
一对一通话分为语音通话与视频通话,发起过程如下:
142142

143-
```objective-c
143+
```objectivec
144144
// 发起一对一通话。
145145
// remoteUser 邀请对象的环信 ID。
146146
// type 通话类型。`EaseCallType1v1Audio` 表示语音通话,`EaseCallType1v1Video` 表示视频通话。
@@ -154,7 +154,7 @@ config.agoraAppId=@"声网 AppID";
154154
155155
你可以从群组成员列表或者好友列表中选择用户,发起多人音视频通话。具体实现可参考 Demo 中的 `ConfInviteUsersViewController`。
156156
157-
```objective-c
157+
```objectivec
158158
//邀请用户加入多人通话。
159159
// aInviteUsers 受邀用户的环信 ID 数组。
160160
// ext 可设置扩展信息,如果从群组发起,可通过 `ext` 设置群组 ID,其他用户也可邀请该群组成员。
@@ -175,7 +175,7 @@ config.agoraAppId=@"声网 AppID";
175175

176176
被叫振铃的同时,会触发以下回调:
177177

178-
```objective-c
178+
```objectivec
179179
- (void)callDidReceive:(EaseCallType)aType inviter:(NSString*_Nonnull)user ext:(NSDictionary*)aExt
180180
{
181181

@@ -186,7 +186,7 @@ config.agoraAppId=@"声网 AppID";
186186
187187
多人通话中,当前用户可以点击通话界面右上角的邀请按钮再次向其他用户发起邀请。这种情况下,会触发 `EaseCallKitListener` 中的 `multiCallDidInvitingWithCurVC` 回调:
188188
189-
```objective-c
189+
```objectivec
190190
// 多人音视频邀请按钮的回调。
191191
// vc 当前视图控制器。
192192
// users 通话中已存在的用户。
@@ -220,7 +220,7 @@ config.agoraAppId=@"声网 AppID";
220220

221221
`EaseCallKit` 3.8.1 新增 `callDidJoinChannel` 方法,在用户加入通话后会收到回调:
222222

223-
```objective-c
223+
```objectivec
224224
- (void)callDidJoinChannel:(NSString*_Nonnull)aChannelName uid:(NSUInteger)aUid
225225
{
226226
//此时,可以获取当前频道中已有用户的声网 ID 与环信 ID 的映射表,并将映射表设置到 `EaseCallKit`,同时也可以更新用户的头像和昵称。
@@ -234,7 +234,7 @@ config.agoraAppId=@"声网 AppID";
234234
235235
自 `EaseCallKit` 3.8.1 新增 `remoteUserDidJoinChannel` 方法,在对方用户加入通话后会收到回调。
236236
237-
```objective-c
237+
```objectivec
238238
-(void)remoteUserDidJoinChannel:( NSString*_Nonnull)aChannelName uid:(NSInteger)aUid username:(NSString*_Nullable)aUserName
239239
{
240240
// 此时,可以获取当前频道中已有用户的声网 RTC UID 与环信 ID 的映射表,并将映射表设置到 `EaseCallKit`,同时也可以更新用户的头像和昵称。
@@ -247,7 +247,7 @@ config.agoraAppId=@"声网 AppID";
247247

248248
在一对一音视频通话中,若其中一方挂断,双方的通话会自动结束,而多人音视频通话中需要主动挂断才能结束通话。通话结束后,会触发 `callDidEnd` 回调:
249249

250-
```objective-c
250+
```objectivec
251251
// 通话结束回调。
252252
// aChannelName 通话使用的声网频道名称,用户可以根据频道名称,到声网 Console 的水晶球查询通话质量。
253253
// aTm 通话时长,单位为秒。
@@ -296,7 +296,7 @@ config.agoraAppId=@"声网 AppID";
296296
297297
异常包括业务逻辑异常、音视频异常以及 Easemob IM 异常。
298298
299-
```objective-c
299+
```objectivec
300300
// 通话异常回调。
301301
// aError 为异常信息,包括了 Easemob IM 异常,RTC 异常,业务异常三种情况。
302302
- (void)callDidOccurError:(EaseCallError *)aError
@@ -307,7 +307,7 @@ config.agoraAppId=@"声网 AppID";
307307

308308
`EaseCallError` 异常包括 IM 异常,RTC 异常以及业务逻辑异常。
309309

310-
```objective-c
310+
```objectivec
311311
@interface EaseCallError : NSObject
312312
// 异常类型,包括 Easemob IM 异常、RTC 异常和业务逻辑异常。
313313
@property (nonatomic) EaseCallErrorType aErrorType;
@@ -321,7 +321,7 @@ config.agoraAppId=@"声网 AppID";
321321
322322
`EaseCallKit` 库初始化之后,可调用该方法修改配置:
323323
324-
```objective-c
324+
```objectivec
325325
// 以下为修改铃声过程。
326326
EaseCallConfig* config = [[EaseCallManager sharedManager] getEaseCallConfig];
327327
NSString* path = [[NSBundle mainBundle] pathForResource:@"huahai128" ofType:@"mp3"];
@@ -332,7 +332,7 @@ config.ringFileUrl = [NSURL fileURLWithPath:path];
332332

333333
`EaseCallKit` 3.8.1 开始,新增了修改头像昵称的接口,用户加入频道后可修改自己和通话中其他人的头像昵称,修改方法如下:
334334

335-
```objective-c
335+
```objectivec
336336
EaseCallUser* user = [EaseCallUser userWithNickName:info.nickName image:[NSURL URLWithString:info.avatarUrl]];
337337
[[[EaseCallManager sharedManager] getEaseCallConfig] setUser:username info:user];
338338
```
@@ -343,15 +343,15 @@ EaseCallUser* user = [EaseCallUser userWithNickName:info.nickName image:[NSURL U
343343
344344
用户加入音视频通话时,如果需要进行声网 token 鉴权,需要先开启 token 验证开关,开启过程如下:
345345
346-
```objective-c
346+
```objectivec
347347
EaseCallUser* callUser = [[EaseCallUser alloc] init];
348348
config.enableRTCTokenValidate = YES;// 开启 RTC Token 验证,默认不开启。
349349
[[EaseCallManager sharedManager] initWithConfig:config delegate:self];
350350
```
351351

352352
获取 token 的过程由用户自己完成,开启后在通话时,会收到 `callDidRequestRTCTokenForAppId`回调,用户需要在回调中,实现从用户自己的 App Server 中获取 token(App Server 的实现参见 [生成声网 Token](https://docportal.shengwang.cn/cn/video-call-4.x/token_server_ios_ng),然后调用 `setRTCToken:channelName:` 接口。
353353

354-
```objective-c
354+
```objectivec
355355
- (void)callDidRequestRTCTokenForAppId:(NSString * _Nonnull)aAppId
356356
channelName:(NSString * _Nonnull)aChannelName
357357
account:(NSString * _Nonnull)aUserAccount

0 commit comments

Comments
 (0)