RTS
public abstract class com.ss.bytertc.rts.engine.RTS
java

RTS engine API class

静态函数
返回名称
static synchronized RTScreateRTS
static synchronized voiddestroyRTS
static StringgetSdkVersion
static intsetLogConfig
成员函数
返回名称
abstract voidsetRtsEventHandler
abstract intlogin
abstract intlogout
abstract intupdateLoginToken
abstract intsetServerParams
abstract intgetPeerOnlineStatus
abstract longsendMessage
abstract longsendBinaryMessage
abstract longsendServerMessage
abstract longsendServerBinaryMessage
abstract RTSRoomcreateRoom
abstract intsetBusinessId
abstract intsetRuntimeParameters
abstract intsetCellularEnhancement
abstract intsetLocalProxy
函数说明

createRTS
public static synchronized RTS com.ss.bytertc.rts.engine.RTS.createRTS(
    Context context,
    String appId,
    IRTSEventHandler handler,
    JSONObject parameters)
java

创建引擎对象。

如果当前进程中未创建引擎实例,那么你必须先使用此方法,以使用 RTS 提供的各种消息能力。

如果当前进程中已创建了引擎实例,再次调用此方法时,会创建另一个独立的引擎实例。

传入参数

参数名类型说明
contextContextAndroid 应用 Context
appIdString每个应用的唯一标识符,由控制台随机生成的。不同的 AppId 生成的实例完全独立,无法互通。
handlerIRTSEventHandlerSDK 回调给应用层的 Handler,详见 IRTSEventHandler。你应注意保持 handler 的生命周期必须大于引擎的生命周期,即 handler 必须在调用 destroyRTS 之后销毁。
parametersJSONObject用以覆盖默认参数的本引擎实例参数。JSON 字符串格式。

返回值

destroyRTS
public static synchronized void com.ss.bytertc.rts.engine.RTS.destroyRTS()
java

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

注意

getSdkVersion
public static String com.ss.bytertc.rts.engine.RTS.getSdkVersion()
java

获取 SDK 当前的版本号。

返回值
SDK 当前的版本号。

setLogConfig
public static int com.ss.bytertc.rts.engine.RTS.setLogConfig(
    RTCLogConfig logConfig)
java

配置 SDK 本地日志参数,包括日志级别、存储路径、可使用的最大缓存空间。

传入参数

参数名类型说明
logConfigRTCLogConfig本地日志参数,参看 RTCLogConfig。

返回值

注意
本方法必须在调用 createRTS 之前调用。

setRtsEventHandler
public abstract void com.ss.bytertc.rts.engine.RTS.setRtsEventHandler(
    IRTSEventHandler engineEventHandler)
java

设置引擎事件回调的接收类。

传入参数

参数名类型说明
engineEventHandlerIRTSEventHandler事件处理器回调类,详见 IRTSEventHandler。

注意

login
public abstract int com.ss.bytertc.rts.engine.RTS.login(
    String token,
    String uid)
java

登录 RTS 服务器。

必须先登录,才能收发消息。

在调用本接口登录后,如果想要登出,需要调用 logout。

传入参数

参数名类型说明
tokenString用户登录必须携带的 Token,用于鉴权验证。
测试时可使用控制台生成临时 Token,roomId 填任意值。
正式上线需要使用密钥 SDK 在你的服务端生成并下发 Token,roomId 置空,Token 有效期及生成方式参看使用 Token 完成鉴权。
uidString用户 ID,在 appid 的维度下需唯一。

返回值

注意
本地用户调用此方法登录成功后,会收到 onLoginResult 回调通登录结果。

logout
public abstract int com.ss.bytertc.rts.engine.RTS.logout()
java

登出 RTS 服务器。

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

返回值

注意
本地用户调用此方法登出后,会收到 onLogout 回调通知结果,远端用户不会收到通知。

updateLoginToken
public abstract int com.ss.bytertc.rts.engine.RTS.updateLoginToken(
    String token)
java

更新用户用于登录的 Token。

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

调用 login 方法登录时,如果使用了过期的 Token 将导致登录失败,并会收到 onLoginResult 回调通知,错误码为 LOGIN_ERROR_CODE_INVALID_TOKEN。此时需要重新获取 Token,并调用此方法更新 Token。

传入参数

参数名类型说明
tokenString更新的动态密钥

返回值

注意

setServerParams
public abstract int com.ss.bytertc.rts.engine.RTS.setServerParams(
    String signature,
    String url)
java

设置应用服务器参数。

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

传入参数

参数名类型说明
signatureString动态签名。
应用服务器会使用该签名对请求进行鉴权验证。
urlString应用服务器的地址。

返回值

注意

getPeerOnlineStatus
public abstract int com.ss.bytertc.rts.engine.RTS.getPeerOnlineStatus(
    String peer_user_id)
java

查询本地/远端用户的登录状态。

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

传入参数

参数名类型说明
peer_user_idString需要查询的用户 ID

返回值

注意

sendMessage
public abstract long com.ss.bytertc.rts.engine.RTS.sendMessage(
    String uid,
    String message,
    MessageConfig config)
java

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

传入参数

参数名类型说明
uidString消息接收用户的 ID。
messageString发送的文本消息内容,消息不超过 64KB。
configMessageConfig消息类型,参看 MessageConfig。

