Pano开发者中心
  • 开发者中心
  • 下载中心

›消息

新手入门

  • 简介
  • 名词解释
  • 创建第一个应用

规则说明

  • Channel ID命名规则
  • 权限控制
  • 计费说明
  • 频道最大时长说明
  • 每月一万分钟免费说明
  • 布局参数说明
  • 水印

场景方案

    教育行业

    • 1vN互动小班课
    • 互动直播大班课

快速接入

  • 简介
  • 音视频

    • Windows (C++)
    • iOS (Objective-C)
    • Android (Java)
    • Web
    • Electron
    • Flutter
    • React Native
    • Unity

    白板

    • Windows (C++)
    • iOS (Objective-C)
    • Android (Java)
    • Web
    • Electron
    • Flutter
    • React Native

高级功能(RTC)

  • 简介
  • 屏幕共享
  • 分组讨论
  • 状态回调
  • 设备诊断
  • 音量指示
  • 控制声音
  • 声卡操作
  • 混音/伴音
  • 混响
  • 耳返
  • 变声
  • 美颜
  • 音视频数据回调
  • 音视频外部采集
  • 收发多路视频
  • 多窗口渲染
  • 性能检测
  • 截图
  • 反馈

高级功能(RTS)

  • 简介
  • 白板

    • Windows (C++)
    • iOS (Objective-C)
    • Android (Java)
    • Web
    • Flutter

    标注

    • 视频标注
    • 共享标注
    • 外部标注

    消息

    • 消息服务

    远程控制

    • 远程控制

操作实践

  • 切换大小屏

RESTful API

  • 基本格式
  • 生成Token
  • 频道管理
  • 云端录制
  • CDN推流
  • 文档转码
  • 消息服务
  • 服务端消息通知

SDK API

  • SDK接口说明
  • Windows (C++)
  • macOS/iOS (Objective-C)
  • Android (Java)
  • Web SDK (IE专用版)
  • Web SDK

    • 浏览器兼容性
    • RtcEngine
    • GroupManager
    • RtcWhiteboard
    • RtsService
    • RtcMessage
    • Annotation
    • Constants

更新记录

  • 简介
  • Windows
  • macOS
  • iOS
  • Android
  • Electron
  • Flutter
  • React Native
  • Unity
  • Web(全功能SDK)
  • Web(RTS SDK)
  • Web(IE专用音视频SDK)

帮助

  • FAQ
  • 更多帮助

消息服务

简介

Pano SDK 提供简易消息服务(称为RTM,Real Time Messaging),开发者可以通过此功能实现聊天、保存状态信息、或者传递控制指令等。
主要有三种类型的消息:

  • Message: 实时消息,适用于发送普通聊天消息。
  • Topic: 主题消息,适用于公告、礼物记录等重要内容。
  • Property: 属性消息,适用于保存全局状态等信息。

其中,Message 仅发送给在线用户,Pano 服务器不保存消息记录,如果消息发送时用户不在线,事后是无法收到该消息的,所以非常适合聊天室、直播间的普通即时消息。
Message 又分单点消息(发送给指定用户)和广播消息(发送给频道内所有用户)。

而对于 Topic 和 Property 消息,Pano 服务器会在频道持续时间保存消息记录(在频道被关闭时清空),后加入或者重新加入的用户可以一次性收到所有历史记录。
Topic 和 Property 之间的差异在于,Topic 是增量化的,新内容会增加到旧内容后面,而 Property 是替换性的,新内容会替换旧内容。

简言之,选择逻辑如下:

  • 不需要历史记录:Message
  • 需要增量型历史记录:Topic
  • 需要替换型历史记录:Property

另外:

  • 消息接口的调用频率上限为每 3 秒 150 次,消息大小不超过 4 KB。
  • 当客户端SDK收到来自服务端API发送的消息时,发送方 userId 统一为 0。
  • RTM消息和白板内的消息是不互通的。

各端 SDK 相关接口,请查看下列介绍:

  • Windows (C++)
  • macOS/iOS (Objective-C)
  • Android (Java)
  • Web
  • Electron
  • Flutter
  • React Native

Windows (C++)

如果在加入频道时配置了 serviceFlags,需要包含 kChannelServiceMessage 才能使用实时消息。

