文档

建立长连接

更新时间:

本文介绍客户端SDK的建立长连接步骤。

说明

  • 建连接口必需要在初始化成功之后调用。

  • 建连需要传递userId,该参数是SDK中用户的唯一标识。

API使用示例

iOS端接口使用示例

//在做完上一步的初始化后,就可以开始建立长链接了,如下
NSString* userID = @"xxxx"; //用户ID只支持英文字母或者阿拉伯数字或者二者的组合
[[AIRBRoomEngine sharedInstance] loginWithUserID:userID];

//login过程中需要外部传入相关token,需要通过实现以下delegate来传入token
- (void) onAIRBRoomEngineRequestToken:(void (^)(AIRBRoomEngineAuthToken * _Nonnull))onTokenGotten {
 // 从外部获取好了token,构造AIRBRoomEngineAuthToken对象,通过onTokenGotten回传给AIRBRoomEngine
  AIRBRoomEngineAuthToken* token = [[AIRBRoomEngineAuthToken alloc] init];
  token.accessToken = @"xxxx";
  token.refreshToken = @"xxxx";
  onTokenGotten(token);
}

//login成功,需要通过监听AIRBRoomEngineEventEngineLogined事件
- (void) onAIRBRoomEngineEvent:(AIRBRoomEngineEvent)event info:(NSDictionary *)info {
    switch (event) {
        case AIRBRoomEngineEventEngineLogined:
            break;
            
        default:
            break;
    }
}

//login失败,需要通过监听AIRBEngineFailedToLogin事件来获取具体情况
- (void) onAIRBRoomEngineErrorWithCode:(AIRBErrorCode)code errorMessage:(NSString *)msg {
    switch (code) {
        case AIRBEngineFailedToLogin:
            NSLog(@"登录失败,%@", msg);
            break;
        default:
            break;
    }
}

Android端接口使用示例

RoomEngine.getInstance().auth(userId, new Callback<Void>() {
    @Override
    public void onSuccess(Void data) {
        // 建连成功, 然后执行后续的进房间等操作
        Logger.i(TAG, "auth success");
    }
    @Override
    public void onError(String errorMsg) {
        // 建连失败
        Logger.i(TAG, "auth fail: " + errorMsg);
    }
});

Web端接口使用示例

// uid即用户ID,标识用户身份,返回promise代表auth结果
// 需要在.then里进行或者使用await后进行房间操作,如进入房间等
RoomEngine.getInstance().auth(uid).then(() => {
  // 在这里获取RoomChannel实例进行房间操作
});

// 或者使用await
await RoomEngine.getInstance().auth(uid);
// 在这里获取RoomChannel实例进行房间操作

Windows端接口使用示例

auto meta_space = alibaba::meta_space::MetaSpace::GetInstance();
if (meta_space) {
  alibaba::meta_space::TokenInfo token_info;

  //1. 获取token 自行依据业务场景实现
  GetLoginToken(token_info);

  //2. 登录
  std::string uid;


  meta_space->Login(
uid, token_info,
 []() {
}, [](const alibaba::dps::DPSError& error_msg) {
});

}
  • 本页导读 (1)