You need to enable JavaScript to run this app.
导航

API 详情

最近更新时间2024.01.08 21:21:33

首次发布时间2022.09.14 20:26:33

IRTS

类型: interface

  • API
方法描述
createRTSRoom创建房间。
多次调用此方法以创建多个 IRTSRoom 实例。分别调用各 IRTSRoom 实例中的 joinRoom 方法,同时加入多个房间。
login登录即时消息服务器。
调用此方法登录后,可以向同 appID 下其他已登录用户发送文本或二进制消息。
logout登出 RTS 服务器。
调用本接口登出后,无法再调用消息相关的方法或收到相关回调。
updateLoginToken更新用户用于登录的 Token。
Token 有一定的有效期,当 Token 过期时,需调用此方法更新登录的 Token 信息。
getPeerOnlineStatus查询本地/远端用户的登录状态。
在发送消息之前,你可以通过本接口了解对端用户是否登录,从而决定是否发送消息。也可以通过本接口查询自己查看自己的登录状态。
sendMessage给指定的用户发送点对点文本消息(p2p)。
sendBinaryMessage给指定的用户发送点对点二进制消息(p2p)。
setServerParams设置应用服务器参数。
客户端调用 sendServerMessagesendServerBinaryMessage 发送消息给应用服务器之前,必须需要设置有效签名和应用服务器地址。
sendServerMessage客户端给应用服务器发送文本消息(P2Server)。
sendServerBinaryMessage客户端给应用服务器发送二进制消息(P2Server)。
setBusinessId设置业务标识参数
可通过 businessId 区分不同的业务场景。businessId 由客户自定义,相当于一个“标签”,可以分担和细化现在 AppId 的逻辑划分的功能,但不需要鉴权。
on添加监听事件,并处理对应的函数。
off取消事件监听。

createRTSRoom

创建房间。
多次调用此方法以创建多个 IRTSRoom 实例。分别调用各 IRTSRoom 实例中的 joinRoom 方法,同时加入多个房间。

  • 类型

    (roomId: string) => IRTSRoom
    
  • 参数

    • roomId

      类型: string

      标识通话房间的房间 ID。该字符串需符合正则表达式:[a-zA-Z0-9_@\-\.]{1,128}
      多房间模式下,调用创建房间接口后,请勿调用同样的 roomID 创建房间,否则会导致创建房间失败。

  • 返回值

    类型: IRTSRoom

    创建的 IRTSRoom 房间实例

login

登录即时消息服务器。
调用此方法登录后,可以向同 appID 下其他已登录用户发送文本或二进制消息。

  • 类型

    (token: string | null, userId: string) => Promise<void>
    
  • 注意

    • 在调用本接口登录后,如果想要登出,需要调用 logout
    • 同一个 App ID 的每个用户的用户 ID 必须是唯一的。如果两个用户的用户 ID 相同,则先登录的用户将自动登出,并收到 RTM_DUPLICATE_LOGIN 错误。
  • 参数

    • token

      类型: string | null

      动态密钥,用于对登录用户进行鉴权验证。
      同进房相同,登录需要携带 Token。测试时可使用控制台生成临时 Token,正式上线需要使用密钥 SDK 在你的服务端生成并下发 Token。

    • userId

      类型: string

      用户 ID。

  • 返回值

    类型: Promise<void>

logout

登出 RTS 服务器。
调用本接口登出后,无法再调用消息相关的方法或收到相关回调。

  • 类型

    () => Promise<void>
    
  • 返回值

    类型: Promise<void>

updateLoginToken

更新用户用于登录的 Token。
Token 有一定的有效期,当 Token 过期时,需调用此方法更新登录的 Token 信息。

  • 类型

    (token: string | null) => Promise<void>
    
  • 注意

    • 如果 Token 无效导致登录失败,则调用此方法更新 Token 后,SDK 会自动重新登录,而用户不需要自己调用 login 方法。
    • Token 过期时,如果已经成功登录,则不会受到影响。Token 过期的错误会在下一次使用过期 Token 登录时,或因本地网络状况不佳导致断网重新登录时通知给用户。
  • 参数

    • token

      类型: string | null

      更新的动态密钥

  • 返回值

    类型: Promise<void>

getPeerOnlineStatus

