• 沒有找到結果。

终端Scheme应用集成概述_会议_终端Scheme应用集成_华为云

N/A
N/A
Protected

Academic year: 2022

Share "终端Scheme应用集成概述_会议_终端Scheme应用集成_华为云"

Copied!
33
0
0

加載中.... (立即查看全文)

全文

(1)

23 终端 Scheme 应用集成

23 终端 Scheme 应用集成

文档版本 01

发布日期 2022-01-14

(2)

版权所有 © 华为技术有限公司 2022。 保留一切权利。

非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传 播。

商标声明

和其他华为商标均为华为技术有限公司的商标。

本文档提及的其他所有商标或注册商标,由各自的所有人拥有。

注意

您购买的产品、服务或特性等应受华为公司商业合同和条款的约束,本文档中描述的全部或部分产品、服务或 特性可能不在您的购买或使用范围之内。除非合同另有约定,华为公司对本文档内容不做任何明示或暗示的声 明或保证。

由于产品版本升级或其他原因,本文档内容会不定期进行更新。除非另有约定,本文档仅作为使用指导,本文 档中的所有陈述、信息和建议不构成任何明示或暗示的担保。

华为技术有限公司

地址: 深圳市龙岗区坂田华为总部办公楼 邮编:518129

网址:

https://www.huawei.com

客户服务邮箱:

[email protected]

客户服务电话: 4008302118

(3)

目 录

1 终端 Scheme 应用集成概述... 1

2 Android 应用集成... 2

2.1 概述... 2

2.2 修订记录...2

2.3 业务开发...2

2.3.1 启动 App... 2

2.3.2 链接入会... 3

2.3.3 登录并入会... 4

2.4 Scheme 参考... 5

2.4.1 启动 App... 5

2.4.2 链接入会... 6

2.4.3 登录并入会... 7

3 iOS 应用集成... 8

3.1 概述... 8

3.2 修订记录...8

3.3 业务开发...8

3.3.1 启动 App... 9

3.3.2 链接入会... 10

3.3.3 登录并入会... 11

3.4 Scheme 参考... 12

3.4.1 拉起应用... 12

3.4.2 链接入会... 12

3.4.3 登录并入会... 13

4 Windows 应用集成... 15

4.1 概述... 15

4.2 修订记录... 15

4.3 业务开发... 15

4.3.1 拉起应用... 16

4.3.2 拉起应用并登录...16

4.3.3 链接入会... 17

4.3.4 登录并入会... 18

4.4 Scheme 参考... 19

23 终端 Scheme 应用集成 目 录

(4)

4.4.1 拉起应用... 19

4.4.2 拉起应用并登录...19

4.4.3 链接入会... 20

4.4.4 登录并入会... 21

5 Mac 应用集成...22

5.1 概述... 22

5.2 修订记录... 22

5.3 业务开发... 22

5.3.1 拉起 App...22

5.3.2 链接入会... 23

5.3.3 登录并入会... 24

5.4 Scheme 参考... 25

5.4.1 拉起应用... 25

5.4.2 链接入会... 26

5.4.3 登录并入会... 26

6 常见问题...28

6.1 登录并入会场景,nonce 如何获取?... 28

23 终端 Scheme 应用集成 目 录

(5)

1 终端 Scheme 应用集成概述

在已经安装华为云会议App的前提下,第三方Web应用或者第三方App,按照华为云会 议App定义的URL Protocol,可以:

● 启动华为云会议App后进入待登录界面

● 启动华为云会议App并完成登录后进入主界面(仅Windows版本华为云会议App 支持)

● 以华为云会议App当前登录的帐号(或者匿名)加入会议

● 启动华为云会议App完成登录后加入会议

1-1 Web 应用上拉起 Windows 版华为云会议 App 并加入会议

23 终端 Scheme 应用集成 1 终端 Scheme 应用集成概述

(6)

2 Android 应用集成

2.1 概述 2.2 修订记录 2.3 业务开发 2.4 Scheme参考

2.1 概述

Scheme应用集成的方式指第三方App不需要集成华为云会议SDK,而是通过拉起华为 云会议App的方式,集成华为的音视频会议能力。

2.2 修订记录

2-1 修订记录

日期 版本 变更内容

2021-07-1

3 1.0.1 新增登录后链接入会功能

2019-04-3

0 1.0.0 首次发布。

2.3 业务开发

2.3.1 启动 App

描述

23 终端 Scheme 应用集成 2 Android 应用集成

(7)

业务流程

1. 构建scheme。

2. 执行scheme。

代码示例

//拉起应用

if (packageInstalled("com.huawei.CloudLink")){

String startUrl = "cloudlink://welinksoftclient/h5page?page=launch";

Intent intent = new Intent();

intent.setData(Uri.parse(url));

startActivity(intent);

}else {

Toast.makeText(this,"应用未安装",Toast.LENGTH_LONG).show();

}

