账号集成与登录

更新时间: 2023/08/30 07:02:46

您需要先登录 NERoom,才能进行创建房间、进入房间、发消息、共享白板等操作。

功能原理

NERoom登录鉴权.png

  1. App 客户端向 App Server(App自己的服务器)请求 Token。
  2. App Server 通过网易云信 NERoom Server 提供的创建账号接口,获取 Token。
  3. 网易云信 NERoom Server 返回 Token 给 App Server。
  4. App Server 将 Token 返回给 App 客户端,App 客户端负责保存 Token。
  5. App 客户端向 NERoom SDK 请求登录 NERoom,传入 userUuid 和 Token。
  6. NERoom SDK 向 NERoom Server 请求校验该 Token 是否正确。
  7. NERoom Server 校验 Token 成功,返回成功的回调给 NERoom SDK。
  8. NERoom SDK 返回成功的回调给 App。

账号登录

配置步骤

  1. 初始化 NERoom SDK。具体方法请参见初始化 SDK
  2. 通过 NEAuthService 实例中的login接口进行账号登录。

示例代码

实现账号登录的示例代码如下:

        NEAuthService authService = NERoomKit.getInstance().getService(NEAuthService.class);
        String account="your account";
        String token="your token";
        authService.login(account,token, new NECallback2<Unit>() {
            @Override
            public void onSuccess(@Nullable Unit unit) {
                super.onSuccess(unit);
            }

            @Override
            public void onError(int code, @Nullable String message) {
                super.onError(code, message);
            }
        });

监听登录状态

配置步骤

  1. 初始化 RoomKit SDK。
  2. 调用 addAuthListener 接口进行监听登录状态。

示例代码

实现监听登录状态的示例代码如下:

       NEAuthService authService = NERoomKit.getInstance().getService(NEAuthService.class);
        authService.addAuthListener(new NEAuthListener() {
            @Override
            public void onAuthEvent(@NonNull NEAuthEvent evt) {
                if (evt==NEAuthEvent.LOGGED_IN){
                    Log.d(TAG,"login success");
                }
            }
        });

查询登录状态

配置步骤

调用isLoggedIn接口查询登录状态。

- ture:表示登录成功。
- false:表示未登录。

示例代码

实现查询登录状态的示例代码如下:

        NEAuthService authService = NERoomKit.getInstance().getService(NEAuthService.class);
          boolean isLoggedIn = authService.isLoggedIn();
          Log.d(TAG,"login state:"+isLoggedIn);

退出登录

配置步骤

用户离开房间时,需要调用 logout 接口退出登录。

退出房间后,用户将不再接收房间内的任何消息。如果没有调用logout接口退出登录,会导致用户离开房间,但还能收到 NERoom 房间的消息。

示例代码

实现退出登录的示例代码如下:

        NEAuthService authService = NERoomKit.getInstance().getService(NEAuthService.class);
        authService.logout(new NECallback2<Unit>() {
            @Override
            public void onSuccess(@Nullable Unit unit) {
                super.onSuccess(unit);
                Log.d(TAG,"success");
            }

            @Override
            public void onError(int code, @Nullable String message) {
                super.onError(code, message);
                Log.d(TAG,"error");
            }
        });

API 参考

方法 功能描述
login 账号登录。
logout 退出登录。
addAuthListener 添加登录状态监听。
removeAuthListener 移除登录状态监听。
isLoggedIn 查询登录状态。
此文档是否对你有帮助?
有帮助
去反馈
  • 功能原理
  • 账号登录
  • 配置步骤
  • 示例代码
  • 监听登录状态
  • 配置步骤
  • 示例代码
  • 查询登录状态
  • 配置步骤
  • 示例代码
  • 退出登录
  • 配置步骤
  • 示例代码
  • API 参考