SDKsReact Native
撤回消息
OpenIM React Native SDK 撤回消息。
撤回已发送的消息。撤回成功后,会话各端会将对应消息替换为撤回提示状态。
await OpenIMSDK.revokeMessage({
conversationID,
clientMsgID,
});参数说明
| 参数 | 类型 | 必填 | 含义 |
|---|---|---|---|
conversationID | string | 是 | 消息所属的会话 ID。 |
clientMsgID | string | 是 | 要撤回的消息客户端 ID。 |
返回结果
调用成功代表撤回请求已被服务端处理完成。撤回的时间范围(如发送后一定时间内)及操作权限由服务端策略校验,超出时限或无权操作将返回错误。
监听消息撤回
消息被成功撤回后,会话各端会收到 OnNewRecvMessageRevoked 事件通知。回调携带 RevokedInfo 数据对象,客户端应根据 clientMsgID 找到原消息,并将其展示状态变更为撤回提示(如展示“xx 撤回了一条消息”)。
interface RevokedInfo {
clientMsgID: string;
revokerID: string;
revokerRole: number;
revokerNickname: string;
sessionType: number;
}
const handleMessageRevoked = (revokedInfo: RevokedInfo) => {
// 根据 revokedInfo.clientMsgID 更新对应消息状态为已撤回
};
// 设置监听
OpenIMSDK.on(OpenIMEvent.OnNewRecvMessageRevoked, handleMessageRevoked);
// 取消监听
OpenIMSDK.off(OpenIMEvent.OnNewRecvMessageRevoked, handleMessageRevoked);组件销毁、退出登录或切换账号时,取消该监听。若仅希望从当前设备移除消息记录而不影响对方,请调用删除本地消息。
这个页面有帮助吗?