查询本地/远端用户的登录状态。
在发送消息之前,你可以通过本接口了解对端用户是否登录,从而决定是否发送消息。也可以通过本接口查询自己查看自己的登录状态。

  • 类型

    (userId: string) => Promise<USER_ONLINE_STATUS>
    
  • 注意

    • 必须调用 login 登录后,才能调用本接口。
  • 参数

    • userId

      类型: string

      需要查询的用户 ID

  • 返回值

    类型: Promise<USER_ONLINE_STATUS>

    用户登录状态

sendMessage

给指定的用户发送点对点文本消息(p2p)。

  • 类型

    (userId: string, message: string) => Promise<void>
    
  • 注意

    • 在发送点对点文本消息前,必须先调用 login 完成登录。
    • 若文本消息发送成功,则 uid 所指定的用户会通过 onMessageReceived 回调收到该消息。
  • 参数

    • uid

      类型: string

      消息接收用户的 ID

    • message

      类型: string

      发送的文本消息内容。消息不超过 64 KB

  • 返回值

    类型: Promise<void>

sendBinaryMessage

给指定的用户发送点对点二进制消息(p2p)。

  • 类型

    (userId: string, messgae: ArrayBuffer) => Promise<void>
    
  • 注意

    • 在发送点对点二进制消息前,必须先调用 login 完成登录。
    • 若二进制消息发送成功,则 uid 所指定的用户会通过 onBinaryMessageReceived 回调收到该条消息。
  • 参数

    • userId

      类型: string

      消息接收用户的 ID

    • messgae

      类型: ArrayBuffer

      发送的二进制消息内容,消息不超过 64 KB

  • 返回值

    类型: Promise<void>

setServerParams

设置应用服务器参数。
客户端调用 sendServerMessagesendServerBinaryMessage 发送消息给应用服务器之前,必须需要设置有效签名和应用服务器地址。

  • 类型

    (signature: string, url: string) => Promise<void>
    
  • 注意

    • 用户必须调用 login 登录后,才能调用本接口。
  • 参数

    • signature

      类型: string

      动态签名,应用服务器会使用该签名对请求进行鉴权验证。

    • url

      类型: string

      应用服务器的地址

  • 返回值

    类型: Promise<void>

sendServerMessage

客户端给应用服务器发送文本消息(P2Server)。

  • 类型

    (message: string) => Promise<void>
    
  • 注意

    • 在向应用服务器发送文本消息前,必须先调用 login 完成登录,随后调用 setServerParams 设置应用服务器。
    • 若文本消息发送成功,则之前调用 setServerParams 设置的应用服务器会收到该条消息。
  • 参数

    • message

      类型: string

      发送的文本消息内容。消息不超过 64 KB。

  • 返回值

    类型: Promise<void>

sendServerBinaryMessage

客户端给应用服务器发送二进制消息(P2Server)。

  • 类型

    (message: ArrayBuffer) => Promise<void>
    
  • 注意

    • 在向应用服务器发送二进制消息前,必须先调用 login 完成登录,随后调用 setServerParams 设置应用服务器。
    • 若二进制消息发送成功,则之前调用 setServerParams 设置的应用服务器会收到该条消息。
  • 参数

    • message

      类型: ArrayBuffer

      发送的二进制消息内容,消息不超过 64 KB。

  • 返回值

    类型: Promise<void>

setBusinessId

设置业务标识参数
可通过 businessId 区分不同的业务场景。businessId 由客户自定义,相当于一个“标签”,可以分担和细化现在 AppId 的逻辑划分的功能,但不需要鉴权。

  • 类型

    (businessId: string) => boolean
    
  • 注意

    需要在调用 login 之前调用,否则该方法无效。

  • 参数

    • businessId

      类型: string

      businessId 只是一个标签,颗粒度需要用户自定义。

  • 返回值

    类型: boolean

on

添加监听事件,并处理对应的函数。

  • 类型

    <T extends keyof IRTSEvents>(type: T, handler: IRTSEvents[T]) => void
    
  • 参数

    • type

      类型: T

      需要监听的事件类型,参看 IRTSEvents

    • handler

      类型: IRTSEvents[T]

      事件触发时执行的函数

off

取消事件监听。

  • 类型

    <T extends keyof IRTSEvents>(type: T, handler: IRTSEvents[T]) => void
    
  • 参数

    • type

      类型: T

      需要取消监听的事件类型,参看 IRTSEvents

    • handler

      类型: IRTSEvents[T]

      事件触发时执行的函数

