消息概述

消息类介绍

在腾讯云 IM SDK 中,消息类为 Message (点击查看详情) 。您在发送和接收消息过程中都会频繁地用到该类。

消息字段含义

字段
含义
message_elem_array
消息内元素列表
message_conv_id
消息所属会话 ID
message_conv_type
消息所属会话类型
message_sender
消息的发送者
message_priority
消息优先级
message_client_time
客户端时间
message_server_time
服务端时间
message_is_from_self
消息是否来自自己
message_platform
发送消息的平台
message_is_read
消息是否已读
message_is_online_msg
消息是否是在线消息,false 表示普通消息,true 表示在线消息,默认为 false
message_is_peer_read
消息是否被会话对方已读
message_need_read_receipt
消息是否需要已读回执(6.1 以上版本有效,需要您购买旗舰版套餐),群消息在使用该功能之前,需要先到 IM 控制台设置已读回执支持的群类型
message_status
消息当前状态
message_target_group_member_array
指定群消息接收成员(定向消息);不支持群 @ 消息设置,不支持社群(Community)和直播群(AVChatRoom)消息设置;该字段设置后,消息会不计入会话未读数。
message_unique_id
消息的唯一标识,推荐使用 kTIMMsgMsgId
message_msg_id
消息的唯一标识
message_rand
消息的随机码
message_has_sent_receipt
是否已经发送了已读回执(只有Group 消息有效)
message_group_receipt_read_count
这个字段是内部字段,不推荐使用,推荐调用 TIMMsgGetMessageReadReceipts 获取群消息已读回执
message_group_receipt_unread_count
这个字段是内部字段,不推荐使用,推荐调用 TIMMsgGetMessageReadReceipts 获取群消息已读回执
message_seq
消息序列
message_custom_int
自定义整数值字段(本地保存,不会发送到对端,程序卸载重装后失效)
message_custom_str
自定义数据字段(本地保存,不会发送到对端,程序卸载重装后失效)
message_cloud_custom_str
消息自定义数据(云端保存,会发送到对端,程序卸载重装后还能拉取到)
message_is_excluded_from_unread_count
消息是否不计入未读计数:默认为 NO,表明需要计入未读计数,设置为 YES,表明不需要计入未读计数
message_is_forward_message
是否是转发消息
message_group_at_user_array
群消息中被 @ 的用户 UserID 列表(即该消息都 @ 了哪些人),如果需要 @ALL ,请传入 kImSDK_MesssageAtALL 字段
message_sender_profile
消息的发送者的用户资料
message_sender_group_member_info
消息发送者在群里面的信息,只有在群会话有效。目前仅能获取字段 kTIMGroupMemberInfoIdentifier、kTIMGroupMemberInfoNameCard 其他的字段建议通过 TIMGroupGetMemberInfoList 接口获取
message_offlie_push_config
消息的离线推送设置
message_excluded_from_last_message
是否作为会话的 lasgMessage,true - 不作为,false - 作为

消息分类

腾讯云 IM 消息按照消息的发送目标可以分为:“单聊消息”(又称 “C2C 消息”)和“群聊消息” 两种:
消息分类
API 关键词
说明
单聊消息
C2CMessage
又称 C2C 消息,在发送时需要指定消息接收者的 UserID,只有接收者可以收到该消息
群聊消息
GroupMessage
在发送时需要指定目标群组的 groupID,该群中的所有用户均能收到消息
按照消息承载的内容可以分为:“文本消息”、“图片消息”、“视频消息”、“语音消息”、“文件消息”、“位置消息”、“合并消息”、“群 Tips 消息”等几种类型。
消息分类
API 关键词
说明
文本消息
kTIMElem_Text
即普通的文字消息
自定义消息
kTIMElem_Custom
即一段二进制 buffer,通常用于传输您应用中的自定义信令
图片消息
kTIMElem_Image
SDK 会在发送原始图片的同时,自动生成两种不同尺寸的缩略图,三张图分别被称为原图、大图、微缩图
视频消息
kTIMElem_Video
一条视频消息包含一个视频文件和一张配套的缩略图
语音消息
kTIMElem_Sound
支持语音是否播放红点展示
文件消息
kTIMElem_File
文件消息最大支持100MB
位置消息
kTIMElem_Location
地理位置消息由位置描述、经度(longitude )和纬度(latitude)三个字段组成
合并消息
kTIMElem_Merge
最大支持 300 条消息合并
群 Tips 消息
kTIMElem_GroupTips
群 Tips 消息常被用于承载群中的系统性通知消息,例如有成员进出群组,群的描述信息被修改,群成员的资料发生变化等

消息存储策略

腾讯云 IM 消息按照消息存储策略,可以分为两种消息:在线消息、非在线消息。 在线消息是指只有当用户在线时才能接收到,离线后不会通过离线推送下发给用户。非在线消息是指无论用户是否在线,都能收到的消息。
在线消息会实时下发,不会存储在服务端。SDK 也不会存储在线消息。所以换设备或卸载后重新安装 App 拉取历史消息都不能拉到此类消息。
说明:
1. 直播群所有的消息都属于在线消息。
2. 全员推送的消息都属于在线消息。
非在线消息会被 SDK 和服务端存储。漫游服务器默认存储 7 天的消息。如果您希望存储超过 7 天,需要购买增值服务。服务内容和计费请查看 增值服务资费
换设备或卸载后重新安装 App 拉取历史消息可以拉到此类消息。例如所有类型的普通消息。