TIMMessage Class Reference
Inherits from | NSObject |
---|---|
Declared in | TIMMessage.h |
– addElem:
1.1 增加 Elem
- (int)addElem:(TIMElem *)elem
Parameters
elem |
elem 结构 |
---|
Return Value
0:表示成功;1:禁止添加 Elem(文件或语音多于两个 Elem);2:未知 Elem
Declared In
TIMMessage.h
– getElem:
1.2 获取对应索引的 Elem
- (TIMElem *)getElem:(int)index
Parameters
index |
对应索引 |
---|
Return Value
返回对应 Elem
Declared In
TIMMessage.h
– setBusinessCmd:
1.4 设置业务命令字
- (int)setBusinessCmd:(NSArray *)buzCmds
Parameters
buzCmds |
业务命令字列表 @“im_open_busi_cmd.msg_robot":表示发送给IM机器人; @"im_open_busi_cmd.msg_nodb":表示不存离线; @"im_open_busi_cmd.msg_noramble":表示不存漫游; @"im_open_busi_cmd.msg_nopush":表示不实时下发给用户 |
---|
Return Value
0:成功;1:buzCmds 为 nil
Declared In
TIMMessage.h
– msgId
1.8 消息 ID
- (NSString *)msgId
Return Value
msgId
Discussion
- 当消息生成时,就已经固定,这种方式可能跟其他用户产生的消息冲突,需要再加一个时间约束,可以认为 10 分钟以内的消息可以使用 msgId 区分,需要在同一个会话内判断。
- 对于发送成功的消息或则从服务器接收到的消息,请使用 uniqueId 判断消息的全局唯一。
Declared In
TIMMessage.h
– uniqueId
1.9 消息 uniqueId
- (uint64_t)uniqueId
Return Value
uniqueId
Discussion
对于发送成功的消息或则从服务器接收到的消息,uniqueId 能保证全局唯一,需要在同一个会话内判断。
Declared In
TIMMessage.h
– timestamp
1.10 当前消息的时间戳
- (NSDate *)timestamp
Return Value
时间戳
Discussion
当消息还没发送成功,此时间为根据 Server 时间校准过的本地时间,发送成功后会改为准确的 Server 时间
Declared In
TIMMessage.h
– isReaded
1.11 自己是否已读
- (BOOL)isReaded
Return Value
TRUE:已读;FALSE:未读
Discussion
注意 ChatRoom、AVChatRoom、BChatRoom 不支持未读的功能,isReaded 接口针对这些类型房间无效。
Declared In
TIMMessage.h
– isPeerReaded
1.12 对方是否已读(仅 C2C 消息有效)
- (BOOL)isPeerReaded
Return Value
TRUE:已读;FALSE:未读
Declared In
TIMMessage.h
– locator
1.13 消息定位符
- (TIMMessageLocator *)locator
Return Value
locator,详情请参考 TIMComm.h 里面的 TIMMessageLocator 定义
Discussion
如果是自己创建的 TIMMessage,需要等到消息发送成功后才能获取到 TIMMessageLocator 里面的具体信息
Declared In
TIMMessage.h
– respondsToLocator:
1.14 是否为 locator 对应的消息
- (BOOL)respondsToLocator:(TIMMessageLocator *)locator
Parameters
locator |
消息定位符 |
---|
Return Value
YES 是对应的消息
Declared In
TIMMessage.h
– remove
1.15 删除消息
- (BOOL)remove
Return Value
TRUE:成功;FALSE:失败
Discussion
目前暂不支持 Server 消息删除,只能在本地删除,如果程序卸载重装,通过 getMessage 接口还是能拉回被删除的消息。
Declared In
TIMMessage.h
– getConversation
1.16 获取会话
- (TIMConversation *)getConversation
Return Value
该消息所对应会话
Declared In
TIMMessage.h
– getSenderProfile:
1.17 获取发送者资料
- (void)getSenderProfile:(ProfileCallBack)profileCallBack
Parameters
profileCallBack |
发送者资料回调 |
---|
Discussion
如果本地有发送者资料,会在 profileCallBack 回调里面立即同步返回发送者资料,如果本地没有发送者资料,SDK 内部会先向服务器拉取发送者资料,并在 profileCallBack 回调里面异步返回发送者资料。
Declared In
TIMMessage.h
– getSenderGroupMemberProfile
1.18 获取发送者群内资料
- (TIMGroupMemberInfo *)getSenderGroupMemberProfile
Return Value
发送者群内资料,nil 表示没有获取到资料或者不是群消息
Discussion
目前仅能获取字段:member,nameCard,其他的字段获取建议通过 TIMGroupManager.h -> getGroupMembers 获取
Declared In
TIMMessage.h
– setPriority:
1.19 设置消息的优先级(仅对群组消息有效)
- (BOOL)setPriority:(TIMMessagePriority)priority
Parameters
priority |
优先级 |
---|
Return Value
TRUE 设置成功
Discussion
对于直播场景,会有点赞和发红包功能,点赞相对优先级较低,红包消息优先级较高,具体消息内容可以使用 TIMCustomElem 进行定义,发送消息时,可设置消息优先级。
Declared In
TIMMessage.h
– getPriority
1.20 获取消息的优先级(仅对群组消息有效)
- (TIMMessagePriority)getPriority
Return Value
优先级
Declared In
TIMMessage.h
– setOfflinePushInfo:
1.21 设置消息离线推送配置
- (int)setOfflinePushInfo:(TIMOfflinePushInfo *)info
Parameters
info |
配置信息 |
---|
Return Value
0 成功
Declared In
TIMMessage.h
– getOfflinePushInfo
1.22 获取消息离线推送配置
- (TIMOfflinePushInfo *)getOfflinePushInfo
Return Value
配置信息,没设置返回 nil
Declared In
TIMMessage.h
– setCustomData:
1.25 设置自定义数据,默认为""
- (BOOL)setCustomData:(NSData *)data
Parameters
data |
设置参数 |
---|
Return Value
TRUE:设置成功;FALSE:设置失败
Discussion
此自定义字段仅存储于本地,不会同步到 Server,用户卸载应用或则更换终端后无法获取。
Declared In
TIMMessage.h
– customData
1.26 获取 CustomData
- (NSData *)customData
Return Value
CustomData
Declared In
TIMMessage.h
– copyFrom:
1.27 拷贝消息中的属性(ELem、priority、online、offlinePushInfo)
- (int)copyFrom:(TIMMessage *)srcMsg
Parameters
srcMsg |
源消息 |
---|
Return Value
0 成功
Declared In
TIMMessage.h
– convertToImportedMsg
1.28 将消息导入到本地
- (int)convertToImportedMsg
Return Value
0:成功;1:失败
Discussion
只有调用这个接口,才能去修改消息的时间戳和发送方
Declared In
TIMMessage.h
– setTime:
1.29 设置消息时间戳
- (int)setTime:(time_t)time
Parameters
time |
时间戳 |
---|
Return Value
0:成功;1:失败
Discussion
需要先将消息到导入到本地,调用 convertToImportedMsg 方法
Declared In
TIMMessage.h
– setSender:
1.30 设置消息发送方
- (int)setSender:(NSString *)sender
Parameters
sender |
发送方 identifier |
---|
Return Value
0:成功;1:失败
Discussion
需要先将消息到导入到本地,调用 convertToImportedMsg 方法
Declared In
TIMMessage.h