2.3.2 链接入会

描述

通过此方式可以拉起用户设备上已经安装的华为云会议App并根据链接中传入的参数 执行入会。

业务流程

23 终端 Scheme 应用集成 2 Android 应用集成

(8)

说明

华为云会议应用未登录场景下,调用该链接会弹出主界面并且匿名入会;已登录场景下,调用该 链接会弹出主界面并以当前登录的帐号入会。

代码示例

Uri.Builder builder = new Uri.Builder() .scheme("cloudlink")

.authority("welinksoftclient") .path("h5page")

.appendQueryParameter("page","joinConfByLink") .appendQueryParameter("server_url",serverAddress) .appendQueryParameter("port",portString) .appendQueryParameter("conf_id",confId) .appendQueryParameter("enter_code",enterCode) .appendQueryParameter("name",name)

.appendQueryParameter("open_mic",String.valueOf(openMic)) .appendQueryParameter("open_camera",String.valueOf(openCamera));

Intent intent = new Intent();

intent.setData(Uri.parse(url));

startActivity(intent);

2.3.3 登录并入会

描述

通过此方式可以拉起用户设备上已经安装的华为云会议App并根据链接中传入的参数 执行登录操作并入会,在会中主持人可以邀请其他与会人。

说明

1.华为云会议应用未登录场景下,调用该链接会弹出主界面并且以链接中登录身份标识进入会 议;会议结束后,返回到登录界面。

2.华为云会议应用已登录场景下,调用该链接会弹出主界面并以当前登录的帐号入会;会议结束 后,返回到之前已登录界面。

23 终端 Scheme 应用集成 2 Android 应用集成

(9)

业务流程

步骤1 执行App ID鉴权,参考《API参考》中的“执行App ID鉴权”章节。

步骤2 获取Nonce,参考《API参考》中的“获取页面免登陆跳转的nonce信息”章节。

步骤3 拉起华为云会议App,并登入后加入会议,请参考如下示例代码。

----结束

代码示例

Uri.Builder builder = new Uri.Builder().scheme("cloudlink") .authority("welinksoftclient")

.path("h5page")

.appendQueryParameter("page", "LoginAndJoinConf") .appendQueryParameter("server_url", param.serverAddress) .appendQueryParameter("port", param.portString) .appendQueryParameter("conf_id", param.confId) .appendQueryParameter("enter_code", param.enterCode) .appendQueryParameter("name", param.name)

.appendQueryParameter("open_mic", String.valueOf(param.openMic)) .appendQueryParameter("open_camera", String.valueOf(param.openCamera)) .appendQueryParameter("nonce", nonce);

Intent intent = new Intent();

intent.setData(Uri.parse(url));

startActivity(intent);

2.4 Scheme 参考

2.4.1 启动 App

链接格式

cloudlink://welinksoftclient/h5page?page=launch

23 终端 Scheme 应用集成 2 Android 应用集成

(10)

参数描述

2-2 scheme 参数说明

参数 是否必须 类型 描述

page 是 字符串 用于定义scheme功能,取值为launch。

2.4.2 链接入会

链接格式

cloudlink://welinksoftclient/h5page?

page=joinConfByLink&server_url=meeting.huaweicloud.com&port=8443&conf_id=12345&enter_code=12345

&name=Jerry&open_mic=true&open_camera=false

参数描述

参数 是否必须 类型 描述

page 是 String 用于定义scheme功能

,取值为joinConfByLink。

server_url 否 String 服务器地址,为空使用华为云会议默认 服务器地址。

● 中国站:meeting.huaweicloud.com

● 国际站:

intl.meeting.huaweicloud.com

port 否 String 服务器端口,为空使用华为云会议默认

端口 conf_id 是 String 会议ID enter_code 否 String 会议密码

name 是 String 会议中的显示名称,匿名入会下生效

open_mic 否 String 是否开启麦克风,不填默认关闭 open_camera 否 String 是否开启摄像头,不填默认关闭

说明

若希望以主席身份入会,enter_code必须传入主席密码。若希望以来宾身份入会,当会议要求来 宾密码时,enter_code必须传入来宾密码,会议不要求来宾密码时,可以不用传。

23 终端 Scheme 应用集成 2 Android 应用集成

(11)

2.4.3 登录并入会

链接格式

cloudlink://welinksoftclient/h5page?

page=LoginAndJoinConf&server_url=meeting.huaweicloud.com&port=8443&conf_id=12345&enter_code=123 45&name=Tom&open_mic=true&open_camera=false&nonce=EycLQsHwxhzK9OW8UEKWNfH2I3CGR2nINuU 1EBpQ

参数描述

参数 是否必须 类型 描述

page 是 String 用于定义scheme功能

,取值为LoginAndJoinConf。

server_url 否 String 服务器地址,为空使用华为云会议默认 服务器地址

