更新时间:2023-03-23 GMT+08:00

场景3: App ID方式登录

描述

在使用云会议服务之前,如果申请了App ID,可使用App ID的方式进行登录,不需要帐号和密码

在未登录状态下,只能加入已经创建的会议。

业务流程

  1. 接口调用

    1. 创建登录参数AppIdAuthParam。
      1. 设置第三方帐号的唯一标识。
      2. 设置随机字符串。
      3. 设置签名信息。
      4. 设置该用户所在的企业ID,仅SP模式下需要填写
      5. 设置签名过期时间。
      6. 设置登录帐号的昵称。
      7. 设置登录帐号的邮箱。
      8. 设置登录帐号的手机号码。
    2. 调用loginByAppid接口进行登录,第1步中的数据作为参数,会议服务器会根据相关参数,如果没有开户则执行开户。

  2. 处理回调

    处理回调中的结果。

示例代码

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
//构建登录对象
AppIdAuthParam appIdAuthParam = new AppIdAuthParam();
//设置签名过期时间,单位为秒的Unix时间戳,为0则不会过期
appIdAuthParam.setExpireTime(1599618620);
//设置随机字符串,长度为32-64位
appIdAuthParam.setNonce("hYLOWv69MIikVussTOucZOyWEMM1reDi");
//设置该用户所在的企业ID,仅SP登录场景下需要
appIdAuthParam.setCorpId(123);
//设置第三方帐号的id,长度为1到64位
appIdAuthParam.setUserId("huawei123456");
//设置签名信息
appIdAuthParam.setSignature("198c3046dbdafa9d89ce917c5613c29fda855da2aa79f8f51f2871e88fdba91c");
//设置用户昵称
appIdAuthParam.setUserName("huawei123455");
//注意邮箱需要符合邮箱格式要求
appIdAuthParam.setUserEmail("huawei123456@huawei.com");
//注意手机号码必须符合手机格式,比如(^$|^[+]?[0-9]+$)
appIdAuthParam.setUserPhone("15900000000");
//开始登录
HWMSdk.getOpenApi(getActivity().getApplication()).loginByAppId(appIdAuthParam, new HwmCallback<LoginResult>() {
            @Override
            public void onSuccess(LoginResult loginResult) {
                dismissLoading();
                dismiss();
                if (loginResult != null) {
                    DemoUtil.showToast("登录成功" + loginResult.getUserUuid());
                }else{
                    DemoUtil.showToast("已登录");
                }
            }

            @Override
            public void onFailed(int retCode, String desc) {
                HwmContext.getInstance().runOnMainThread(() ->{
                    dismissLoading();
                    Error error = HWMBizSdk.getLoginApi().convertErrorCodeToUI(retCode);
                    DemoUtil.showToast("登录错误:" + getLoginErrTips(error));
                    dismiss();
                });
            }
        });

注意事项

必须在HWMSdk.init调用成功后才可以调用该方法登录。