什么是 Target ID?

Target ID 用于标识会话,称为目标 ID 或会话 ID,一般用 targetId 参数表示。对应的消息发送方 ID 常用 senderUserId 表示。

  • 针对群组会话、聊天室会话、超级群会话,融云直接使用群组 ID、聊天室 ID、超级群 ID 标识会话。因此,对于参与任意一个群聊会话(或聊天室会话、超级群会话)的所有用户,Target ID 是一致的。
  • 针对单聊会话,融云使用单聊对端的用户 ID 作为标识本端单聊会话的 Target ID,因此,针对参与同一个单聊会话的两位用户,会话的 Target ID 是不一致的,针对本端登录用户,本端单聊会话的 Target ID 始终是单聊对端的用户 ID。因为单聊会话 Target ID 在会话参与者客户端不一致,在客户端通过「插入消息」接口在单聊会话中插入消息时可能容易发生误解。无论是插入本人发送还是本人接收的消息,请谨记 targetId 字段需传入单聊会话的 Target ID(单聊会话对端的用户 ID)。

示例:用户 1(user1) 用户 2(user2)之间互发消息,产生了单聊会话。同时,两位用户共同参与的群聊、聊天室、超级群会话。

用户 1,targetId 为以下值:

会话类型 targetId
单聊 user2
群聊/聊天室/超级群 群组 ID/聊天室 ID/超级群 ID

用户 2,targetId 为以下值:

会话类型 targetId
单聊 user1
群聊/聊天室/超级群 群组 ID/聊天室 ID/超级群 ID
gantt
    title A Gantt Diagram
    dateFormat  YYYY-MM-DD
    section Section
    A task           :a1, 2014-01-01, 30d
    Another task     :after a1  , 20d
    section Another
    Task in sec      :2014-01-12  , 12d
    another task      : 24d
sequenceDiagram
    participant Alice
    participant Bob
    Alice->>John: Hello John, how are you?
    loop Healthcheck
        John->>John: Fight against hypochondria
    end
    Note right of John: Rational thoughts <br/>prevail!
    John-->>Alice: Great!
    John->>Bob: How about you?
    Bob-->>John: Jolly good!