● 中国站:meeting.huaweicloud.com

● 国际站:

intl.meeting.huaweicloud.com

port 否 String 服务器端口,为空使用华为云会议默认

端口 conf_id 是 String 会议ID enter_code 否 String 会议密码

name 是 String 会议中的显示名称

open_mic 否 String 是否开启麦克风,不填默认关闭 open_camera 否 String 是否开启摄像头,不填默认关闭 nonce 是 String 入会身份鉴权的nonce

说明

1.若希望以主席身份入会,enter_code必须传入主席密码。若希望以来宾身份入会,当会议要求 来宾密码时,enter_code必须传入来宾密码,会议不要求来宾密码时,可以不传

2.nonce获取方式说明:首先调用服务器登录鉴权API执行App ID鉴权获取到token;然后调用服 务器API获取页面免登陆跳转的nonce信息获取nonce,详见FAQ

3.nonce必须传入有效值,否则入会失败。nonce获取之后,只能使用一次

23 终端 Scheme 应用集成 2 Android 应用集成

(12)

3 iOS 应用集成

3.1 概述 3.2 修订记录 3.3 业务开发 3.4 Scheme参考

3.1 概述

华为云会议App提供了应用集成的方式,第三方应用程序可以完整集成华为云会议App 音视频会议能力。

3.2 修订记录

3-1 修订记录

日期 版本 变更内容

2021-07-1

3 2.0.0 新增登录后链接入会功能

2019-04-3

0 1.0.0 首次发布。

3.3 业务开发

在集成的应用中,需要在应用的Info.plist文件中添加以下scheme字段,将HUAWEI CLOUD Meeting应用添加到白名单,具体添加的内容为如下图选中区域所示:

LSApplicationQueriesSchemes---cloudlink

23 终端 Scheme 应用集成 3 iOS 应用集成

(13)

3.3.1 启动 App

描述

通过此链接可以拉起华为云会议App。

说明

App已启动场景下,调用链接拉起会弹出主界面。

业务流程

1. 构建scheme。

2. 执行scheme。

代码示例

//拉起应用

