类型: interface
方法 | 描述 |
---|---|
createRTSRoom | 创建房间。 多次调用此方法以创建多个 IRTSRoom 实例。分别调用各 IRTSRoom 实例中的 joinRoom 方法,同时加入多个房间。 |
login | 登录即时消息服务器。 调用此方法登录后,可以向同 appID 下其他已登录用户发送文本或二进制消息。 |
logout | 登出 RTS 服务器。 调用本接口登出后,无法再调用消息相关的方法或收到相关回调。 |
updateLoginToken | 更新用户用于登录的 Token。 Token 有一定的有效期,当 Token 过期时,需调用此方法更新登录的 Token 信息。 |
getPeerOnlineStatus | 查询本地/远端用户的登录状态。 在发送消息之前,你可以通过本接口了解对端用户是否登录,从而决定是否发送消息。也可以通过本接口查询自己查看自己的登录状态。 |
sendMessage | 给指定的用户发送点对点文本消息(p2p)。 |
sendBinaryMessage | 给指定的用户发送点对点二进制消息(p2p)。 |
setServerParams | 设置应用服务器参数。 客户端调用 sendServerMessage 或 sendServerBinaryMessage 发送消息给应用服务器之前,必须需要设置有效签名和应用服务器地址。 |
sendServerMessage | 客户端给应用服务器发送文本消息(P2Server)。 |
sendServerBinaryMessage | 客户端给应用服务器发送二进制消息(P2Server)。 |
setBusinessId | 设置业务标识参数 可通过 businessId 区分不同的业务场景。businessId 由客户自定义,相当于一个“标签”,可以分担和细化现在 AppId 的逻辑划分的功能,但不需要鉴权。 |
on | 添加监听事件,并处理对应的函数。 |
off | 取消事件监听。 |
创建房间。
多次调用此方法以创建多个 IRTSRoom 实例。分别调用各 IRTSRoom 实例中的 joinRoom 方法,同时加入多个房间。
类型
(roomId: string) => IRTSRoom
参数
roomId
类型: string
标识通话房间的房间 ID。该字符串需符合正则表达式:[a-zA-Z0-9_@\-\.]{1,128}
。
多房间模式下,调用创建房间接口后,请勿调用同样的 roomID 创建房间,否则会导致创建房间失败。
返回值
类型: IRTSRoom
创建的 IRTSRoom 房间实例
登录即时消息服务器。
调用此方法登录后,可以向同 appID
下其他已登录用户发送文本或二进制消息。
类型
(token: string | null, userId: string) => Promise<void>
注意
RTM_DUPLICATE_LOGIN
错误。参数
token
类型: string | null
动态密钥,用于对登录用户进行鉴权验证。
同进房相同,登录需要携带 Token。测试时可使用控制台生成临时 Token,正式上线需要使用密钥 SDK 在你的服务端生成并下发 Token。
userId
类型: string
用户 ID。
返回值
类型: Promise<void>
登出 RTS 服务器。
调用本接口登出后,无法再调用消息相关的方法或收到相关回调。
类型
() => Promise<void>
返回值
类型: Promise<void>
更新用户用于登录的 Token。
Token 有一定的有效期,当 Token 过期时,需调用此方法更新登录的 Token 信息。
类型
(token: string | null) => Promise<void>
注意
参数
token
类型: string | null
更新的动态密钥
返回值
类型: Promise<void>
查询本地/远端用户的登录状态。
在发送消息之前,你可以通过本接口了解对端用户是否登录,从而决定是否发送消息。也可以通过本接口查询自己查看自己的登录状态。
类型
(userId: string) => Promise<USER_ONLINE_STATUS>
注意
参数
userId
类型: string
需要查询的用户 ID
返回值
类型: Promise<USER_ONLINE_STATUS>
用户登录状态
给指定的用户发送点对点文本消息(p2p)。
类型
(userId: string, message: string) => Promise<void>
注意
参数
uid
类型: string
消息接收用户的 ID
message
类型: string
发送的文本消息内容。消息不超过 64 KB
返回值
类型: Promise<void>
给指定的用户发送点对点二进制消息(p2p)。
类型
(userId: string, messgae: ArrayBuffer) => Promise<void>
注意
参数
userId
类型: string
消息接收用户的 ID
messgae
类型: ArrayBuffer
发送的二进制消息内容,消息不超过 64 KB
返回值
类型: Promise<void>
设置应用服务器参数。
客户端调用 sendServerMessage 或 sendServerBinaryMessage 发送消息给应用服务器之前,必须需要设置有效签名和应用服务器地址。
类型
(signature: string, url: string) => Promise<void>
注意
参数
signature
类型: string
动态签名,应用服务器会使用该签名对请求进行鉴权验证。
url
类型: string
应用服务器的地址
返回值
类型: Promise<void>
客户端给应用服务器发送文本消息(P2Server)。
类型
(message: string) => Promise<void>
注意
参数
message
类型: string
发送的文本消息内容。消息不超过 64 KB。
返回值
类型: Promise<void>
客户端给应用服务器发送二进制消息(P2Server)。
类型
(message: ArrayBuffer) => Promise<void>
注意
参数
message
类型: ArrayBuffer
发送的二进制消息内容,消息不超过 64 KB。
返回值
类型: Promise<void>
设置业务标识参数
可通过 businessId 区分不同的业务场景。businessId 由客户自定义,相当于一个“标签”,可以分担和细化现在 AppId 的逻辑划分的功能,但不需要鉴权。
类型
(businessId: string) => boolean
注意
需要在调用 login 之前调用,否则该方法无效。
参数
businessId
类型: string
businessId 只是一个标签,颗粒度需要用户自定义。
返回值
类型: boolean
添加监听事件,并处理对应的函数。
类型
<T extends keyof IRTSEvents>(type: T, handler: IRTSEvents[T]) => void
参数
type
类型: T
需要监听的事件类型,参看 IRTSEvents
handler
类型: IRTSEvents[T]
事件触发时执行的函数
取消事件监听。
类型
<T extends keyof IRTSEvents>(type: T, handler: IRTSEvents[T]) => void
参数
type
类型: T
需要取消监听的事件类型,参看 IRTSEvents
handler
类型: IRTSEvents[T]
事件触发时执行的函数
类型: interface
方法 | 描述 |
---|---|
joinRoom | 加入房间。 调用 createRTSRoom 创建房间后,可调用该方法进房,在房间内收发广播消息。 |
leaveRoom | 离开房间。 用户调用此方法离开房间,结束实时消息通信,释放所有通信相关的资源。 |
sendRoomMessage | 给房间内的所有其他用户群发文本消息。 |
sendRoomBinaryMessage | 给房间内的所有其他用户群发二进制消息。 |
on | 添加监听事件,并处理对应的函数。 |
off | 取消事件监听。 |
destroy | 退出并销毁调用 createRTSRoom 所创建的房间。 |
加入房间。
调用 createRTSRoom 创建房间后,可调用该方法进房,在房间内收发广播消息。
类型
() => Promise<void>
注意
返回值
类型: Promise<void>
离开房间。
用户调用此方法离开房间,结束实时消息通信,释放所有通信相关的资源。
类型
() => Promise<void>
返回值
类型: Promise<void>
给房间内的所有其他用户群发文本消息。
类型
(message: string) => Promise<void>
注意
参数
message
类型: string
发送的文本消息内容,消息不超过 64 KB。
返回值
类型: Promise<void>
给房间内的所有其他用户群发二进制消息。
类型
(message: ArrayBuffer) => Promise<void>
注意
参数
message
类型: ArrayBuffer
发送的二进制消息内容,消息不超过 64 KB。
返回值
类型: Promise<void>
添加监听事件,并处理对应的函数。
类型
<T extends keyof IRTSRoomEvents>(type: T, handler: IRTSRoomEvents[T]) => void
参数
type
类型: T
需要监听的事件类型,参看 IRTSRoomEvents
handler
类型: IRTSRoomEvents[T]
事件触发时执行的函数
取消事件监听。
类型
<T extends keyof IRTSRoomEvents>(type: T, handler: IRTSRoomEvents[T]) => void
参数
type
类型: T
需要取消监听的事件类型,参看 IRTSRoomEvents
handler
类型: IRTSRoomEvents[T]
事件触发时执行的函数
退出并销毁调用 createRTSRoom 所创建的房间。
类型
() => void
类型: interface
方法 | 描述 |
---|---|
createRTS | 创建引擎对象。如果当前进程中未创建引擎实例,那么你必须先使用此方法,以使用 RTS 提供的各种消息能力。 如果当前进程中已创建了引擎实例,再次调用此方法时,会创建另一个独立的引擎实例。 |
destroyRTS | 销毁由 createRTS 所创建引擎实例,并释放所有相关资源。 |
getSdkVersion | 获取 SDK 当前的版本号。 |
创建引擎对象。
如果当前进程中未创建引擎实例,那么你必须先使用此方法,以使用 RTS 提供的各种消息能力。
如果当前进程中已创建了引擎实例,再次调用此方法时,会创建另一个独立的引擎实例。
类型
(appId: string) => IRTS
参数
appId
类型: string
每个应用的唯一标识符,由控制台随机生成的。不同的 AppId 生成的实例完全独立,无法互通。
返回值
类型: IRTS
IRTS 实例
销毁由 createRTS 所创建引擎实例,并释放所有相关资源。
类型
(rts: IRTS) => void
注意
参数
rts
类型: IRTS
获取 SDK 当前的版本号。
类型
() => string
返回值
类型: string
SDK 当前的版本号。