消息概述
消息类介绍
消息字段含义
字段 | 含义 |
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. 全员推送的消息都属于在线消息。
换设备或卸载后重新安装 App 拉取历史消息可以拉到此类消息。例如所有类型的普通消息。