- (void)launchCloudLinkMeeting {

NSURL *launchUrl = [NSURL URLWithString:@"cloudlink://welinksoftclient/h5page?page=launch"];

if (@available(iOS 10.0, *)) {

[[UIApplication sharedApplication] openURL:launchUrl options:@{} completionHandler:nil];

} else {

// Fallback on earlier versions

23 终端 Scheme 应用集成 3 iOS 应用集成

(14)

[[UIApplication sharedApplication] openURL:launchUrl];

}

说明

上述代码示例仅作为逻辑示例,不能直接使用。

3.3.2 链接入会

描述

通过此链接可以拉起华为云会议App并且加入会议。

说明

App已启动未登录场景下,调用该链接会弹出主界面并且匿名入会;App已启动已登录场景下,

调用该链接会弹出主界面并以当前帐号入会。

业务流程

1. 构建scheme。

2. 执行scheme。

代码示例

- (void)joinConfWithoutLogin:(id)sender { //这里以从界面TextField上获取信息 NSString *server_url = 服务器地址;

NSString *port = 服务器端口;

NSString *confId = 会议ID;

NSString *enter_code = 会议密码;

NSString *name = 入会姓名;

NSString *open_mic = 麦克风开关 ? @"true" : @"false";

NSString *open_camera = 摄像头开关 ? @"true" : @"false";

NSString * nonceStr = 服务器接口获取的nonce;

NSString *joinConfString = [NSString stringWithFormat:@"cloudlink://welinksoftclient/h5page?

page=joinConfByLink&server_url=%@&port=%@&conf_id=%@&enter_code=%@&name=%@&open_mic=

%@&open_camera=%@&nonce=%@", server_url, port, confId, enter_code, name, open_mic, open_camera, nonce];

23 终端 Scheme 应用集成 3 iOS 应用集成

(15)

} else {

[[UIApplication sharedApplication] openURL:joinConfUrl];

} }

说明

上述代码示例仅作为逻辑示例,不能直接使用。

3.3.3 登录并入会

描述

通过此方式可以拉起用户设备上已经安装的华为云会议App并根据链接中传入的参数 执行登录操作并入会,在会中主持人可以邀请其他与会人。

说明

1.华为云会议应用未登录场景下,调用该链接会弹出主界面并且以链接中登录身份标识进入会 议;会议结束后,返回到登录界面。

2.华为云会议应用已登录场景下,调用该链接会弹出主界面并以当前登录的帐号入会;会议结束 后,返回到之前已登录界面。

业务流程

步骤1 执行App ID鉴权,参考《API参考》中的“执行App ID鉴权”章节。

步骤2 获取Nonce,参考《API参考》中的“获取页面免登陆跳转的nonce信息”章节。

步骤3 拉起华为云会议App,并登入后加入会议,请参考如下示例代码。

----结束

代码示例

- (void)joinConfWithLogin:(id)sender { //这里以从界面TextField上获取信息 NSString *server_url = 服务器地址;

NSString *port = 服务器端口;

NSString *confId = 会议ID;

NSString *enter_code = 会议密码;

NSString *name = 入会姓名;

NSString *open_mic = 麦克风开关 ? @"true" : @"false";

NSString *open_camera = 摄像头开关 ? @"true" : @"false";

23 终端 Scheme 应用集成 3 iOS 应用集成

(16)

NSString *joinConfString = [NSString stringWithFormat:@"cloudlink://welinksoftclient/h5page?

page=LoginAndJoinConf&server_url=%@&port=%@&conf_id=%@&enter_code=%@&name=%@&open_mic=

%@&open_camera=%@", server_url, port, confId, enter_code, name, open_mic, open_camera];

NSURL *joinConfUrl = [NSURL URLWithString:joinConfString];

if (@available(iOS 10.0, *)) {

[[UIApplication sharedApplication] openURL:joinConfUrl options:@{} completionHandler:nil];

} else {

[[UIApplication sharedApplication] openURL:joinConfUrl];

} }

说明

上述代码示例仅作为逻辑示例,不能直接使用。

3.4 Scheme 参考

3.4.1 拉起应用

链接格式

cloudlink://welinksoftclient/h5page?page=launch

参数描述

3-2 scheme 参数说明

参数 是否必须 类型 描述

page 是 字符串 用于定义scheme功能,取值为launch。

3.4.2 链接入会

链接格式

cloudlink://welinksoftclient/h5page?

page=joinConfByLink&server_url=meeting.huaweicloud.com&port=8443&conf_id=12345&enter_code=12345

&name=Tom&open_mic=true&open_camera=false

参数描述

3-3 scheme 参数说明

参数 是否必须 类型 描述

page 是 字符串 用于定义scheme功能

,取值为joinConfByLink。

23 终端 Scheme 应用集成 3 iOS 应用集成

(17)

参数 是否必须 类型 描述

server_url 否 字符串 服务器地址,为空使用默认值

● 中国站:meeting.huaweicloud.com

● 国际站:

intl.meeting.huaweicloud.com

port 否 字符串 服务器端口,为空使用默认值

conf_id 是 字符串 会议ID

enter_code 否 字符串 会议密码

name 是 字符串 显示名称

open_mic 否 字符串 是否开启麦克风,不填默认关闭 open_camera 否 字符串 是否开启摄像头,不填默认关闭

说明

若希望以主席身份入会,enter_code必须传入主席密码。若希望以来宾身份入会,当会议要求来 宾密码时,enter_code必须传入来宾密码,会议不要求来宾密码时,可以不用传。

3.4.3 登录并入会

链接格式

cloudlink://welinksoftclient/h5page?

page=LoginAndJoinConf&server_url=meeting.huaweicloud.com&port=8443&conf_id=12345&enter_code=123 45&name=Tom&open_mic=true&open_camera=false&nonce=EycLQsHwxhzK9OW8UEKWNfH2I3CGR2nINuU 1EBpQ

参数描述

参数 是否必须 类型 描述

page 是 String 用于定义scheme功能

,取值为LoginAndJoinConf。

server_url 否 String 服务器地址,为空使用华为云会议默认 服务器地址

● 中国站:meeting.huaweicloud.com

● 国际站:

intl.meeting.huaweicloud.com

port 否 String 服务器端口,为空使用华为云会议默认

端口 conf_id 是 String 会议ID enter_code 否 String 会议密码

23 终端 Scheme 应用集成 3 iOS 应用集成

(18)

参数 是否必须 类型 描述

name 是 String 会议中的显示名称

open_mic 否 String 是否开启麦克风,不填默认关闭 open_camera 否 String 是否开启摄像头,不填默认关闭 nonce 是 String 入会身份鉴权的nonce

说明

1.若希望以主席身份入会,enter_code必须传入主席密码。若希望以来宾身份入会,当会议要求 来宾密码时,enter_code必须传入来宾密码,会议不要求来宾密码时,可以不传

2.nonce获取方式说明:首先调用服务器登录鉴权API执行App ID鉴权获取到token;然后调用服 务器API获取页面免登陆跳转的nonce信息获取nonce,详见FAQ

3.nonce必须传入有效值,否则入会失败。nonce获取之后,只能使用一次

23 终端 Scheme 应用集成 3 iOS 应用集成

(19)

4 Windows 应用集成

4.1 概述 4.2 修订记录 4.3 业务开发 4.4 Scheme参考

4.1 概述

华为云会议App提供了应用集成的方式,第三方应用程序可以完整集成华为云会议App 音视频会议能力。

4.2 修订记录

4-1 修订记录

日期 版本 变更内容

2021-12-1

6 3.0.0 新增拉起应用并登录

2021-07-1

3 2.0.0 新增登录后链接入会功能

2019-04-3

0 1.0.0 首次发布。

4.3 业务开发

23 终端 Scheme 应用集成 4 Windows 应用集成

(20)

4.3.1 拉起应用

描述

通过此链接可以拉起华为云会议App,拉起后显示华为云会议App登录界面。

说明

应用已启动场景下,调用此链接会弹出主界面。

第三方 App 中调用的代码示例(C++)

//拉起应用

void Cscheme_demoDlg::OnBnClickedButtonLaunch() { //组装scheme并执行

HWND hwnd=AfxGetApp()->GetMainWnd()->GetSafeHwnd();

ShellExecute(hwnd,_T("open"),_T("cloudlink://welinksoftclient/h5page?

page=launch"),NULL,NULL,SW_SHOWNORMAL);

}

说明

1. 上述代码示例仅作为逻辑示例,不能直接使用。

2. 如果是在Web上拉起华为云会议App,只需要用"href=cloudlink://welinksoftclient/h5page?

page=launch"跳转即可。

4.3.2 拉起应用并登录

描述

通过此方式可以拉起用户设备上已经安装的华为云会议App并完成登录后显示主界 面。

说明

1.华为云会议App未登录场景下,调用该链接会进入主界面,登录的帐号是获取Token时的帐 号。

2.华为云会议App已登录场景下,调用该链接只是把当前已登录账号的主界面拉起,并不会重新 登录。

业务流程

23 终端 Scheme 应用集成 4 Windows 应用集成

(21)

步骤1 执行App ID鉴权,参考《API参考》中的“执行App ID鉴权”章节。

步骤2 获取Nonce,参考《API参考》中的“获取页面免登陆跳转的nonce信息”章节。

步骤3 拉起华为云会议App,并登录主界面,请参考如下示例代码。

----结束

第三方 App 中调用的代码示例(C++)

void joinMeetingAnonymousDlg::OnBnClickedButtonJoinMeetingAnonymous() { CString nonce= _T("nonce");

//组装scheme

CString schemeStr = _T("cloudlink://welinksoftclient/h5page?page=launch&nonce=") + nonce;

HWND hwnd = AfxGetApp()->GetMainWnd()->GetSafeHwnd();

ShellExecute(hwnd, _T("open"), schemeStr, NULL, NULL, SW_SHOWNORMAL);

}

说明

1. 上述代码示例仅作为逻辑示例,不能直接使用。

2. 如果是在Web上拉起华为云会议App并登录,只需要用"href=cloudlink://welinksoftclient/

h5page?page=launch&nonce=nonce_value"跳转即可。

4.3.3 链接入会

描述

通过此链接可以拉起华为云会议App并且加入会议。

说明

华为云会议未启动场景下,调用此链接会拉起应用并且匿名入会;

华为云会议已启动未登录场景下,调用此链接会弹出主界面并且匿名入会;

已启动已登录场景下,调用此链接会弹出主界面并以当前帐号入会。

第三方 App 中调用的代码示例(C++)

//匿名入会

void joinMeetingAnonymousDlg::OnBnClickedButtonJoinMeetingAnonymous() { CString serverAddress = _T("address");

CString serverPort = _T("port");

CString meetingID = _T("id");

CString meetingPassword = _T("password");

CString showName = _T("name");

CString isOpenMic = _T("true");

CString isOpenCam = _T("true");

//组装scheme

CString schemeStr = _T("cloudlink://welinksoftclient/h5page?page=joinConfByLink&server_url=") + serverAddress + _T("&port=")

+ serverPort + _T("&conf_id=") + meetingID + _T("&enter_code=") + meetingPassword + _T("&name=") + showName + _T("&open_mic=") + isOpenMic + _T("&open_camera=") + isOpenCam;

HWND hwnd = AfxGetApp()->GetMainWnd()->GetSafeHwnd();

ShellExecute(hwnd, _T("open"), schemeStr, NULL, NULL, SW_SHOWNORMAL);

}

23 终端 Scheme 应用集成 4 Windows 应用集成

(22)

说明

1. 上述代码示例仅作为逻辑示例,不能直接使用。

2. 如果是在Web上拉起华为云会议App并加入会议,只需要用"href=cloudlink://

welinksoftclient/h5page?

page=joinConfByLink&server_url=meeting.huaweicloud.com&port=8443&conf_id=conf_id _value&enter_code=enter_code_value&name=name_value&open_mic=true&open_camer a=false"跳转即可。

4.3.4 登录并入会

描述

通过此方式可以拉起用户设备上已经安装的华为云会议App并根据链接中传入的参数 执行登录操作并入会,在会中主持人可以邀请其他与会人。

说明

1.华为云会议应用未登录场景下,调用该链接会弹出主界面并且以链接中登录身份标识进入会 议;会议结束后,返回到登录界面。

2.华为云会议应用已登录场景下,调用该链接会弹出主界面并以当前登录的帐号入会;会议结束 后,返回到之前已登录界面。

业务流程

步骤1 执行App ID鉴权,参考《API参考》中的“执行App ID鉴权”章节。

步骤2 获取Nonce,参考《API参考》中的“获取页面免登陆跳转的nonce信息”章节。

步骤3 拉起华为云会议App,并登入后加入会议,请参考如下示例代码。

----结束

第三方 App 中调用的代码示例(C++)

void joinMeetingAnonymousDlg::OnBnClickedButtonJoinMeetingAnonymous() { CString serverAddress = _T("address");

CString serverPort = _T("port");

23 终端 Scheme 应用集成 4 Windows 应用集成

(23)

CString isOpenMic = _T("true");

CString isOpenCam = _T("true");

CString nonce= _T("nonce");

//组装scheme

CString schemeStr = _T("cloudlink://welinksoftclient/h5page?page=LoginAndJoinConf&server_url=") + serverAddress + _T("&port=")

+ serverPort + _T("&conf_id=") + meetingID + _T("&enter_code=") + meetingPassword + _T("&name=") + showName + _T("&open_mic=") + isOpenMic + _T("&open_camera=") + isOpenCam + _T("&nonce=") + nonce;

HWND hwnd = AfxGetApp()->GetMainWnd()->GetSafeHwnd();

ShellExecute(hwnd, _T("open"), schemeStr, NULL, NULL, SW_SHOWNORMAL);

}

说明

1. 上述代码示例仅作为逻辑示例,不能直接使用。

2. 如果是在Web上拉起华为云会议App并登入后加入会议,只需要用"href=cloudlink://

welinksoftclient/h5page?

page=LoginAndJoinConf&server_url=meeting.huaweicloud.com&port=8443&conf_id=con f_id_value&enter_code=enter_code_value&name=name_value&open_mic=true&open_ca mera=false&nonce=nonce_value"跳转即可。

4.4 Scheme 参考

4.4.1 拉起应用

链接格式

cloudlink://welinksoftclient/h5page?page=launch

参数描述

4-2 scheme 参数说明

参数 是否必须 类型 描述

page 是 字符串 用于定义scheme功能,取值为launch。

4.4.2 拉起应用并登录

链接格式

cloudlink://welinksoftclient/h5page?

page=launch&nonce=EycLQsHwxhzK9OW8UEKWNfH2I3CGR2nINuU1EBpQ

23 终端 Scheme 应用集成 4 Windows 应用集成

(24)

参数描述

参数 是否必须 类型 描述

page 是 String 用于定义scheme功能,取值为launch。

nonce 是 String 入会身份鉴权的nonce

说明

1. nonce获取方式说明:首先调用服务器登录鉴权API执行App ID鉴权获取到token;然后调用 服务器API获取页面免登陆跳转的nonce信息获取nonce,详见FAQ。

2. nonce必须传入有效值,否则登录失败。nonce获取之后,只能使用一次。

4.4.3 链接入会

链接格式

cloudlink://welinksoftclient/h5page?

page=joinConfByLink&server_url=meeting.huaweicloud.com&port=8443&conf_id=12345&enter_code=12345

&name=Tom&open_mic=true&open_camera=false

参数描述

4-3 scheme 参数说明

参数 是否必须 类型 描述

page 是 字符串 用于定义scheme功能

,取值为joinConfByLink。

server_url 否 字符串 服务器地址,为空使用默认值

● 中国站:meeting.huaweicloud.com

● 国际站:

intl.meeting.huaweicloud.com

port 否 字符串 服务器端口,为空使用默认值

conf_id 是 字符串 会议ID

enter_code 否 字符串 会议密码

name 是 字符串 显示名称

open_mic 否 字符串 是否开启麦克风,不填默认开启 open_camera 否 字符串 是否开启摄像头,不填默认开启

23 终端 Scheme 应用集成 4 Windows 应用集成

(25)

说明

上述所有参数均以字符串直接传入,无需二次编码。若希望以主席身份入会,enter_code必须传 入主席密码。若希望以来宾身份入会,当会议要求来宾密码时,enter_code必须传入来宾密码,

会议不要求来宾密码时,可以不用传。

4.4.4 登录并入会

链接格式

cloudlink://welinksoftclient/h5page?

page=LoginAndJoinConf&server_url=meeting.huaweicloud.com&port=8443&conf_id=12345&enter_code=123 45&name=Tom&open_mic=true&open_camera=false&nonce=EycLQsHwxhzK9OW8UEKWNfH2I3CGR2nINuU 1EBpQ

参数描述

参数 是否必须 类型 描述

page 是 String 用于定义scheme功能,取值为 LoginAndJoinConf。

server_url 否 String 服务器地址,为空使用华为云会议默认 服务器地址

● 中国站:meeting.huaweicloud.com

● 国际站:

intl.meeting.huaweicloud.com

port 否 String 服务器端口,为空使用华为云会议默认

端口 conf_id 是 String 会议ID enter_code 否 String 会议密码

name 是 String 会议中的显示名称

open_mic 否 String 是否开启麦克风,不填默认关闭 open_camera 否 String 是否开启摄像头,不填默认关闭 nonce 是 String 入会身份鉴权的nonce

说明

1.若希望以主席身份入会,enter_code必须传入主席密码。若希望以来宾身份入会,当会议要求 来宾密码时,enter_code必须传入来宾密码,会议不要求来宾密码时,可以不传

2.nonce获取方式说明:首先调用服务器登录鉴权API执行App ID鉴权获取到token;然后调用服 务器API获取页面免登陆跳转的nonce信息获取nonce,详见FAQ

3.nonce必须传入有效值,否则入会失败。nonce获取之后,只能使用一次

23 终端 Scheme 应用集成 4 Windows 应用集成

(26)

5 Mac 应用集成

5.1 概述 5.2 修订记录 5.3 业务开发 5.4 Scheme参考

5.1 概述

华为云会议Mac客户端提供了应用集成的方式,第三方应用程序可以完整集成华为云 会议Mac客户端音视频会议能力。

5.2 修订记录

5-1 修订记录

日期 版本 变更内容

2021-07-1

3 2.0.0 新增登录后链接入会功能

2021-02-0

2 1.0.0 添加Mac应用集成章节。

5.3 业务开发

5.3.1 拉起 App

23 终端 Scheme 应用集成 5 Mac 应用集成

(27)

说明

应用已启动场景下,调用此链接拉起会弹出主界面。

业务流程

1. 构建scheme。

2. 执行scheme。

代码示例

//拉起应用

- (void)launchCloudLinkMeeting {

NSURL *launchUrl = [NSURL URLWithString:@"cloudlink://welinksoftclient/h5page?page=launch"];

[[NSWorkspace sharedWorkspace] openURL:launchUrl];

说明

上述代码示例仅作为逻辑示例,不能直接使用。

5.3.2 链接入会

描述

通过此链接可以拉起华为云会议App并且加入会议。

说明

客户端已启动未登录场景下,调用该链接会弹出主界面并且匿名入会;客户端已启动已登录场景 下,调用该链接会弹出主界面并以当前帐号入会。

23 终端 Scheme 应用集成 5 Mac 应用集成

(28)

业务流程

1. 构建scheme。

2. 执行scheme。

代码示例

//匿名入会

- (void)joinConfWithoutLogin:(id)sender { //这里以从界面TextField上获取信息 NSString *server_url = 服务器地址;

NSString *port = 服务器端口;

NSString *confId = 会议ID;

NSString *enter_code = 会议enter_code;

NSString *name = 入会姓名;

NSString *open_mic = 麦克风开关 ? @"true" : @"false";

NSString *open_camera = 摄像头开关 ? @"true" : @"false";

NSString *joinConfString = [NSString stringWithFormat:@"cloudlink://welinksoftclient/h5page?

page=joinTmpConfByLink&server_url=%@&port=%@&conf_id=%@&enter_code=%@&name=

%@&open_mic=%@&open_camera=%@", server_url, port, confId, enter_code, name, open_mic, open_camera];

NSURL *joinConfUrl = [NSURL URLWithString:joinConfString];

[[NSWorkspace sharedWorkspace] openURL:joinConfUrl];

}

说明

上述代码示例仅作为逻辑示例,不能直接使用。

5.3.3 登录并入会

描述

通过此方式可以拉起用户设备上已经安装的华为云会议App并根据链接中传入的参数 执行登录操作并入会,在会中主持人可以邀请其他与会人

说明

1.华为云会议应用未登录场景下,调用该链接会弹出主界面并且以链接中登录身份标识进入会

23 终端 Scheme 应用集成 5 Mac 应用集成

(29)

业务流程

步骤1 执行App ID鉴权,参考《API参考》中的“执行App ID鉴权”章节。

步骤2 获取Nonce,参考《API参考》中的“获取页面免登陆跳转的nonce信息”章节。

步骤3 拉起华为云会议App,并登入后加入会议,请参考如下示例代码。

----结束

代码示例

//匿名入会

- (void)joinConfWithoutLogin:(id)sender { //这里以从界面TextField上获取信息 NSString *server_url = 服务器地址;

NSString *port = 服务器端口;

NSString *confId = 会议ID;

NSString *enter_code = 会议enter_code;

NSString *name = 入会姓名;

NSString *open_mic = 麦克风开关 ? @"true" : @"false";

NSString *open_camera = 摄像头开关 ? @"true" : @"false";

NSString *joinConfString = [NSString stringWithFormat:@"cloudlink://welinksoftclient/h5page?

page=joinTmpConfByLink&server_url=%@&port=%@&conf_id=%@&enter_code=%@&name=

%@&open_mic=%@&open_camera=%@", server_url, port, confId, enter_code, name, open_mic, open_camera];

NSURL *joinConfUrl = [NSURL URLWithString:joinConfString];

[[NSWorkspace sharedWorkspace] openURL:joinConfUrl];

}

说明

上述代码示例仅作为逻辑示例,不能直接使用。

5.4 Scheme 参考

5.4.1 拉起应用

链接格式

cloudlink://welinksoftclient/h5page?page=launch

23 终端 Scheme 应用集成 5 Mac 应用集成

(30)

参数描述

5-2 scheme 参数说明

参数 是否必须 类型 描述

page 是 字符串 用于定义scheme功能,取值为launch。

5.4.2 链接入会

链接格式

cloudlink://welinksoftclient/h5page?

page=joinConfByLink&server_url=meeting.huaweicloud.com&port=8443&conf_id=12345&enter_code=12345

&name=Tom&open_mic=true&open_camera=false

参数描述

5-3 scheme 参数说明

参数 是否必须 类型 描述

page 是 字符串 用于定义scheme功能

,取值为joinConfByLink。

server_url 否 字符串 服务器地址,为空使用默认值

port 否 字符串 服务器端口,为空使用默认值

conf_id 是 字符串 会议ID

enter_code 否 字符串 会议密码

name 是 字符串 显示名称

open_mic 否 字符串 是否开启麦克风,不填默认关闭 open_camera 否 字符串 是否开启摄像头,不填默认关闭

说明

若希望以主席身份入会,enter_code必须传入主席密码。若希望以来宾身份入会,当会议要求来 宾密码时,enter_code必须传入来宾密码,会议不要求来宾密码时,可以不用传。

5.4.3 登录并入会

链接格式

cloudlink://welinksoftclient/h5page?

23 终端 Scheme 应用集成 5 Mac 应用集成

(31)

参数描述

参数 是否必须 类型 描述

page 是 String 用于定义scheme功能,取值为 LoginAndJoinConf。

server_url 否 String 服务器地址,为空使用华为云会议默认 服务器地址

port 否 String 服务器端口,为空使用华为云会议默认

端口 conf_id 是 String 会议ID enter_code 否 String 会议密码

name 是 String 会议中的显示名称

open_mic 否 String 是否开启麦克风,不填默认关闭 open_camera 否 String 是否开启摄像头,不填默认关闭 nonce 是 String 入会身份鉴权的nonce

说明

1.若希望以主席身份入会,enter_code必须传入主席密码。若希望以来宾身份入会,当会议要求 来宾密码时,enter_code必须传入来宾密码,会议不要求来宾密码时,可以不传

2.nonce获取方式说明:首先调用服务器登录鉴权API执行App ID鉴权或执行帐号鉴权进行登 录,获取到token;然后调用服务器API获取页面免登陆跳转的nonce信息获取nonce,详见FAQ 3.nonce必须传入有效值,否则入会失败。nonce获取之后,只能使用一次

23 终端 Scheme 应用集成 5 Mac 应用集成

(32)

6 常见问题

6.1 登录并入会场景,nonce如何获取?

6.1 登录并入会场景,nonce 如何获取?

App ID 场景

1、调用服务端执行App ID鉴权接口,输入与会人相关参数,获取accesstoken,如图 1

6-1 执行 App ID 鉴权

23 终端 Scheme 应用集成 6 常见问题

(33)

2、调用服务端获取页面免登陆跳转的nonce信息接口,获取nonce,如图2 注:nonce获取后,只能使用1次。

6-2 获取页面免登陆跳转的 nonce 信息

3、按照链接格式,将nonce、会议id密码等信息填入,并分享给对应的与会人即可。

23 终端 Scheme 应用集成 6 常见问题

參考文獻

相關文件

the composition presented by T101 〉, “ First, the style of writing: by and large, these s ū tras are translated into prose.. Even though there are some verse-like renderings,

僧集否。 (答云) 已集。 (師云) 和合否。 (答云) 和合。 (師云) 僧今和合。何所作為。 (答云) 為諸 佛子剃頭授戒。 (師云) 善哉可爾 (答云)

大型会议:

審查整理呈現資料:蒐集到的資料應先審核 是否完整、正確、合理與一致,然後利用敘

„ „ The The extended nature extended nature of string theory introduces of string theory introduces additional degrees of freedom?. additional degrees of freedom localized

Low temperature High temperature YM theory confinement deconfinement D4 brane model solitonic D4 localized D3

● 使用多重準則(例如清晰度、準確度、有效性、是否及

Don Knuth James Morris Vaughan Pratt..