Unity

最近更新时间:2023-06-13 17:01:40

我的收藏

功能描述

某些场景下,您可能希望发出去的消息只被在线用户接收,即当接收者不在线时就不会感知到该消息。您只需在 MsgSendMessage 时,将参数 message_is_online_msg 设置为 true,此时发送出去的消息跟普通消息相比,会有如下差异点:
1. 不支持离线存储,即如果接收方不在线就无法收到。
2. 不支持多端漫游,即如果接收方在一台终端设备上一旦接收过该消息,无论是否已读,都不会在另一台终端上再次收到。
3. 不支持本地存储,即本地的、云端的历史消息中均无法找回。

经典示例

实现“对方正在输入”功能

在 C2C 单聊场景下,您可以通过 MsgSendMessage (点击查看详情) 接口发送 "自己正在输入" 的提示性消息,接收方收到该消息时可以在 UI 界面展示 "对方正在输入",
示例代码如下:
var message = new Message
{
message_conv_id = conv_id,
message_conv_type = TIMConvType.kTIMConv_C2C,
message_elem_array = new List<Elem>{new Elem
{
elem_type = TIMElemType.kTIMElem_Custom,
custom_elem_data = "正在输入中"
}},
message_is_online_msg = true
};
StringBuilder messageId = new StringBuilder(128);
TIMResult res = TencentIMSDK.MsgSendMessage(conv_id, TIMConvType.kTIMConv_C2C, message, messageId, (int code, string desc, Message data, string user_data) => {
// 处理回调逻辑
});

交流与反馈

点此进入IM社群,享有专业工程师的支持,解决您的难题