@interface RTS : NSObject
objectivecSDK 回调给应用层的 delegate 对象
| 返回 | 名称 |
|---|---|
| void | destroyRTS |
| NSString* | getSdkVersion |
| 返回 | 名称 |
|---|---|
| RTS* | createRTS:delegate:parameters: |
| int | setBusinessId: |
| void | setRuntimeParameters: |
| RTSRoom* | createRoom: |
| int64_t | login:uid: |
| void | logout |
| void | updateLoginToken: |
| void | setServerParams:url: |
| void | getPeerOnlineStatus: |
| int64_t | sendMessage:message:config: |
| int64_t | sendBinaryMessage:message:config: |
| int64_t | sendServerMessage: |
| int64_t | sendServerBinaryMessage: |
+ (void)destroyRTS;
objectivec销毁引擎实例对象。
注意
+ (NSString * _Nonnull)getSdkVersion;
objectivec获取 SDK 当前的版本号。
返回值
SDK 当前的版本号。
+ (RTS * _Nullable)createRTS:(NSString * _Nonnull)appId delegate:(id<RTSDelegate> _Nullable)delegate parameters:(NSDictionary* _Nullable)parameters;
objectivec创建引擎对象
如果当前进程中未创建引擎实例,那么你必须先使用此方法,以使用 RTS 提供的各种消息能力。
如果当前进程中已创建了引擎实例,再次调用此方法时,会创建另一个独立的引擎实例。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| appId | NSString* | 每个应用的唯一标识符,由控制台随机生成的。不同的 AppId 生成的实例完全独立,无法互通。 |
| delegate | id | SDK 回调给应用层的 delegate,详见 RTSDelegate |
| parameters | NSDictionary* | 用以覆盖默认参数的本引擎实例参数。JSON 字符串格式。 |
返回值
可用的 RTSDelegate 实例。
- (int)setBusinessId:(NSString* _Nullable)businessId;
objectivec设置业务标识参数
可通过 businessId 区分不同的业务场景。businessId 由客户自定义,相当于一个“标签”,可以分担和细化现在 AppId 的逻辑划分的功能,但不需要鉴权。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| businessId | NSString* | 用户设置的自己的 businessId 值。businessId 只是一个标签,颗粒度需要用户自定义。 |
返回值
注意
需要在调用 joinRoom 之前调用,joinRoom之后调用该方法无效。
- (void)setRuntimeParameters:(NSDictionary * _Nullable)parameters;
objectivec设置运行时的参数
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| parameters | NSDictionary* | 保留参数 |
- (RTSRoom * _Nullable)createRoom:(NSString * _Nonnull)roomId;
objectivec创建并获取一个 RTSRoom 对象
用户可以多次调用此方法创建多个 RTSRoom 实例,再分别调用各 RTSRoom 对象的 joinRoom 方法,实现同时加入多个房间。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomId | NSString* | 标识通话房间的房间 ID,最大长度为 128 字节的非空字符串。支持的字符集范围为: • 26 个大写字母 A ~ Z • 26 个小写字母 a ~ z • 10 个数字 0 ~ 9 • 下划线 "_", at 符 "@", 减号 "-" 多房间模式下,调用创建房间接口后,请勿调用同样的 roomID 创建房间,否则会导致创建房间失败。 |
返回值
创建的 RTSRoom 实例
- (int64_t)login:(NSString * _Nonnull)token uid:(NSString * _Nonnull)uid;
objectivec登录 RTS 服务器。
必须先登录,才能收发消息。
在调用本接口登录后,如果想要登出,需要调用 logout
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| token | NSString* | 动态密钥 用户登录必须携带的 Token,用于鉴权验证。 登录 Token 与加入房间时必须携带的 Token 不同。测试时可使用控制台生成临时 Token,正式上线需要使用密钥 SDK 在你的服务端生成并下发 Token。 |
| uid | NSString* | 用户 ID 用户 ID 在 appid 的维度下是唯一的。 |
返回值
0:成功-1:失败。无效参数-2:无效调用。用户已经登录。成功登录后再次调用本接口将收到此返回值-3:失败。Engine 为空。注意
本地用户调用此方法登录后,会收到 rtcEngine:onLoginResult:errorCode:elapsed:rtsEngine:onLoginResult:errorCode:elapsed: 回调通知登录结果。
- (void)logout;
objectivec登出 RTS 服务器。
调用本接口登出后,无法再调用消息相关的方法或收到相关回调。
注意
本地用户调用此方法登出后,会收到 rtcEngineOnLogout:rtsEngineOnLogout: 回调通知结果,远端用户不会收到通知。
- (void)updateLoginToken:(NSString * _Nonnull)token;
objectivec更新用户用于登录的 Token
Token 有一定的有效期,当 Token 过期时,需调用此方法更新登录的 Token 信息。
调用 login:uid: 方法登录时,如果使用了过期的 Token 将导致登录失败,并会收到 rtcEngine:onLoginResult:errorCode:elapsed:rtsEngine:onLoginResult:errorCode:elapsed: 回调通知,错误码为 ByteRTCLoginErrorCodeInvalidToken。此时需要重新获取 Token,并调用此方法更新 Token。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| token | NSString* | 更新的动态密钥 |
注意
- (void)setServerParams:(NSString * _Nonnull)signature url:(NSString * _Nonnull)url;
objectivec设置应用服务器参数
客户端调用 sendServerMessage: 或 sendServerBinaryMessage: 发送消息给应用服务器之前,必须需要设置有效签名和应用服务器地址。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| signature | NSString* | 动态签名 应用服务器会使用该签名对请求进行鉴权验证。 |
| url | NSString* | 应用服务器的地址 |
注意
- (void)getPeerOnlineStatus:(NSString * _Nonnull)peerUserId;
objectivec查询本地/远端用户的登录状态。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| peerUserId | NSString* | 需要查询的用户 ID |
注意
- (int64_t)sendMessage:(NSString * _Nonnull)userId message:(NSString * _Nonnull)messageStr config:(int)config;
objectivec给指定的用户发送点对点文本消息(p2p)
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| userId | NSString* | 消息接收用户的 ID |
| messageStr | NSString* | 发送的文本消息内容 消息不超过 64KB。 |
返回值
注意
- (int64_t)sendBinaryMessage:(NSString * _Nonnull)userId message:(NSData * _Nonnull)messageStr config:(int)config;
objectivec给指定的用户发送点对点二进制消息(p2p)
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| userId | NSString* | 消息接收用户的 ID |
| messageStr | NSData* | 发送的二进制消息内容 消息不超过 64KB。 |
返回值
注意
- (int64_t)sendServerMessage:(NSString * _Nonnull)messageStr;
objectivec客户端给应用服务器发送文本消息(P2Server)
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| messageStr | NSString* | 发送的文本消息内容 消息不超过 64KB。 |
返回值
注意
- (int64_t)sendServerBinaryMessage:(NSData * _Nonnull)messageStr;
objectivec客户端给应用服务器发送二进制消息(P2Server)
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| messageStr | NSData* | 发送的二进制消息内容 消息不超过 64KB。 |
返回值
注意
@interface RTSRoom : NSObject
objectivec| 返回 | 名称 |
|---|---|
| void | destroy |
| void | setRTSRoomDelegate: |
| int | joinRoom |
| int | leaveRoom |
| int64_t | sendRoomMessage: |
| int64_t | sendRoomBinaryMessage: |
- (void)destroy;
objectivec销毁房间
注意
退出并销毁调用 createRoom: 所创建的房间。
- (void)setRTSRoomDelegate:(id<RTSRoomDelegate> _Nullable)roomDelegate;
objectivec通过设置 RTSRoomDelegate 代理,可以监听此 RTSRoom 对象对应的回调事件。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomDelegate | id | 参见 RTSRoomDelegate。 |
- (int)joinRoom;
objectivec加入房间。
调用 createRoom: 创建房间后,可调用该方法进房,在房间内收发广播消息。
返回值
方法调用结果。
注意
- (int)leaveRoom;
objectivec离开房间。
用户调用此方法离开房间,结束实时消息通信,释放所有通信相关的资源。
返回值
方法调用结果。
注意
- (int64_t)sendRoomMessage:(NSString * _Nonnull)message;
objectivec给房间内的所有其他用户发送文本消息。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| message | NSString* | 发送的文本消息内容。 消息不超过 64KB。 |
返回值
这次发送消息的编号,从 1 开始递增。
注意
- (int64_t)sendRoomBinaryMessage:(NSData * _Nonnull)message;
objectivec给房间内的所有其他用户发送二进制消息。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| message | NSData* | 用户发送的二进制广播消息 消息不超过 64KB。 |
返回值
这次发送消息的编号,从 1 开始递增。
注意