public class ChatConversation
extends com.tuisongbao.engine.common.EventEmitter
EVENT_MESSAGE_NEW
事件可监听新消息Modifier and Type | Field and Description |
---|---|
static java.lang.String |
EVENT_MESSAGE_NEW
新消息事件,监听该事件,可以实时获取当前会话的新消息
|
java.lang.Object |
extension
拓展项,用于挂载你需要的字段,比如会话相关联的群组的名称。
|
Constructor and Description |
---|
ChatConversation(Engine engine) |
Modifier and Type | Method and Description |
---|---|
void |
delete(com.tuisongbao.engine.common.callback.EngineCallback<java.lang.String> callback)
删除会话
|
java.lang.String |
getLastActiveAt() |
ChatMessage |
getLastMessage()
获取最后一条消息。
|
void |
getMessages(java.lang.Long startMessageId,
java.lang.Long endMessageId,
int limit,
com.tuisongbao.engine.common.callback.EngineCallback<java.util.List<ChatMessage>> callback)
获取会话的历史消息
messageId 是一个自增数,从 0 开始,数字越大表示消息越晚(新)。
startMessageId 和 endMessageId 都可选,参数取值说明,按照顺序依次为 (startMessageId, endMessageId, limit):
(null, null, 20) 获取最新的 20 条消息
(null, 40, 20) 如果最新的 messageId 是 50,返回 50 ~ 40;如果是 70, 返回 70 ~ 50
(40, null, 20) 获取 40 ~ 20 之间的消息
(40, 10, 30) 获取 40 ~ 10 之间的消息
|
java.lang.String |
getTarget() |
ChatType |
getType() |
int |
getUnreadMessageCount() |
void |
incUnreadMessageCount() |
void |
resetUnread(com.tuisongbao.engine.common.callback.EngineCallback<java.lang.String> callback)
重置未读消息。
将未读消息数设置为 0。
|
ChatMessage |
sendMessage(ChatMessageContent content,
com.tuisongbao.engine.common.callback.EngineCallback<ChatMessage> callback,
com.tuisongbao.engine.common.callback.ProgressCallback progressCallback)
在会话中发送消息
|
void |
setLastActiveAt(java.lang.String lastActiveAt) |
void |
setLastMessage(ChatMessage lastMessage) |
void |
setTarget(java.lang.String target) |
void |
setType(ChatType type) |
void |
setUnreadMessageCount(int unreadMessageCount) |
java.lang.String |
toString() |
bind, bindOnce, trigger, unbind, unbind
public static final transient java.lang.String EVENT_MESSAGE_NEW
conversation.bind(ChatConversation.EVENT_MESSAGE_NEW, new Emitter.Listener() { @Override public void call(final Object... args) { ChatMessage message = (ChatMessage)args[0]; Log.i(TAG, "当前会话收到新消息 " + message); } });
public transient java.lang.Object extension
public ChatConversation(Engine engine)
public ChatType getType()
public void setType(ChatType type)
public java.lang.String getTarget()
public void setTarget(java.lang.String target)
public int getUnreadMessageCount()
public void setUnreadMessageCount(int unreadMessageCount)
public void incUnreadMessageCount()
public java.lang.String getLastActiveAt()
public void setLastActiveAt(java.lang.String lastActiveAt)
public ChatMessage getLastMessage()
不是发送请求获取最后一条消息,是其本身的一个属性,表示获得该会话时,那一刻的最新的一条消息。
public void setLastMessage(ChatMessage lastMessage)
public void resetUnread(com.tuisongbao.engine.common.callback.EngineCallback<java.lang.String> callback)
callback
- 可选public void delete(com.tuisongbao.engine.common.callback.EngineCallback<java.lang.String> callback)
callback
- 可选public void getMessages(java.lang.Long startMessageId, java.lang.Long endMessageId, int limit, com.tuisongbao.engine.common.callback.EngineCallback<java.util.List<ChatMessage>> callback)
startMessageId
- 起始 messageIdendMessageId
- 结束的 messageIdlimit
- 必填,消息条数限制callback
- 处理方法public ChatMessage sendMessage(ChatMessageContent content, com.tuisongbao.engine.common.callback.EngineCallback<ChatMessage> callback, com.tuisongbao.engine.common.callback.ProgressCallback progressCallback)
content
- 消息实体callback
- 结果处理方法progressCallback
- 进度处理方法public java.lang.String toString()
toString
in class java.lang.Object