tencent cloud

文档反馈

Android & iOS & Mac

最后更新时间:2023-01-29 16:06:34

    功能描述

    某些场景下,您可能希望发出去的消息只被对端在线时接收,即当接收者不在线时就不会感知到该消息。
    您只需在 sendMessage 时,将参数 onlineUserOnly 设置为 true/YES,此时发送出去的消息跟普通消息相比,会有如下差异点:

    1. 不支持离线存储。如果接收方不在线就无法收到。
    2. 不支持多端漫游。如果接收方在一台终端设备上一旦收到过该消息,无论是否已读,都不会在另一台终端上再次收到。
    3. 不支持本地存储。无法在本地的、云端的历史消息中找回。

    经典示例

    实现“对方正在输入”功能

    在 C2C 单聊场景下,您可以通过 sendMessage (Android / iOS & Mac / Windows) 发送指定的自定义在线消息,接收方收到该消息时判断是对端输入状态后,可以在 UI 界面展示 "对方正在输入",

    示例代码如下:

    // 给 userA 发送 "正在输入" 的提示消息
    JSONObject jsonObject = new JSONObject();
    try {
    jsonObject.put("command", "textInput");
    } catch (JSONException e) {
    e.printStackTrace();
    }
    V2TIMMessage v2TIMMessage = V2TIMManager.getMessageManager().createCustomMessage(jsonObject.toString().getBytes());
    V2TIMManager.getMessageManager().sendMessage(v2TIMMessage, "userA", null, V2TIMMessage.V2TIM_PRIORITY_DEFAULT, true,  v2TIMOfflinePushInfo, new V2TIMSendCallback<V2TIMMessage>() {
    @Override
    public void onError(int code, String desc) {}
    @Override
    public void onSuccess(V2TIMMessage v2TIMMessage) {}
    @Override
    public void onProgress(int progress) {}
    });
    

    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持