Public 成员函数 | |
---|---|
virtual long long | getMessageId () const =0 |
virtual MESSAGE_TYPE | getMessageType () const =0 |
virtual void | setText (const char *str)=0 |
virtual const char * | getText () const =0 |
virtual const char * | getRawMessageData () const =0 |
virtual int | getRawMessageLength () const =0 |
virtual long long | getServerReceivedTs () const =0 |
virtual bool | isOfflineMessage () const =0 |
virtual void | release ()=0 |
Protected 成员函数 | |
---|---|
virtual | ~IMessage () |
构造及析构函数说明
用于主叫的呼叫邀请内容的设置与获取。
构造及析构函数说明
~IMessage()
virtual ~IMessage() {}
成员函数说明
getMessageId
virtual long long getMessageId() const
获取消息 ID。
返回
消息的唯一 ID,在消息对象创建时自动生成。
getMessageType
virtual MESSAGE_TYPE getMessageType() const
获取消息类型
返回
消息类型。详见 MESSAGE_TYPE 。
getRawMessageData
virtual const char *getRawMessageData() const
获取自定义消息在内存中的首地址。
返回
自定义消息在内存中的首地址。
getRawMessageLength
virtual int getRawMessageLength() const
获取自定义消息的长度。
返回
自定义消息的长度(字节)。
getServerReceivedTs
virtual long long getServerReceivedTs() const
供消息接收者获取消息服务器接收到消息的时间戳。
返回
消息服务器接收到消息的时间戳(毫秒)。
注意事项:
- 你不能设置时间戳,但是你可以从该时间戳推断出消息的大致发送时间。
- 时间戳仅用于展示,不建议用于消息的严格排序。
isOfflineMessage
virtual bool isOfflineMessage() const
供消息接收者检查消息是否在服务端被保存过(仅适用于点对点消息)。
返回
- true: 被保存过(消息服务器保存了该条消息且在对端重新上线后重新发送成功)。
- false: 未被保存过。
注意事项:
- 如果消息没有被消息服务器保存过,该方法将返回 false。也就是说:只有当消息发送者通过设置 enableOfflineMessaging=true 发送离线消息且在发送离线消息时对端不在线,对端重新上线后调用该方法会返回 true。
- 目前我们只为每个接收端保存 200 条离线消息最长七天。当保存的离线消息超出限制时,最老的信息将会被最新的消息替换。
setText
virtual void ar::rtm::IMessage::setText(const char * str) const
设置文本消息正文或自定义二进制消息的文字描述.
参数
参数 | 描述 |
---|---|
str | 待设置的消息正文 |
返回
消息体
注意事项:
- 最大长度为 32 KB。如果消息为自定义二进制消息,请确保文字描述和二进制消息的总大小不超过 32 KB。
release
virtual void ar::rtm::IMessage::release() const
释放 IMessage 实例使用的所有资源
注意事项:
- 对于消息接收者:请在收到 onMessageReceived 或 onMessageReceivedFromPeer 回调时尽快保存收到的 IMessage 实例内容,因为 SDK 会在回调结束时彻底释放 IMessage 实例造成 IMessage 无法再次获取。
getText
virtual void ar::rtm::IMessage::getText() const
获取文本消息正文或自定义二进制消息的文字描述
返回
文本消息正文或自定义二进制消息的文字描述