消息事件监听器。

用于监听消息接收情况,消息成功发送到对方手机后会有回执(需开启送达回执,详见 ChatOptions#setRequireDeliveryAck)。

对方阅读了这条消息也会收到回执(需开启允许已读回执,详见 ChatOptions#setRequireReadAck)。

发送消息过程中,消息 ID 会从最初本地生成的 uuid 变更为服务器端生成的全局唯一 ID,该 ID 在使用 SDK 的所有设备上均唯一。

interface ChatMessageListener {
    onCmdMessageReceived?: ((messages: ChatMessage[]) => void);
    onGroupMessageRead?: ((groupReadAcks: GroupReadAck[]) => void);
    onMessageChanged?: ((message: ChatMessage, change: object) => void);
    onMessageContentChanged?: ((modifiedMessage: ChatMessage, operatorId: string, operationTime: number) => void);
    onMessageDelivered?: ((messages: ChatMessage[]) => void);
    onMessagePinChanged?: ((messageId: string, conversationId: string, pinOperation: PinOperation, pinInfo: ChatMessagePinInfo) => void);
    onMessageRead?: ((messages: ChatMessage[]) => void);
    onMessageRecalled?: ((recallInfo: RecallMessageInfo[]) => void);
    onMessageReceived: ((messages: ChatMessage[]) => void);
    onReactionChanged?: ((messageReactionChange: ChatMessageReactionChange[]) => void);
    onReadAckForGroupMessageUpdated?: (() => void);
}

Properties

onCmdMessageReceived?: ((messages: ChatMessage[]) => void)

收到命令消息。

这个回调只包含命令的消息,命令消息通常不对用户展示。

Type declaration

    • (messages): void
    • Parameters

      Returns void

onGroupMessageRead?: ((groupReadAcks: GroupReadAck[]) => void)

收到群组消息的已读回执。

Type declaration

    • (groupReadAcks): void
    • Parameters

      • groupReadAcks: GroupReadAck[]

        已读回执发生变化的信息列表。

      Returns void

onMessageChanged?: ((message: ChatMessage, change: object) => void)

收到消息状态或者附件状态的变化。 在消息没有设置 ChatMessage#setMessageStatusCallback 时,发送消息或者下载附件时会触发这个回调。

Type declaration

    • (message, change): void
    • Parameters

      • message: ChatMessage

        发生变化的消息。

      • change: object

        消息的变化。

      Returns void

onMessageContentChanged?: ((modifiedMessage: ChatMessage, operatorId: string, operationTime: number) => void)

收到消息内容变化。

Type declaration

    • (modifiedMessage, operatorId, operationTime): void
    • Parameters

      • modifiedMessage: ChatMessage

        修改的消息对象,其中的 message body 包含消息修改次数、最后一次修改的操作者、最后一次修改时间等信息。 你也可通过 onMessageContentChanged 回调获得最后一次修改的操作者和最后一次修改时间等信息。

      • operatorId: string

        最后一次修改消息的用户。

      • operationTime: number

        消息的最后一次修改时间戳,单位为毫秒。

      Returns void

onMessageDelivered?: ((messages: ChatMessage[]) => void)

收到消息的送达回执。

Type declaration

    • (messages): void
    • Parameters

      • messages: ChatMessage[]

        收到的送达回执的消息列表。

      Returns void

onMessagePinChanged?: ((messageId: string, conversationId: string, pinOperation: PinOperation, pinInfo: ChatMessagePinInfo) => void)

收到消息的置顶状态变化。

Type declaration

    • (messageId, conversationId, pinOperation, pinInfo): void
    • Parameters

      • messageId: string

        消息 ID。

      • conversationId: string

        会话 ID。

      • pinOperation: PinOperation

        消息置顶操作的类型:包含置顶和取消置顶。

      • pinInfo: ChatMessagePinInfo

        消息置顶详情,包含置顶操作者的用户 ID 和置顶时间等。

      Returns void

onMessageRead?: ((messages: ChatMessage[]) => void)

收到消息的已读回执。

Type declaration

    • (messages): void
    • Parameters

      • messages: ChatMessage[]

        收到的已读回执的消息列表。

      Returns void

onMessageRecalled?: ((recallInfo: RecallMessageInfo[]) => void)

撤回收到的消息。

Type declaration

    • (recallInfo): void
    • Parameters

      Returns void

onMessageReceived: ((messages: ChatMessage[]) => void)

收到消息。

在收到文本、图片、视频、语音、地理位置和文件等消息时,通过此回调通知用户。

Type declaration

    • (messages): void
    • Parameters

      Returns void

onReactionChanged?: ((messageReactionChange: ChatMessageReactionChange[]) => void)

收到 Reaction 变更消息。

Type declaration

    • (messageReactionChange): void
    • Parameters

      Returns void

onReadAckForGroupMessageUpdated?: (() => void)

收到群组消息的读取状态更新。