public abstract class com.ss.bytertc.rts.engine.RTS
RTS engine API class
返回 | 名称 |
---|---|
static synchronized RTS | createRTS |
static synchronized void | destroyRTS |
static String | getSdkVersion |
static int | setLogConfig |
返回 | 名称 |
---|---|
abstract void | setRtsEventHandler |
abstract int | login |
abstract int | logout |
abstract int | updateLoginToken |
abstract int | setServerParams |
abstract int | getPeerOnlineStatus |
abstract long | sendMessage |
abstract long | sendBinaryMessage |
abstract long | sendServerMessage |
abstract long | sendServerBinaryMessage |
abstract RTSRoom | createRoom |
abstract int | setBusinessId |
abstract int | setRuntimeParameters |
abstract int | setCellularEnhancement |
abstract int | setLocalProxy |
public static synchronized RTS com.ss.bytertc.rts.engine.RTS.createRTS( Context context, String appId, IRTSEventHandler handler, JSONObject parameters)
创建引擎对象。
如果当前进程中未创建引擎实例,那么你必须先使用此方法,以使用 RTS 提供的各种消息能力。
如果当前进程中已创建了引擎实例,再次调用此方法时,会创建另一个独立的引擎实例。
传入参数
参数名 | 类型 | 说明 |
---|---|---|
context | Context | Android 应用 Context |
appId | String | 每个应用的唯一标识符,由控制台随机生成的。不同的 AppId 生成的实例完全独立,无法互通。 |
handler | IRTSEventHandler | SDK 回调给应用层的 Handler,详见 IRTSEventHandler。你应注意保持 handler 的生命周期必须大于引擎的生命周期,即 handler 必须在调用 destroyRTS 之后销毁。 |
parameters | JSONObject | 用以覆盖默认参数的本引擎实例参数。JSON 字符串格式。 |
返回值
public static synchronized void com.ss.bytertc.rts.engine.RTS.destroyRTS()
销毁由 createRTS 所创建引擎实例,并释放所有相关资源。
注意
public static String com.ss.bytertc.rts.engine.RTS.getSdkVersion()
获取 SDK 当前的版本号。
返回值
SDK 当前的版本号。
public static int com.ss.bytertc.rts.engine.RTS.setLogConfig( RTCLogConfig logConfig)
配置 SDK 本地日志参数,包括日志级别、存储路径、可使用的最大缓存空间。
传入参数
参数名 | 类型 | 说明 |
---|---|---|
logConfig | RTCLogConfig | 本地日志参数,参看 RTCLogConfig。 |
返回值
注意
本方法必须在调用 createRTS 之前调用。
public abstract void com.ss.bytertc.rts.engine.RTS.setRtsEventHandler( IRTSEventHandler engineEventHandler)
设置引擎事件回调的接收类。
传入参数
参数名 | 类型 | 说明 |
---|---|---|
engineEventHandler | IRTSEventHandler | 事件处理器回调类,详见 IRTSEventHandler。 |
注意
public abstract int com.ss.bytertc.rts.engine.RTS.login( String token, String uid)
登录 RTS 服务器。
必须先登录,才能收发消息。
在调用本接口登录后,如果想要登出,需要调用 logout。
传入参数
参数名 | 类型 | 说明 |
---|---|---|
token | String | 用户登录必须携带的 Token,用于鉴权验证。 测试时可使用控制台生成临时 Token, roomId 填任意值。正式上线需要使用密钥 SDK 在你的服务端生成并下发 Token, roomId 置为空字符串(即 roomId:"" ),Token 有效期及生成方式参看使用 Token 完成鉴权。 |
uid | String | 用户 ID,在 appid 的维度下需唯一。 |
返回值
0
:成功-1
:失败。无效参数-2
:无效调用。用户已经登录。成功登录后再次调用本接口将收到此返回值-3
:失败。Engine 为空。调用 createRTS 创建引擎实例后再调用本接口。注意
本地用户调用此方法登录成功后,会收到 onLoginResult 回调通登录结果。
public abstract int com.ss.bytertc.rts.engine.RTS.logout()
登出 RTS 服务器。
调用本接口登出后,无法再调用消息相关的方法或收到相关回调。
返回值
注意
本地用户调用此方法登出后,会收到 onLogout 回调通知结果,远端用户不会收到通知。
public abstract int com.ss.bytertc.rts.engine.RTS.updateLoginToken( String token)
更新用户用于登录的 Token。
Token 有一定的有效期,当 Token 过期时,需调用此方法更新登录的 Token 信息。
调用 login 方法登录时,如果使用了过期的 Token 将导致登录失败,并会收到 onLoginResult 回调通知,错误码为 LOGIN_ERROR_CODE_INVALID_TOKEN
。此时需要重新获取 Token,并调用此方法更新 Token。
传入参数
参数名 | 类型 | 说明 |
---|---|---|
token | String | 更新的动态密钥 |
返回值
注意
public abstract int com.ss.bytertc.rts.engine.RTS.setServerParams( String signature, String url)
设置应用服务器参数。
客户端调用 sendServerMessage 或 sendServerBinaryMessage 发送消息给应用服务器之前,必须需要设置有效签名和应用服务器地址。
传入参数
参数名 | 类型 | 说明 |
---|---|---|
signature | String | 动态签名。 应用服务器会使用该签名对请求进行鉴权验证。 |
url | String | 应用服务器的地址。 |
返回值
注意
public abstract int com.ss.bytertc.rts.engine.RTS.getPeerOnlineStatus( String peer_user_id)
查询本地/远端用户的登录状态。
在发送消息之前,你可以通过本接口了解对端用户是否登录,从而决定是否发送消息。也可以通过本接口查询自己查看自己的登录状态。
传入参数
参数名 | 类型 | 说明 |
---|---|---|
peer_user_id | String | 需要查询的用户 ID |
返回值
注意
public abstract long com.ss.bytertc.rts.engine.RTS.sendMessage( String uid, String message, MessageConfig config)
给指定的用户发送点对点文本消息(p2p)。
传入参数
参数名 | 类型 | 说明 |
---|---|---|
uid | String | 消息接收用户的 ID。 |
message | String | 发送的文本消息内容,消息不超过 64KB。 |
config | MessageConfig | 消息类型,参看 MessageConfig。 |
返回值
注意
public abstract long com.ss.bytertc.rts.engine.RTS.sendBinaryMessage( String uid, byte[] buffer, MessageConfig config)
给指定的用户发送点对点二进制消息(P2P)。
传入参数
参数名 | 类型 | 说明 |
---|---|---|
uid | String | 消息接收用户的 ID。 |
buffer | byte[] | 发送的二进制消息内容,消息不超过 46KB。 |
config | MessageConfig | 消息类型,参看 MessageConfig。 |
返回值
注意
public abstract long com.ss.bytertc.rts.engine.RTS.sendServerMessage( String message)
客户端给应用服务器发送文本消息(P2Server)。
传入参数
参数名 | 类型 | 说明 |
---|---|---|
message | String | 发送的文本消息内容,消息不超过 64KB。 |
返回值
注意
public abstract long com.ss.bytertc.rts.engine.RTS.sendServerBinaryMessage( byte[] buffer)
客户端给应用服务器发送二进制消息(P2Server)。
传入参数
参数名 | 类型 | 说明 |
---|---|---|
buffer | byte[] | 发送的二进制消息内容,消息不超过 46KB。 |
返回值
注意
public abstract RTSRoom com.ss.bytertc.rts.engine.RTS.createRoom( String roomId)
创建房间实例。
调用此方法仅返回一个房间实例,你仍需调用 joinRoom 才能真正地创建/加入房间。
多次调用此方法以创建多个 RTSRoom 实例。分别调用各 RTSRoom 实例中的 joinRoom 方法,同时加入多个房间。
传入参数
参数名 | 类型 | 说明 |
---|---|---|
roomId | String | 标识通话房间的房间 ID。该字符串符合正则表达式:[a-zA-Z0-9_@\-\.]{1,128} 。 |
返回值
创建的 RTSRoom 房间实例。
注意
public abstract int com.ss.bytertc.rts.engine.RTS.setBusinessId( String businessId)
设置业务标识参数。
可通过 businessId 区分不同的业务场景。businessId 由客户自定义,相当于一个“标签”,可以分担和细化现在 AppId 的逻辑划分的功能,但不需要鉴权。
传入参数
参数名 | 类型 | 说明 |
---|---|---|
businessId | String | 业务标识。businessId 只是一个标签,颗粒度需要自定义。 |
返回值
注意
该方法需要在调用 joinRoom 之前调用。
public abstract int com.ss.bytertc.rts.engine.RTS.setRuntimeParameters( JSONObject params)
设置运行时的参数
传入参数
参数名 | 类型 | 说明 |
---|---|---|
params | JSONObject | json 序列化之后的字符串 |
返回值
public abstract int com.ss.bytertc.rts.engine.RTS.setCellularEnhancement( boolean enhance)
启用蜂窝网络辅助增强,改善通话质量。
传入参数
参数名 | 类型 | 说明 |
---|---|---|
enhance | boolean | 是否开启。默认不开启。 |
返回值
方法调用结果:
public abstract int com.ss.bytertc.rts.engine.RTS.setLocalProxy( List<LocalProxyConfiguration> configurations)
设置本地代理。
传入参数
参数名 | 类型 | 说明 |
---|---|---|
configurations | List | 本地代理配置参数。参看 LocalProxyConfiguration。 你可以根据自己的需要选择同时设置 Http 隧道 和 Socks5 两类代理,或者单独设置其中一类代理。如果你同时设置了 Http 隧道 和 Socks5 两类代理,此时,媒体和信令采用 Socks5 代理, Http 请求采用 Http 隧道代理;如果只设置 Http 隧道 或 Socks5 一类代理,媒体、信令和 Http 请求均采用已设置的代理。 调用此接口设置本地代理后,若想清空当前已有的代理设置,可再次调用此接口,选择不设置任何代理即可清空。 |
注意
public abstract class com.ss.bytertc.rts.engine.RTSRoom
RTS room API class
返回 | 名称 |
---|---|
abstract void | destroy |
abstract int | joinRoom |
abstract int | setRTSRoomEventHandler |
abstract int | leaveRoom |
abstract long | sendRoomMessage |
abstract long | sendRoomBinaryMessage |
public abstract void com.ss.bytertc.rts.engine.RTSRoom.destroy()
退出并销毁调用 createRoom 所创建的房间实例。
public abstract int com.ss.bytertc.rts.engine.RTSRoom.joinRoom()
加入房间。
调用 createRoom 创建房间后,可调用该方法进房,在房间内收发广播消息。
返回值
方法调用结果:
注意
public abstract int com.ss.bytertc.rts.engine.RTSRoom.setRTSRoomEventHandler( IRTSRoomEventHandler rtsRoomEventHandler)
通过设置房间事件 handler,监听此对象对应的回调事件。
传入参数
参数名 | 类型 | 说明 |
---|---|---|
rtsRoomEventHandler | IRTSRoomEventHandler | 参看 IRTSRoomEventHandler。 |
返回值
public abstract int com.ss.bytertc.rts.engine.RTSRoom.leaveRoom()
离开房间。
用户调用此方法离开房间,结束实时消息通信,释放所有通信相关的资源。
此方法是异步操作,调用返回时并没有真正退出房间。真正退出房间后,本地会收到 onLeaveRoom 回调通知。
返回值
注意
如果调用此方法后立即销毁引擎,SDK 将无法触发 onLeaveRoom 回调。
public abstract long com.ss.bytertc.rts.engine.RTSRoom.sendRoomMessage( String messageStr)
给房间内的所有其他用户群发文本消息。
传入参数
参数名 | 类型 | 说明 |
---|---|---|
messageStr | String | 发送的文本消息内容,消息不超过 64KB。 |
注意
public abstract long com.ss.bytertc.rts.engine.RTSRoom.sendRoomBinaryMessage( byte[] buffer)
给房间内的所有其他用户群发二进制消息。
传入参数
参数名 | 类型 | 说明 |
---|---|---|
buffer | byte[] | 发送的二进制消息内容,消息不超过 46KB。 |
注意