public final class ChatManager
extends com.tuisongbao.engine.common.BaseManager
推送宝 Engine
中,Chat 模块的管理类。
可通过调用 Engine.getChatManager()
获得该实例。
创建并管理 ChatGroupManager
, ChatMessageManager
和 ChatConversationManager
。
通过该类 login(String)
和 logout(EngineCallback)
。
在用户已登录的情况下,使用 #bind(String, Listener)
方法可以获取以下事件的回调通知:
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
EVENT_LOGIN_FAILED
登录失败时会触发该事件,事件回调接收一个参数,类型为
ResponseError |
static java.lang.String |
EVENT_LOGIN_SUCCEEDED
登录成功时会触发该事件,包括自动登录
login(String) 成功时也会触发该事件,事件回调接收一个参数,类型为 ChatUser |
static java.lang.String |
EVENT_MESSAGE_NEW
有新消息时触发该事件,事件回调接收一个参数,类型为
ChatMessage |
static java.lang.String |
EVENT_PRESENCE_CHANGED
用户上下线通知的提醒,事件回调接收一个参数,类型为
ChatUserPresence |
Constructor and Description |
---|
ChatManager(Engine engine) |
Modifier and Type | Method and Description |
---|---|
void |
clearCache()
清除所有缓存数据
|
void |
disableCache()
关闭缓存,默认是开启状态
|
void |
enableCache()
开启缓存,默认是开启状态
|
ChatUser |
getChatUser()
获取当前用户
|
ChatConversationManager |
getConversationManager()
获取
ChatConversation 的管理类,同一个 ChatManager 上返回的是同一个引用 |
ChatGroupManager |
getGroupManager()
获取
ChatGroup 的管理类,同一个 ChatManager 上返回的是同一个引用 |
com.tuisongbao.engine.chat.message.ChatMessageManager |
getMessageManager() |
boolean |
hasLogin() |
boolean |
isCacheEnabled() |
void |
login(java.lang.String userData)
登录聊天系统
|
void |
logout(com.tuisongbao.engine.common.callback.EngineCallback<java.lang.String> callback)
退出登录,并解绑所有挂载在 ChatManager 上的事件处理方法。
|
void |
onLoginFailed(com.tuisongbao.engine.common.entity.ResponseError error) |
void |
onLoginSuccess(ChatUser user) |
boolean |
send(com.tuisongbao.engine.common.event.BaseEvent event,
com.tuisongbao.engine.common.event.BaseEventHandler handler)
如果发送 Event 不成功,会一直尝试。切换用户之后
login(String) ,会将所有还未发送成功的 Event 清空。 |
bind, bindOnce, trigger, unbind, unbind
public static final java.lang.String EVENT_MESSAGE_NEW
ChatMessage
public static final java.lang.String EVENT_PRESENCE_CHANGED
ChatUserPresence
public static final java.lang.String EVENT_LOGIN_SUCCEEDED
login(String)
成功时也会触发该事件,事件回调接收一个参数,类型为 ChatUser
public static final java.lang.String EVENT_LOGIN_FAILED
ResponseError
public ChatManager(Engine engine)
public ChatUser getChatUser()
null
public void login(java.lang.String userData)
登录过程中,会根据 EngineOptions
中提供的 EngineOptions.mAuthEndPoint
进行鉴权。
需通过绑定 EVENT_LOGIN_SUCCEEDED
和 EVENT_LOGIN_FAILED
事件获取登录结果。
userData
- 用户的唯一标识public void logout(com.tuisongbao.engine.common.callback.EngineCallback<java.lang.String> callback)
callback
- 处理方法public void enableCache()
public void disableCache()
public boolean isCacheEnabled()
public void clearCache()
public boolean hasLogin()
public void onLoginFailed(com.tuisongbao.engine.common.entity.ResponseError error)
public ChatConversationManager getConversationManager()
ChatConversation
的管理类,同一个 ChatManager 上返回的是同一个引用public ChatGroupManager getGroupManager()
ChatGroup
的管理类,同一个 ChatManager 上返回的是同一个引用public com.tuisongbao.engine.chat.message.ChatMessageManager getMessageManager()
public boolean send(com.tuisongbao.engine.common.event.BaseEvent event, com.tuisongbao.engine.common.event.BaseEventHandler handler)
login(String)
,会将所有还未发送成功的 Event 清空。send
in class com.tuisongbao.engine.common.BaseManager
event
- eventhandler
- 处理方法public void onLoginSuccess(ChatUser user)