IRTSRoom

类型: interface

  • API
方法描述
joinRoom加入房间。
调用 createRTSRoom 创建房间后,可调用该方法进房,在房间内收发广播消息。
leaveRoom离开房间。
用户调用此方法离开房间,结束实时消息通信,释放所有通信相关的资源。
sendRoomMessage给房间内的所有其他用户群发文本消息。
sendRoomBinaryMessage给房间内的所有其他用户群发二进制消息。
on添加监听事件,并处理对应的函数。
off取消事件监听。
destroy退出并销毁调用 createRTSRoom 所创建的房间。

joinRoom

加入房间。
调用 createRTSRoom 创建房间后,可调用该方法进房,在房间内收发广播消息。

  • 类型

    () => Promise<void>
    
  • 注意

    • 你需在调用 login 登录 RTS 服务器后再加入房间。
    • 用户加入房间成功后,在本地网络状况不佳的情况下,SDK 可能会与服务器失去连接,此时 SDK 将会自动重连。
  • 返回值

    类型: Promise<void>

leaveRoom

离开房间。
用户调用此方法离开房间,结束实时消息通信,释放所有通信相关的资源。

  • 类型

    () => Promise<void>
    
  • 返回值

    类型: Promise<void>

sendRoomMessage

给房间内的所有其他用户群发文本消息。

  • 类型

    (message: string) => Promise<void>
    
  • 注意

    • 在房间内广播文本消息前,必须先调用 joinRoom 加入房间。
  • 参数

    • message

      类型: string

      发送的文本消息内容,消息不超过 64 KB。

  • 返回值

    类型: Promise<void>

sendRoomBinaryMessage

给房间内的所有其他用户群发二进制消息。

  • 类型

    (message: ArrayBuffer) => Promise<void>
    
  • 注意

    • 在房间内广播二进制消息前,必须先调用 joinRoom 加入房间。
  • 参数

    • message

      类型: ArrayBuffer

      发送的二进制消息内容,消息不超过 64 KB。

  • 返回值

    类型: Promise<void>

on

添加监听事件,并处理对应的函数。

  • 类型

    <T extends keyof IRTSRoomEvents>(type: T, handler: IRTSRoomEvents[T]) => void
    
  • 参数

off

取消事件监听。

  • 类型

    <T extends keyof IRTSRoomEvents>(type: T, handler: IRTSRoomEvents[T]) => void
    
  • 参数

destroy

退出并销毁调用 createRTSRoom 所创建的房间。

  • 类型

    () => void
    

IVERTS

类型: interface

  • API
方法描述
createRTS创建引擎对象。如果当前进程中未创建引擎实例,那么你必须先使用此方法,以使用 RTS 提供的各种消息能力。
如果当前进程中已创建了引擎实例,再次调用此方法时,会创建另一个独立的引擎实例。
destroyRTS销毁由 createRTS 所创建引擎实例,并释放所有相关资源。
getSdkVersion获取 SDK 当前的版本号。

createRTS

创建引擎对象。
如果当前进程中未创建引擎实例,那么你必须先使用此方法,以使用 RTS 提供的各种消息能力。
如果当前进程中已创建了引擎实例,再次调用此方法时,会创建另一个独立的引擎实例。

  • 类型

    (appId: string) => IRTS
    
  • 参数

    • appId

      类型: string

      每个应用的唯一标识符,由控制台随机生成的。不同的 AppId 生成的实例完全独立,无法互通。

  • 返回值

    类型: IRTS

    IRTS 实例

destroyRTS

销毁由 createRTS 所创建引擎实例,并释放所有相关资源。

  • 类型

    (rts: IRTS) => void
    
  • 注意

    • 请确保和需要销毁的 IRTS 实例相关的业务场景全部结束后,才调用此方法。
    • 该方法在调用之后,会销毁所有和此 IRTS 实例相关的内存,并且停止与媒体服务器的任何交互
    • 调用本方法会启动 SDK 退出逻辑。引擎线程会保留,直到退出逻辑完成。因此,不要在回调线程中直接调用此 API,也不要在回调中等待主线程的执行,并同时在主线程调用本方法。不然会造成死锁。
  • 参数

getSdkVersion

获取 SDK 当前的版本号。

  • 类型

    () => string
    
  • 返回值

    类型: string

    SDK 当前的版本号。