通过 RtcEngine 实例的 getMessageService 方法获取消息服务的接口指针(RtcMessage)。

  • 通过其 setCallback 方法设置消息服务的回调。
  • 通过其 sendMessage 方法发送消息给指定用户。
  • 通过其 broadcastMessage 方法发送广播消息(发送给频道内所有用户)。
  • 通过其 publish 方法发布主题消息,subscribe 方法订阅主题,unsubscribe 方法取消订阅主题。
  • 通过其 setProperty 方法设置或更新消息服务属性。

macOS/iOS (Objective-C)

如果在加入频道时配置了 serviceFlags,需要包含 kPanoChannelServiceMessage 才能使用实时消息。

通过 PanoRtcEngineKit 实例的 messageService 属性获取消息服务的接口指针(PanoRtcMessage)。

  • 通过其 delegate 属性设置消息服务的回调。
  • 通过其 - sendMessageToUser:data: 方法发送消息给指定用户。
  • 通过其 - broadcastMessage:sendBack: 方法发送广播消息(发送给频道内所有用户)。
  • 通过其 - publishTopic:data:requestId: 方法发布主题消息,- subscribe: 方法订阅主题,- unsubscribe: 方法取消订阅主题。
  • 通过其 - setProperty:value: 方法设置或更新消息服务属性。

Android (Java)

如果在加入频道时配置了 serviceFlags,需要包含 kChannelServiceMessage 才能使用实时消息。

通过 RtcEngine 实例的 getMessageService 方法获取消息服务的接口对象(RtcMessageService)。

  • 通过其 setCallback 方法设置消息服务的回调。
  • 通过其 sendMessage 方法发送消息给指定用户。
  • 通过其 broadcastMessage 方法发送广播消息(发送给频道内所有用户)。
  • 通过其 publish 方法发布主题消息,subscribe 方法订阅主题,unsubscribe 方法取消订阅主题。
  • 通过其 setProperty 方法设置或更新消息服务属性。

Web

可以通过多种方式获取实时消息模块(RtcMessage),具体请 点此查看。

  • 通过其 on 方法设置消息服务的回调。
  • 通过其 sendMessage 方法发送消息给指定用户。
  • 通过其 broadcastMessage 方法发送广播消息(发送给频道内所有用户)。
  • 通过其 publishTopicMessage 方法发布主题消息,subscribeTopic 方法订阅主题,unsubscribeTopic 方法取消订阅主题。
  • 通过其 setProperty 方法设置或更新消息服务属性。

Electron

Electron SDK 仅支持音视频功能。如需在 Electron 中使用实时消息,请集成 Web SDK 的实时消息功能。

Flutter

如果在加入频道时配置了 serviceFlags,需要包含 Message 才能使用实时消息。

通过 RtcEngineKit 实例的 messageService 方法获取消息服务的接口对象(RtcMessageService)。

  • 通过其 setEventHandler 方法设置消息服务的回调。
  • 通过其 sendMessage 方法发送消息给指定用户。
  • 通过其 broadcastMessage 方法发送广播消息(发送给频道内所有用户)。
  • 通过其 publish 方法发布主题消息,subscribe 方法订阅主题,unsubscribe 方法取消订阅主题。
  • 通过其 setProperty 方法设置或更新消息服务属性。

React Native

如果在加入频道时配置了 serviceFlags,需要包含 Message 才能使用实时消息。

通过 RtcEngineKit 实例的 messageService 方法获取消息服务的接口对象(RtcMessageService)。

  • 通过其 addListener 方法设置消息服务的回调。
  • 通过其 sendMessage 方法发送消息给指定用户。
  • 通过其 broadcastMessage 方法发送广播消息(发送给频道内所有用户)。
  • 通过其 publish 方法发布主题消息,subscribe 方法订阅主题,unsubscribe 方法取消订阅主题。
  • 通过其 setProperty 方法设置或更新消息服务属性。
Last updated on 3/22/2022
← 外部标注远程控制 →
  • 简介
  • Windows (C++)
  • macOS/iOS (Objective-C)
  • Android (Java)
  • Web
  • Electron
  • Flutter
  • React Native
浙ICP备20002645号 ©2019-2022 Pano拍乐云