|
| synchronized void | init (Context context, EMOptions options) |
| |
| void | loginWithToken (String username, String token, @NonNull final EMCallBack callback) |
| |
| void | notifyTokenExpired (String response) |
| |
| void | renewToken (String newToken, @NonNull EMCallBack callback) |
| |
| int | logout (boolean unbindToken) |
| |
| void | logout (final boolean unbindToken, final EMCallBack callback) |
| |
| void | changeAppkey (String appkey) throws HyphenateException |
| |
| void | changeAppId (String appId) throws HyphenateException |
| |
| void | addConnectionListener (final EMConnectionListener listener) |
| |
| void | removeConnectionListener (final EMConnectionListener listener) |
| |
| void | addLogListener (final EMLogListener listener) |
| |
| void | removeLogListener (final EMLogListener listener) |
| |
| EMGroupManager | groupManager () |
| |
| EMPushManager | pushManager () |
| |
| EMChatRoomManager | chatroomManager () |
| |
| EMChatManager | chatManager () |
| |
| EMUserInfoManager | userInfoManager () |
| |
| EMContactManager | contactManager () |
| |
| EMChatThreadManager | chatThreadManager () |
| |
| synchronized String | getCurrentUser () |
| |
| boolean | isConnected () |
| |
| boolean | isLoggedIn () |
| |
| void | setDebugMode (boolean debugMode) |
| |
| void | uploadLog (EMCallBack callback) |
| |
| EMOptions | getOptions () |
| |
| String | compressLogs () throws HyphenateException |
| |
| void | addMultiDeviceListener (EMMultiDeviceListener listener) |
| |
| void | removeMultiDeviceListener (EMMultiDeviceListener listener) |
| |
| void | fetchLoggedInDevicesFromServerWithToken (@NonNull String username, @NonNull String token, EMValueCallBack< List< EMDeviceInfo > > callBack) |
| |
| void | kickDeviceWithToken (@NonNull String username, @NonNull String token, String resource) throws HyphenateException |
| |
| void | kickAllDevicesWithToken (@NonNull String username, @NonNull String token) throws HyphenateException |
| |
| void | sendFCMTokenToServer (String fcmToken) |
| |
| void | sendHMSPushTokenToServer (String token) |
| |
| void | sendHonorPushTokenToServer (String token) |
| |
| boolean | isFCMAvailable () |
| |
| String | getAccessToken () |
| |
| boolean | isSdkInited () |
| |
| boolean | isDatabaseOpened () |
| |
| void | asyncGetRTCTokenInfoWithChannelName (@Nullable String channelName, EMValueCallBack< EMRTCTokenInfo > callBack) |
| |
| void | asyncGetUserIdsWithRTCUids (List< Integer > uIds, EMValueCallBack< Map< Integer, String > > callBack) |
| |
Chat 客户端类。该类是 Chat SDK 的入口,负责登录、登出及管理 SDK 与 chat 服务器之间的连接。
Definition EMChatManager.java:103
Definition EMClient.java:100
◆ addConnectionListener()
设置连接状态监听器。
该监听器用于监听 Chat app 与 Chat 服务器之间的连接。
- 参数
-
◆ addLogListener()
| void com.hyphenate.chat.EMClient.addLogListener |
( |
final EMLogListener | listener | ) |
|
◆ addMultiDeviceListener()
◆ asyncGetRTCTokenInfoWithChannelName()
| void com.hyphenate.chat.EMClient.asyncGetRTCTokenInfoWithChannelName |
( |
@Nullable String | channelName, |
|
|
EMValueCallBack< EMRTCTokenInfo > | callBack ) |
根据频道名称 (channelName) 获取 RTC token、token 过期时间以及即时通讯 IM 用户 ID 对应的 RTC UID。
调用该接口前需要先开通 RTC 功能。
如果 channelName 设置为 null,会生成支持所有频道的 RTC token。
异步方法。
- 参数
-
| channelName | 声网 RTC 频道名称。 |
| callBack | 该方法完成调用的回调。 如果该方法调用成功,返回 RTC Token、过期时间戳和 RTC UID。 如果该方法调用失败,会包含调用失败的原因。 |
◆ asyncGetUserIdsWithRTCUids()
| void com.hyphenate.chat.EMClient.asyncGetUserIdsWithRTCUids |
( |
List< Integer > | uIds, |
|
|
EMValueCallBack< Map< Integer, String > > | callBack ) |
获取声网 RTC UID 对应的即时通讯 IM 用户 ID。
异步方法。
- 参数
-
| uIds | 声网 Agora RTC UID 集合。 |
| callBack | 该方法完成调用的回调。 如果该方法调用成功,返回 RTC UID 与即时通讯 IM 用户 ID 之间的映射关系。 如果该方法调用失败,会包含调用失败的原因。 |
◆ changeAppId()
更新 App ID。
- 注解
- App ID 用于控制对你的 app 的 Chat 服务的访问,只有在未登录状态才能修改 App ID。
- 修改 App ID 是为了方便你切换到其他 App ID。
- 你可以在 Console 上获取 App ID。
- 也通过
EMOptions#setAppId(String) 设置 App ID,同样只有在未登录状态才能修改。
- 参数
-
◆ changeAppkey()
更新 App Key。
- 注解
- App Key 用于控制对你的 app 的 Chat 服务的访问,只有在未登录状态才能修改 App Key。
- 修改 App Key 是为了方便你切换到其他 App Key。
- 你可以在 Console 上获取 App Key。
- 也通过
EMOptions#setAppKey(String) 设置 App Key,同样只有在未登录状态才能修改。
- 参数
-
| appkey | App Key,应用的唯一标识,不可为空。 |
◆ chatManager()
◆ chatroomManager()
◆ chatThreadManager()
◆ compressLogs()
压缩调试日志文件。
强烈建议方法完成之后删除该压缩文件。
- 返回
- 压缩后的 log 文件路径。
- 异常
-
| HyphenateException | 压缩文件失败报的错。 |
◆ contactManager()
◆ fetchLoggedInDevicesFromServerWithToken()
| void com.hyphenate.chat.EMClient.fetchLoggedInDevicesFromServerWithToken |
( |
@NonNull String | username, |
|
|
@NonNull String | token, |
|
|
EMValueCallBack< List< EMDeviceInfo > > | callBack ) |
获取指定账号下登录的在线设备列表。
异步方法,替代原同步方法 getLoggedInDevicesFromServerWithToken。
- 参数
-
◆ getAccessToken()
| String com.hyphenate.chat.EMClient.getAccessToken |
( |
| ) |
|
从内存中获取身份认证 token。
在上传下载附件(语音,图片,文件等)时必须将 token 添加到请求 header 中,当出现任何异常时将返回 null。
如果为 null,在打开 EMLog 日志时,可以看到异常原因。
也可以通过 EMOptions#getAccessToken(boolean) 方法传入 true从服务端获取 token。
- 返回
- 身份认证 token。
◆ getCurrentUser()
| synchronized String com.hyphenate.chat.EMClient.getCurrentUser |
( |
| ) |
|
◆ getOptions()
| EMOptions com.hyphenate.chat.EMClient.getOptions |
( |
| ) |
|
◆ groupManager()
◆ init()
| synchronized void com.hyphenate.chat.EMClient.init |
( |
Context | context, |
|
|
EMOptions | options ) |
初始化 SDK。
请确保在主进程中进行初始化。
- 参数
-
◆ isConnected()
| boolean com.hyphenate.chat.EMClient.isConnected |
( |
| ) |
|
检查 SDK 是否连接到 Chat 服务器。
- 返回
- 是否连接到 Chat 服务器的结果。
true 表示已经连接到 Chat 服务器。
false 表示没有连接到 Chat 服务器。
◆ isDatabaseOpened()
| boolean com.hyphenate.chat.EMClient.isDatabaseOpened |
( |
| ) |
|
当前是否已有可用的本地数据库上下文。
该状态只表示本地数据库已经成功打开,本地数据库相关接口可以使用;不表示在线登录成功, 也不替代 isLoggedIn() 或连接状态回调。
◆ isFCMAvailable()
| boolean com.hyphenate.chat.EMClient.isFCMAvailable |
( |
| ) |
|
检查 FCM 推送是否可用。
- 返回
- FCM 推送是否可用:
◆ isLoggedIn()
| boolean com.hyphenate.chat.EMClient.isLoggedIn |
( |
| ) |
|
检查用户是否登录 Chat 服务。
- 返回
- 是否登录 Chat 服务。
◆ isSdkInited()
| boolean com.hyphenate.chat.EMClient.isSdkInited |
( |
| ) |
|
检查 SDK 是否已初始化完毕。
- 返回
- SDK 是否已初始化完毕:
◆ kickAllDevicesWithToken()
| void com.hyphenate.chat.EMClient.kickAllDevicesWithToken |
( |
@NonNull String | username, |
|
|
@NonNull String | token ) throws HyphenateException |
将指定账号登录的所有设备都踢下线。
同步方法,会阻塞当前线程。
- 参数
-
| username | 用户 ID。 |
| token | 用户 token。 |
- 异常
-
| HyphenateException | 如果有异常会抛出,包括错误码和错误描述,错误码详见 EMError。 |
◆ kickDeviceWithToken()
| void com.hyphenate.chat.EMClient.kickDeviceWithToken |
( |
@NonNull String | username, |
|
|
@NonNull String | token, |
|
|
String | resource ) throws HyphenateException |
◆ loginWithToken()
| void com.hyphenate.chat.EMClient.loginWithToken |
( |
String | username, |
|
|
String | token, |
|
|
@NonNull final EMCallBack | callback ) |
通过 token 登录服务器。
异步方法。
- 参数
-
| username | 用户 ID,必填。 |
| token | 验证 token,必填。 |
| callback | 登录回调,返回登录结果。必填且不能为 null。登录的结果将通过 callback 返回。 |
◆ logout() [1/2]
| int com.hyphenate.chat.EMClient.logout |
( |
boolean | unbindToken | ) |
|
退出登录。
同步方法,会阻塞当前线程。
- 参数
-
| unbindToken | 登出时是否解绑 token。
|
- 返回
- 登出结果:
◆ logout() [2/2]
| void com.hyphenate.chat.EMClient.logout |
( |
final boolean | unbindToken, |
|
|
final EMCallBack | callback ) |
登出聊天服务器。
异步方法。
- 参数
-
| unbindToken | 是否解绑 token。
|
| callback | 方法完成的回调,包含调用失败的原因。
|
◆ notifyTokenExpired()
| void com.hyphenate.chat.EMClient.notifyTokenExpired |
( |
String | response | ) |
|
通知 token 过期。(内部使用)
SDK 将token 过期事件回调给 connectionListener。如果用户注册了 connectionListener,则会收到 token 过期事件。
- 参数
-
◆ pushManager()
◆ removeConnectionListener()
移除 Chat 服务器连接监听。
- 参数
-
| listener | 要移除的 Chat 服务器连接监听。 |
◆ removeLogListener()
| void com.hyphenate.chat.EMClient.removeLogListener |
( |
final EMLogListener | listener | ) |
|
◆ removeMultiDeviceListener()
◆ renewToken()
| void com.hyphenate.chat.EMClient.renewToken |
( |
String | newToken, |
|
|
@NonNull EMCallBack | callback ) |
更新 token。
当用户利用 token 登录的情况下在 EMConnectionListener 类中收到 token 即将过期事件的回调通知时,可调用该方法更新 token,避免因 token 失效产生的未知问题。
- 参数
-
| newToken | 新token。 |
| callback | EMCallback 回调函数,不能为空,更新token的结果将通过callback返回 |
◆ sendFCMTokenToServer()
| void com.hyphenate.chat.EMClient.sendFCMTokenToServer |
( |
String | fcmToken | ) |
|
上传 FCM token 至 Chat 服务器。
上传 token 需满足以下条件:
- 被上传的 token 不为空;
- 当前已有用户登录;
- 当前设备支持 Google 推送;
- Google 推送类型为 FCM
EMPushType#FCM。
- 参数
-
◆ sendHMSPushTokenToServer()
| void com.hyphenate.chat.EMClient.sendHMSPushTokenToServer |
( |
String | token | ) |
|
◆ sendHonorPushTokenToServer()
| void com.hyphenate.chat.EMClient.sendHonorPushTokenToServer |
( |
String | token | ) |
|
◆ setDebugMode()
| void com.hyphenate.chat.EMClient.setDebugMode |
( |
boolean | debugMode | ) |
|
设置是否输出调试信息。
在 EMClient 初始化完成后调用,详见 init(Context, EMOptions)。
- 参数
-
| debugMode | 是否输出调试信息。
true:SDK 会在 log 里输出调试信息;
false:不会输出调试信息。
|
◆ uploadLog()
| void com.hyphenate.chat.EMClient.uploadLog |
( |
EMCallBack | callback | ) |
|
◆ userInfoManager()
该类的文档由以下文件生成:
- com/hyphenate/chat/EMClient.java