功能描述

群 @ 消息就是发送方监听输入栏里的输入字符,当用户输入 @ 字符后,弹出群成员选择界面。选择完需要 @ 的成员后以 “@A @B @C......” 形式显示在输入框,并可以继续编辑消息内容,完成消息发送。 接收方会在会话界面的群聊天列表,重点显示 “有人@我” 或者“@所有人” 标识,提醒用户有人在群里 @ 自己了。

说明:

目前仅支持文本 @ 消息。

功能演示

监听 @ 字符选择群成员 编辑群 @ 消息发送 收到群 @ 消息

图一:在聊天界面监听到输入框输入 "@" 字符后,可以跳转到群成员选择界面,选择需要 @ 的群成员。 图二:在群成员选择完成后,重新返回聊天界面,继续编辑群 @ 消息发送。 图三:如果有消息 @ 我,自己会收到会话更新,可以在会话 Cell 展示 “有人@我” 信息。

发送群 @ 消息

  1. 发送方监听聊天界面的文本输入框,启动群成员选择界面。选择完成后回传选择群成员的 ID 和昵称信息,ID 用来构建消息对象 V2TimMessage,昵称用来在文本框显示。
  2. 发送方调用 createTextAtMessage 接口创建一条 @ 文本消息,拿到消息对象 V2TimMessage,并在其中指定需要 @ 的成员。
  3. 发送方调用 sendMessage 接口将刚才创建的 @ 消息对象发送出去。

示例代码如下:

// 创建群@消息
TencentImSDKPlugin.v2TIMManager.getMessageManager().createTextAtMessage(text: "123", atUserList: ['user1','user2','all']);
// 发送群@消息
 TencentImSDKPlugin.v2TIMManager.getMessageManager().sendMessage(
          id: id,
          receiver: "",
          groupID: "",
);

接收群 @ 消息

  1. 在加载和更新会话处,需要调用 V2TimConversationgroupAtInfolist 接口获取会话的 @ 数据列表。
  2. 通过列表中 groupAtInfolist 对象的 atType() 接口获取 @ 数据类型,并更新到当前会话的 @ 信息。

示例代码如下:

V2TimValueCallback<V2TimConversationResult> getConversationList = await TencentImSDKPlugin.v2TIMManager.getConversationManager().getConversationList(nextSeq: "", count: 10);
  if(getConversationList.code == 0){
    getConversationList.data.conversationList.forEach((element) {
      element.groupAtInfoList.forEach((element) {
        if(element.atType == 0){
          // @我
        }
        if(element.atType == 1){
          // @all
        }
        if(element.atType == 2){
          // @all&@我 
        }
      });
    });
  }

交流与反馈

欢迎加入 QQ 群进行技术交流和反馈问题,QQ 群:788910197

results matching ""

    No results matching ""