浏览 SDKs · Android
平台
SDKsAndroid

发送不经 OSS 的消息

发送由业务服务端自行托管媒体资源的消息,无需经过 SDK 内置 OSS 上传。

复制

发送已经包含有效远端媒体 URL 的消息,避免 SDK 重复执行文件上传。此方法通常与通过 URL 创建的媒体消息(如网络图片、音频、视频、文件等)配合使用。若消息基于本地文件路径创建,请使用普通的发送消息。

String peerUserID = "user_b";
OfflinePushInfo offlinePushInfo = new OfflinePushInfo();

OpenIMClient.getInstance().messageManager.sendMessageNotOss(
    new OnMsgSendCallback() {
        @Override
        public void onProgress(long progress) {
            // 不经 OSS 发送通常不触发文件上传进度
        }

        @Override
        public void onSuccess(Message sentMessage) {
            // 按 sentMessage.getClientMsgID() 更新本地消息状态
        }

        @Override
        public void onError(int code, String error) {
            // 处理发送失败
        }
    },
    message,
    peerUserID,
    null,
    offlinePushInfo
);

参数说明

参数类型是否必填说明
callbackOnMsgSendCallback是消息发送回调。
messageMessage是待发送的消息对象(通常由各 create*MessageByURL 接口创建)。
recvUidString条件必填单聊接收方用户 ID。群聊时传 null。
recvGidString条件必填群聊目标群组 ID。单聊时传 null。
offlinePushInfoOfflinePushInfo否离线推送参数对象。若不需要自定义可传 null。

返回结果

成功回调返回发送确认后的 Message 对象。

客户端应以 clientMsgID 为标识更新本地消息状态。接收端接收与解析逻辑请参阅接收消息。