返回值

注意

sendBinaryMessage
public abstract long com.ss.bytertc.rts.engine.RTS.sendBinaryMessage(
    String uid,
    byte[] buffer,
    MessageConfig config)
java

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

传入参数

参数名类型说明
uidString消息接收用户的 ID。
bufferbyte[]发送的二进制消息内容,消息不超过 46KB。
configMessageConfig消息类型,参看 MessageConfig。

返回值

注意

sendServerMessage
public abstract long com.ss.bytertc.rts.engine.RTS.sendServerMessage(
    String message)
java

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

传入参数

参数名类型说明
messageString发送的文本消息内容,消息不超过 64KB。

返回值

注意

sendServerBinaryMessage
public abstract long com.ss.bytertc.rts.engine.RTS.sendServerBinaryMessage(
    byte[] buffer)
java

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

传入参数

参数名类型说明
bufferbyte[]发送的二进制消息内容,消息不超过 46KB。

返回值

注意

createRoom
public abstract RTSRoom com.ss.bytertc.rts.engine.RTS.createRoom(
    String roomId)
java

创建房间实例。

调用此方法仅返回一个房间实例,你仍需调用 joinRoom 才能真正地创建/加入房间。

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

传入参数

参数名类型说明
roomIdString标识通话房间的房间 ID。该字符串符合正则表达式:[a-zA-Z0-9_@\-\.]{1,128}。

返回值
创建的 RTSRoom 房间实例。

注意

setBusinessId
public abstract int com.ss.bytertc.rts.engine.RTS.setBusinessId(
    String businessId)
java

设置业务标识参数。

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

传入参数

参数名类型说明
businessIdString业务标识。businessId 只是一个标签,颗粒度需要自定义。

返回值

注意
该方法需要在调用 joinRoom 之前调用。

setRuntimeParameters
public abstract int com.ss.bytertc.rts.engine.RTS.setRuntimeParameters(
    JSONObject params)
java

设置运行时的参数

传入参数

参数名类型说明
paramsJSONObjectjson 序列化之后的字符串

返回值

setCellularEnhancement
public abstract int com.ss.bytertc.rts.engine.RTS.setCellularEnhancement(
    boolean enhance)
java

启用蜂窝网络辅助增强,改善通话质量。

传入参数

参数名类型说明
enhanceboolean是否开启。默认不开启。

返回值
方法调用结果:

setLocalProxy
public abstract int com.ss.bytertc.rts.engine.RTS.setLocalProxy(
    List<LocalProxyConfiguration> configurations)
java

设置本地代理。

传入参数

参数名类型说明
configurationsList本地代理配置参数。参看 LocalProxyConfiguration。
你可以根据自己的需要选择同时设置 Http 隧道 和 Socks5 两类代理,或者单独设置其中一类代理。如果你同时设置了 Http 隧道 和 Socks5 两类代理,此时,媒体和信令采用 Socks5 代理, Http 请求采用 Http 隧道代理;如果只设置 Http 隧道 或 Socks5 一类代理,媒体、信令和 Http 请求均采用已设置的代理。
调用此接口设置本地代理后,若想清空当前已有的代理设置,可再次调用此接口,选择不设置任何代理即可清空。

注意

RTSRoom
public abstract class com.ss.bytertc.rts.engine.RTSRoom
java

RTS room API class

成员函数
返回名称
abstract voiddestroy
abstract intjoinRoom
abstract intsetRTSRoomEventHandler
abstract intleaveRoom
abstract longsendRoomMessage
abstract longsendRoomBinaryMessage
函数说明

destroy
public abstract void com.ss.bytertc.rts.engine.RTSRoom.destroy()
java

退出并销毁调用 createRoom 所创建的房间实例。

joinRoom
public abstract int com.ss.bytertc.rts.engine.RTSRoom.joinRoom()
java

加入房间。

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

返回值
方法调用结果:

注意

setRTSRoomEventHandler
public abstract int com.ss.bytertc.rts.engine.RTSRoom.setRTSRoomEventHandler(
    IRTSRoomEventHandler rtsRoomEventHandler)
java

通过设置房间事件 handler,监听此对象对应的回调事件。

传入参数

参数名类型说明
rtsRoomEventHandlerIRTSRoomEventHandler参看 IRTSRoomEventHandler。

返回值

leaveRoom
public abstract int com.ss.bytertc.rts.engine.RTSRoom.leaveRoom()
java

离开房间。

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

此方法是异步操作,调用返回时并没有真正退出房间。真正退出房间后,本地会收到 onLeaveRoom 回调通知。

返回值

注意
如果调用此方法后立即销毁引擎,SDK 将无法触发 onLeaveRoom 回调。

sendRoomMessage
public abstract long com.ss.bytertc.rts.engine.RTSRoom.sendRoomMessage(
    String messageStr)
java

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

传入参数

参数名类型说明
messageStrString发送的文本消息内容,消息不超过 64KB。

注意

sendRoomBinaryMessage
public abstract long com.ss.bytertc.rts.engine.RTSRoom.sendRoomBinaryMessage(
    byte[] buffer)
java

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

传入参数

参数名类型说明
bufferbyte[]发送的二进制消息内容,消息不超过 46KB。

注意