Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion docs/document/android/connection.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

你可以通过注册连接监听确认连接状态。

```java
```Java
EMConnectionListener connectionListener = new EMConnectionListener() {
@Override
public void onConnected() {
Expand Down
6 changes: 3 additions & 3 deletions docs/document/android/conversation_delete.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@

示例代码如下:

```java
```Java
//获取指定的会话 ID。
EMConversation conversation = EMClient.getInstance().chatManager().getConversation(conversationId);

Expand All @@ -50,12 +50,12 @@ EMClient.getInstance().chatManager().deleteConversationFromServer(conversationId

你可以删除本地会话和历史消息,示例代码如下:

```java
```Java
// 删除指定用户的会话,如果需要保留历史消息,传 `false`。
EMClient.getInstance().chatManager().deleteConversation(conversationId, true);
```

```java
```Java
// 删除指定会话中指定的一条历史消息。
EMConversation conversation = EMClient.getInstance().chatManager().getConversation(conversationId);
conversation.removeMessage(deleteMsg.msgId);
Expand Down
10 changes: 5 additions & 5 deletions docs/document/android/conversation_list.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@

示例代码如下:

```java
```Java
// limit: 每页返回的会话数。取值范围为 [1,50]。
// cursor: 开始获取数据的游标位置。若获取数据时传 `null` 或者空字符串(""),SDK 从最新活跃的会话开始获取。
int limit = 10;
Expand Down Expand Up @@ -69,7 +69,7 @@ EMClient.getInstance().chatManager().asyncFetchConversationsFromServer(limit, cu
若使用该功能,需将 SDK 升级至 4.6.0。
:::

```java
```Java
EMClient.getInstance().chatManager().asyncFilterConversationsFromDB(new EMCustomConversationFilter() {
@Override
public boolean filter(EMConversation emConversation) {
Expand Down Expand Up @@ -106,7 +106,7 @@ EMClient.getInstance().chatManager().asyncFilterConversationsFromDB(new EMCustom

示例代码如下:

```java
```Java
List<EMConversation> conversations = EMClient.getInstance().chatManager().getAllConversationsBySort();
```

Expand All @@ -126,7 +126,7 @@ SDK 初始化时,你可以设置 `EMOptions#setAutoLoadAllConversations` 方

你可以调用 `cleanConversationsMemoryCache` 方法,清除本地内存中的所有会话,从而释放内存。

```java
```Java
EMClient.getInstance().chatManager().cleanConversationsMemoryCache();
```

Expand All @@ -138,7 +138,7 @@ EMClient.getInstance().chatManager().cleanConversationsMemoryCache();
2. 获取会话前清空内存中的会话:调用 `asyncFilterConversationsFromDB` 获取过滤的会话时,将 `cleanConversationsCache` 参数传 `true`。
3. 监控到内存较高时(开发者自己实现)释放内存: 调用 `cleanConversationsMemoryCache` 方法清空内存中的会话,释放内存。

```java
```Java
//step 1:SDK 初始化时,关闭自动加载会话开关。
EMOptions options = initChatOptions(context);
options.setAutoLoadAllConversations(false);
Expand Down
12 changes: 6 additions & 6 deletions docs/document/android/conversation_mark.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

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

```java
```Java
Map<EMConversation.EMMarkType,String> mapping=new HashMap<>();
mapping.put(EMConversation.EMMarkType.MARK_0,"important");
mapping.put(EMConversation.EMMarkType.MARK_1,"normal");
Expand Down Expand Up @@ -48,7 +48,7 @@ mapping.put(EMConversation.EMMarkType.MARK_4,"girls");
对会话添加标记,例如会话标星,并不影响会话的其他逻辑,例如会话的未读消息数。
:::

```java
```Java
String conversationId = "huanhuan";
List<String> ids=new ArrayList<>();
ids.add(conversationId);
Expand All @@ -71,7 +71,7 @@ EMClient.getInstance().chatManager().asyncAddConversationMark(ids, EMConversatio

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

```java
```Java
String conversationId = "huanhuan";
List<String> ids=new ArrayList<>();
ids.add(conversationId);
Expand All @@ -92,7 +92,7 @@ EMClient.getInstance().chatManager().asyncRemoveConversationMark(ids, EMConversa

你可以调用 `asyncGetConversationsFromServerWithCursor` 方法根据会话标记从服务器分页获取会话列表。SDK 会按会话标记的时间的倒序返回会话列表,每个会话对象中包含会话 ID、会话类型、是否为置顶状态、置顶时间(对于未置顶的会话,值为 0)、会话标记以及最新一条消息。从服务端拉取会话列表后会更新本地会话列表。

```java
```Java
// 最终的查询结果全部放入 result 中。
List<EMConversation> result=new ArrayList<>();
// cursor:查询的开始位置。若传入空字符串,SDK 从最新标记操作的会话开始获取。
Expand Down Expand Up @@ -127,7 +127,7 @@ private void doAsyncGetConversationsFromServerWithCursor(List<EMConversation> re

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

```java
```Java
//最终的查询结果全部放入 result 中。
List<EMConversation> result=new ArrayList<>();
Map<String, EMConversation> localConversations = EMClient.getInstance().chatManager().getAllConversations();
Expand All @@ -149,7 +149,7 @@ if(localConversations!=null&&!localConversations.isEmpty()){

你可以调用 `EMConversation#marks` 方法获取本地单个会话的所有标记,示例代码如下:

```java
```Java
EMConversation conversation = EMClient.getInstance().chatManager().getConversation("conversationId");
Set<EMMarkType> marks = conversation.marks();
```
Expand Down
2 changes: 1 addition & 1 deletion docs/document/android/conversation_overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@

示例代码如下:

```java
```Java
EMConversationListener listener=new EMConversationListener() {
// 收到会话已读的事件。该事件在以下场景中触发:
// 1. 当消息接收方调用 `ackConversationRead()` 方法,SDK 会执行此回调,
Expand Down
4 changes: 2 additions & 2 deletions docs/document/android/conversation_pin.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@

示例代码如下:

```java
```Java
EMClient.getInstance().chatManager().asyncPinConversation(conversationId, isPinned, new EMCallBack() {
@Override
public void onSuccess() {
Expand All @@ -55,7 +55,7 @@ EMClient.getInstance().chatManager().asyncPinConversation(conversationId, isPinn

示例代码如下:

```java
```Java
// limit: 每页返回的会话数。取值范围为 [1,50]。
// cursor: 开始获取数据的游标位置。若获取数据时传 `null` 或者空字符串(""),SDK 从最新置顶的会话开始查询。
int limit = 10;
Expand Down
6 changes: 3 additions & 3 deletions docs/document/android/conversation_receipt.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@

1. 开启已读回执功能,即 SDK 初始化时设置 `EMOptions#setRequireAck` 为 `true`。

```java
```Java
// 设置是否需要接受方已读确认,默认为 true
options.setRequireAck(true);
```
Expand All @@ -40,7 +40,7 @@ options.setRequireAck(true);

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

```java
```Java
try {
EMClient.getInstance().chatManager().ackConversationRead(conversationId);
} catch (HyphenateException e) {
Expand All @@ -56,7 +56,7 @@ try {
对于群组聊天,会话已读回执只用于清空服务端的群组会话的未读数,消息发送方不会通过 `OnConversationRead` 回调收到会话已读回执。
:::

```java
```Java
EMClient.getInstance().chatManager().addConversationListener(new EMConversationListener() {
……
@Override
Expand Down
10 changes: 5 additions & 5 deletions docs/document/android/conversation_unread.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,15 +27,15 @@

你可以调用 `getUnreadMessageCount` 方法获取本地所有会话的未读消息数量,示例代码如下:

```java
```Java
EMClient.getInstance().chatManager().getUnreadMessageCount();
```

### 获取指定会话的未读消息数

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

```java
```Java
EMConversation conversation = EMClient.getInstance().chatManager().getConversation(conversationId);
conversation.getUnreadMsgCount();
```
Expand All @@ -44,15 +44,15 @@ conversation.getUnreadMsgCount();

你可以调用 `markAllConversationsAsRead` 方法将本地所有会话设为已读,即将所有会话的未读消息数清零,示例代码如下:

```java
```Java
EMClient.getInstance().chatManager().markAllConversationsAsRead();
```

### 指定会话的未读消息数清零

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

```java
```Java
EMConversation conversation = EMClient.getInstance().chatManager().getConversation(conversationId);
conversation.markAllMessagesAsRead();
```
Expand All @@ -61,7 +61,7 @@ conversation.markAllMessagesAsRead();

你可以调用 `markMessageAsRead` 方法将指定会话的单条未读消息置为已读。

```java
```Java
EMConversation conversation = EMClient.getInstance().chatManager().getConversation(conversationId);
conversation.markMessageAsRead(messageId);
```
32 changes: 16 additions & 16 deletions docs/document/android/easecallkit.md
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ implementation 'io.agora.rtc:full-sdk:3.8.0'

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

```java
```Java
//初始化 `EaseCallUIKit`。
EaseCallKitConfig callKitConfig = new EaseCallKitConfig();
//设置默认头像。
Expand All @@ -150,7 +150,7 @@ addCallkitListener();

可设置的配置项包括以下内容:

```java
```Java
/**
* EaseCallKit 相关的用户配置选项。
* defaultHeadImage 用户默认头像。该参数的值为本地文件绝对路径或者 URL。
Expand Down Expand Up @@ -178,7 +178,7 @@ public class EaseCallKitConfig {

一对一通话可分为视频通话和语音通话,接口如下所示:

```java
```Java
/**
* 发起一对一通话。
* @param type 通话类型。该参数只能设置为 `SIGNAL_VOICE_CALL` 或 `SIGNAL_VIDEO_CALL`。
Expand All @@ -192,7 +192,7 @@ public void startSingleCall(final EaseCallType type, final String user,final St

你可以从群组成员列表或者好友列表中选择,发起多人音视频邀请,具体实现可参考 demo 中的 `ConferenceInviteActivity`。

```java
```Java
/**
* 邀请用户加入多人通话。
* @param users 用户 ID 列表,即环信 ID 列表。
Expand All @@ -211,7 +211,7 @@ public void startInviteMultipleCall(final String[] users,final String ext){}

被叫收到邀请后会触发 `EaseCallKitListener` 中的 `onRevivedCall` 回调:

```java
```Java
/**
* 收到通话邀请回调。
* @param callType 通话类型。
Expand All @@ -229,7 +229,7 @@ void onRevivedCall(EaseCallType callType, String userId,String ext){}

多人通话中,当前用户可以点击通话界面右上角的邀请按钮再次向其他用户发起邀请。这种情况下,会触发 `EaseCallKitListener` 中的 `onInviteUsers` 回调:

```java
```Java
/**
* 邀请好友进行多人通话。
* @param context 通话上下文。
Expand All @@ -244,7 +244,7 @@ public void onInviteUsers(Context context,String userId[],String ext) {

用户加入通话后,当前用户以及其他与会者会收到 `EaseCallKitListener` 中的 `onRemoteUserJoinChannel` 回调。该接口自从 SDK 3.8.1 新增。

```java
```Java
@Override
public void onRemoteUserJoinChannel(String channelName, String userName, int uid, EaseGetUserAccountCallback callback){
//此时,可以获取当前频道中已有用户的声网 ID 与环信 ID 的映射表,并将映射表设置到 `EaseCallKit`,同时也可以更新用户的头像和昵称。
Expand All @@ -256,7 +256,7 @@ public void onRemoteUserJoinChannel(String channelName, String userName, int uid

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

```java
```Java
/**
* 通话结束回调。
* @param callType 通话类型。
Expand Down Expand Up @@ -285,7 +285,7 @@ public enum EaseCallEndReason {

通话过程中如果有异常或者错误发生,会触发 `EaseCallKitListener` 中的 `onCallError` 回调:

```java
```Java
/**
* 通话异常回调。
* @param type 错误类型。
Expand All @@ -297,7 +297,7 @@ void onCallError(EaseCallKit.EaseCallError type, int errorCode, String descripti

`EaseCallError` 异常包括业务逻辑异常、音视频异常以及 Easemob IM 异常。

```java
```Java
/**
* 通话错误类型。
*
Expand All @@ -313,7 +313,7 @@ public enum EaseCallError{

`EaseCallKit` 库初始化之后,可修改有关配置,接口和示例如下:

```java
```Java
/**
* 获取当前 `EaseCallKit` 的配置。
*
Expand All @@ -332,7 +332,7 @@ if(config != null){

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

```java
```Java
@Override
public void onRemoteUserJoinChannel(String channelName, String userName, int uid, EaseGetUserAccountCallback callback){
if(userName == null || userName == ""){
Expand All @@ -359,7 +359,7 @@ CallKit 4.8.2 及更高版本支持私有化部署,包括初始化和初测监

配置私有化 AgoraAppId。其他可配置的选项,详见本文档中的[初始化](https://doc.easemob.com/document/android/easecallkit.html#初始化)一节。

```kotlin
```Kotlin
EaseCallKitConfig().apply {
……
agoraAppId = "2d4f114e22304cee8d31ae909f3289d2"
Expand All @@ -372,7 +372,7 @@ EaseCallKitConfig().apply {

监听 `com.hyphenate.easecallkit.base.EaseCallKitListener#onRtcEngineCreated` 事件,在 RTC 引擎创建的回调里进行私有化配置。详见 [API 参考](https://doc.shengwang.cn/api-ref/rtc/android/API/toc_network#api_irtcengine_setlocalaccesspoint)。

```kotlin
```Kotlin
private val callKitListener by lazy { object :EaseCallKitListener {
……

Expand Down Expand Up @@ -401,7 +401,7 @@ EaseCallKit.getInstance().setCallKitListener(callKitListener)

如果不需要鉴权,可以直接回调 token 为 `null`,或者在设置 `callKitConfig.setEnableRTCToken(false)` 的前提下不实现该回调, 具体接口和使用如下:

```java
```Java
/**
* 用户生成 token 回调。
* @param userId 用户 ID,即用户的环信 ID。
Expand Down Expand Up @@ -429,7 +429,7 @@ public void onGenerateToken(String userId, String channelName, String agoraAppId

自 EaseCallKit 3.8.1 版本开始,`EaseCallKitTokenCallback` 中的 `onSetToken` 方法添加了 `uid` 参数,你可以使用数字 uid 加入声网频道。

```java
```Java
void onSetToken(String token, int uId);
```

Expand Down
Loading