• 沒有找到結果。

SDK概述_会议_客户端SDK参考_华为云

N/A
N/A
Protected

Academic year: 2022

Share "SDK概述_会议_客户端SDK参考_华为云"

Copied!
569
0
0

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

全文

(1)

22 客户端 SDK 参考

文档版本 70.14.5 发布日期 2022-02-19

(2)

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

商标声明

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

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

注意

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

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

华为技术有限公司

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

网址:

https://www.huawei.com

客户服务邮箱:

[email protected]

客户服务电话:4008302118

(3)

目 录

1 SDK 概述... 1

2 Demo 体验...3

2.1 Demo 安装包下载... 3

2.2 Demo 一览... 5

3 SDK 下载... 9

4 一分钟跑通 Demo...22

4.1 跑通 Android Demo... 22

4.2 跑通 iOS Demo...29

4.3 跑通 Windows MFC Demo... 35

4.4 跑通 Windows Electron Demo... 38

4.5 跑通 Mac Native Demo... 45

4.6 跑通 Mac Electron Demo... 48

5 Android SDK...55

5.1 概述... 55

5.2 修订记录... 56

5.3 快速入门... 60

5.4 典型场景... 73

5.4.1 典型场景接口调用概览...74

5.4.2 场景 1: 初始化... 76

5.4.3 场景 2: 帐号密码方式登录...76

5.4.4 场景 3: App ID 方式登录... 77

5.4.5 场景 4: 预约会议... 78

5.4.6 场景 5: 编辑会议... 80

5.4.7 场景 6: 创建会议... 81

5.4.8 场景 7: 加入会议... 83

5.4.9 场景 8: 发起呼叫... 84

5.4.10 场景 9: 注销... 85

5.5 接口参考... 85

5.5.1 基础配置... 85

5.5.1.1 初始化...85

5.5.1.2 设置接入站点...87

5.5.1.3 自定义会中分享面板...87

(4)

5.5.1.4 自定义日志保存路径...88

5.5.1.5 自定义开关会中聊天功能... 89

5.5.1.6 自定义是否开启会议高清优先... 90

5.5.1.7 自定义会议接听时摄像头/麦克风开关...90

5.5.1.8 自定义设置来电响铃和震动...91

5.5.1.9 自定义隐藏外部标签...92

5.5.2 界面定制... 92

5.5.2.1 自定义底部菜单栏... 92

5.5.2.2 自定义与会者列表页面中的菜单...100

5.5.2.3 自定义会中标题栏点击弹出菜单...104

5.5.2.4 自定义会议中加人...106

5.5.2.5 自定义会中通知栏...108

5.5.2.6 头像拦截显示... 109

5.5.2.7 自定义视频会议来电时接听方式按钮... 112

5.5.2.8 自定义会议中水印...113

5.5.3 帐号操作... 115

5.5.3.1 帐号密码方式登录...115

5.5.3.2 App ID 方式登录... 116

5.5.3.3 SSO 方式登录... 118

5.5.3.4 注销...120

5.5.3.5 上传个人头像... 121

5.5.4 会议管理... 122

5.5.4.1 预约会议... 122

5.5.4.2 编辑会议... 126

5.5.4.3 取消会议... 127

5.5.4.4 获取会议列表... 128

5.5.4.5 获取会议详情... 129

5.5.4.6 获取云会议室列表...131

5.5.4.7 修改云会议室信息...132

5.5.5 会议控制... 132

5.5.5.1 创建会议... 133

5.5.5.2 加入会议... 135

5.5.5.3 添加与会者...137

5.5.5.4 离开会议... 138

5.5.5.5 结束会议... 139

5.5.6 呼叫控制... 139

5.5.6.1 发起呼叫... 139

5.5.7 获取会议信息...141

5.5.7.1 获取与会者列表... 141

5.5.7.2 获取观众列表... 141

5.5.7.3 获取用户状态... 142

5.5.8 音视频数据流...143

(5)

5.5.8.1 开启第三方视频推流配置...143

5.5.8.2 设置第三方推流视频镜像...143

5.5.8.3 第三方视频推流... 144

5.5.9 通知参考... 146

5.5.9.1 自定义帐号通知事件... 146

5.5.9.2 自定义会中 UI 行为通知...147

5.5.9.3 业务消息通知... 152

5.5.9.4 自定义来电自动处理通知事件... 155

5.6 错误码参考... 156

5.6.1 常见错误码... 156

5.7 版本更新内容... 157

5.7.1 70.14.5 更新内容... 157

5.7.2 70.13.5 更新内容... 157

5.7.3 70.12.6 更新内容... 157

5.7.4 70.12.4 更新内容... 157

5.7.5 70.11.5 更新内容... 157

5.7.6 70.10.5 更新内容... 157

5.7.7 70.9.5 更新内容... 158

5.7.8 70.8.6 更新内容... 158

5.7.9 70.8.5 更新内容... 158

5.7.10 70.7.5 更新内容... 158

5.7.11 70.6.5 更新内容... 159

5.7.12 70.5.8 更新内容... 159

5.7.13 70.4.5 更新内容... 159

5.7.14 70.3.5 更新内容... 159

5.7.15 60.15.6 更新内容... 159

5.7.16 60.13.2 更新内容... 160

5.7.17 60.12.5 更新内容...160

5.7.18 60.11.1 更新内容...160

5.7.19 60.10.5 更新内容...160

5.7.20 60.8.1 更新内容... 161

5.7.21 60.7.1 更新内容... 162

6 iOS SDK...164

6.1 概述... 164

6.2 修订记录... 165

6.3 快速入门... 168

6.3.1 开发准备... 168

6.3.2 快速集成... 168

6.3.3 屏幕共享集成...175

6.3.4 业务集成... 185

6.4 典型场景... 185

6.4.1 典型场景接口调用概览... 185

(6)

6.4.2 场景 1:初始化... 189

6.4.3 场景 2:登录... 189

6.4.3.1 帐号密码登录... 189

6.4.3.2 App ID 登录... 190

6.4.4 场景 3:创建会议... 191

6.4.5 场景 4:添加与会者... 192

6.4.6 场景 5:加入会议... 192

6.4.7 场景 6:发起呼叫... 193

6.4.8 场景 7:预约会议... 194

6.4.9 场景 8:编辑会议... 195

6.4.10 场景 9:退出登录... 195

6.5 接口参考... 196

6.5.1 基础配置... 196

6.5.1.1 初始化... 196

6.5.1.2 设置语言... 198

6.5.1.3 设置日志路径... 199

6.5.1.4 设置来电通知方式...199

6.5.1.5 自定义会议接听时摄像头/麦克风开关... 200

6.5.2 帐号操作... 201

6.5.2.1 登录...201

6.5.2.2 退出登录... 204

6.5.2.3 上传个人头像... 205

6.5.3 界面定制... 205

6.5.3.1 界面配置... 206

6.5.3.2 清除界面配置... 212

6.5.3.3 社交分享定制... 212

6.5.3.4 底部工具栏定制... 216

6.5.3.5 与会者列表菜单定制... 220

6.5.3.6 会议页面顶部 titlebar 菜单定制... 225

6.5.3.7 自定义视频会议来电时接听方式按钮... 227

6.5.3.8 联系人 UI 定制... 229

6.5.3.9 头像拦截显示... 230

6.5.3.10 自定义会中水印... 232

6.5.4 会议控制... 233

6.5.4.1 创建会议... 233

6.5.4.2 加入会议... 236

6.5.4.3 添加与会者...237

6.5.4.4 离开会议... 238

6.5.4.5 结束会议... 239

6.5.5 会议管理... 239

6.5.5.1 预约会议... 240

6.5.5.2 编辑会议... 243

(7)

6.5.5.3 会议列表... 244

6.5.5.4 会议详情... 245

6.5.5.5 取消会议... 247

6.5.5.6 云会议室列表... 247

6.5.5.7 修改云会议室信息...248

6.5.5.8 预约周期会议... 249

6.5.6 呼叫控制... 249

6.5.6.1 发起呼叫... 249

6.5.7 获取会议信息...250

6.5.7.1 获取与会者列表... 250

6.5.7.2 获取观众列表... 251

6.5.7.3 判断自己是否是主持人... 251

6.5.7.4 获取用户状态... 252

6.6 通知参考... 253

6.6.1 注意事项,使用通知前请查看... 253

6.6.2 帐号状态变更通知... 253

6.6.2.1 帐号被踢出...253

6.6.3 会议信息变更通知... 254

6.6.3.1 会议状态... 254

6.6.3.2 被邀加入会议来电通知... 255

6.6.3.3 会议详情通知... 256

6.6.3.4 会议结束通知... 256

6.6.4 通话状态变更通知... 256

6.6.4.1 通话状态... 257

6.6.4.2 通话结束... 257

6.6.5 业务消息通知...259

6.6.5.1 主持人角色变化... 259

6.6.5.2 会议列表变化... 260

6.6.5.3 视频会议录播权限更新... 260

6.6.5.4 预约会议发送短信权限更新... 261

6.6.6 来电接听策略设置... 261

6.6.6.1 设置点对点来电接听策略...261

6.6.6.2 设置会议来电接听策略... 262

6.7 错误码参考... 263

6.7.1 常见错误码... 263

6.8 版本更新内容... 266

6.8.1 70.14.5 更新内容... 266

6.8.2 70.13.5 更新内容... 267

6.8.3 70.12.6 更新内容... 267

6.8.4 70.12.4 更新内容... 267

6.8.5 70.11.5 更新内容... 267

6.8.6 70.10.5 更新内容... 267

(8)

6.8.7 70.9.5 更新内容... 267

6.8.8 70.8.6 更新内容...267

6.8.9 70.8.5 更新内容...267

6.8.10 70.7.5 更新内容... 267

6.8.11 70.6.5 更新内容... 268

6.8.12 70.5.8 更新内容... 268

6.8.13 70.4.5 更新内容... 268

6.8.14 70.3.5 更新内容... 268

6.8.15 60.15.5 更新内容...268

6.8.16 60.13.2 更新内容...269

6.8.17 60.12.5 更新内容...269

6.8.18 60.11.6 更新内容...269

6.8.19 60.10.5 更新内容...269

6.8.20 60.8.1 更新内容... 270

6.8.21 60.7.1 更新内容... 271

7 Windows SDK...272

7.1 概述... 272

7.2 修订记录... 272

7.3 快速入门... 276

7.4 典型场景... 296

7.4.1 典型场景接口调用概览... 296

7.4.2 场景 1:初始化... 300

7.4.3 场景 2:登录... 301

7.4.4 场景 3:预约会议... 302

7.4.5 场景 4:编辑会议... 304

7.4.6 场景 5:取消会议... 306

7.4.7 场景 6:创建会议... 307

7.4.8 场景 7:添加与会人... 310

7.4.9 场景 8:加入会议... 311

7.4.10 场景 9:邮件链接入会...312

7.4.11 场景 10:发起呼叫... 313

7.4.12 场景 11:定制会中“邀请”按钮... 316

7.4.13 场景 12:注销登录... 317

7.4.14 场景 13:退出...318

7.5 接口参考... 319

7.5.1 基础配置... 319

7.5.1.1 初始化... 319

7.5.1.2 退出...322

7.5.1.3 设置语言... 323

7.5.1.4 开启功能... 324

7.5.1.5 设置用户文件保存路径... 326

7.5.1.6 网络模式设置... 327

(9)

7.5.2 帐号操作... 329

7.5.2.1 登录...329

7.5.2.2 注销...331

7.5.3 界面定制... 332

7.5.3.1 界面配置... 332

7.5.3.2 清除界面配置... 343

7.5.3.3 刷新自定义按钮配置... 344

7.5.3.4 自定义会中水印... 346

7.5.3.5 自定义设置界面... 348

7.5.4 会议控制... 351

7.5.4.1 创建会议... 351

7.5.4.2 加入会议... 355

7.5.4.3 Random 入会... 357

7.5.4.4 设置会场名...358

7.5.4.5 添加与会者...359

7.5.4.6 开启共享... 361

7.5.4.7 结束共享... 363

7.5.4.8 离开会议... 364

7.5.4.9 结束会议... 365

7.5.4.10 设置会议来电应答... 366

7.5.4.11 显示会议主窗口... 367

7.5.4.12 设置共享策略... 368

7.5.4.13 设置共享音频... 369

7.5.4.14 音视频设备控制... 370

7.5.5 会议管理... 371

7.5.5.1 获取 VMR 列表... 371

7.5.5.2 预约会议... 373

7.5.5.3 编辑会议... 378

7.5.5.4 取消会议... 380

7.5.5.5 获取会议详情... 381

7.5.5.6 修改云会议室信息...383

7.5.6 呼叫控制... 384

7.5.6.1 发起呼叫... 384

7.5.6.2 添加与会者...387

7.5.6.3 开启共享... 387

7.5.6.4 设置呼叫来电应答...387

7.5.7 获取会议信息...388

7.5.7.1 获取与会者列表... 388

7.5.7.2 获取观众列表... 389

7.5.7.3 获取用户状态... 390

7.5.8 音视频数据流...391

7.5.8.1 获取音频流...391

(10)

7.6 通知参考... 392

7.6.1 基础配置变更通知... 392

7.6.1.1 连接断开... 393

7.6.1.2 企业配置变更... 393

7.6.1.3 企业信息变更... 394

7.6.2 帐号状态变更通知... 394

7.6.2.1 帐号被踢出...394

7.6.3 定制界面事件通知... 395

7.6.3.1 注入点击... 395

7.6.3.2 显示会议信息框... 396

7.6.3.3 销毁会议信息框... 398

7.6.3.4 查询外部通讯录头像... 399

7.6.4 会议状态变更通知... 400

7.6.4.1 会议来电... 400

7.6.4.2 会议状态... 401

7.6.4.3 会议信息... 402

7.6.4.4 会议列表通知... 403

7.6.4.5 发起数据共享状态...405

7.6.4.6 接收数据共享状态...406

7.6.4.7 得到远程控制权限...407

7.6.4.8 授予他人远程控制权限... 408

7.6.5 通话状态变更通知... 409

7.6.5.1 呼叫来电... 409

7.6.5.2 通话状态... 410

7.6.5.3 通话信息... 410

7.6.6 音视频设备状态... 411

7.7 错误码参考... 412

7.8 Electron 客户端中集成 Windows SDK... 413

7.8.1 HUAWEI CLOUD Meeting Electron Demo 概述...413

7.8.2 Electron 客户端集成 Windows SDK 指导... 416

7.8.3 增加新接口指导(可选)... 419

7.9 版本更新内容... 426

7.9.1 70.14.5 更新内容... 426

7.9.2 70.13.5 更新内容... 426

7.9.3 70.12.6 更新内容... 426

7.9.4 70.12.4 更新内容... 426

7.9.5 70.11.5 更新内容... 427

7.9.6 70.10.5 更新内容... 427

7.9.7 70.9.5 更新内容...427

7.9.8 70.8.6 更新内容...427

7.9.9 70.8.5 更新内容...427

7.9.10 70.7.5 更新内容... 427

(11)

7.9.11 70.6.5 更新内容... 427

7.9.12 70.5.8 更新内容... 427

7.9.13 70.4.5 更新内容... 428

7.9.14 70.3.5 更新内容... 428

7.9.15 60.15.5 更新内容...428

7.9.16 60.13.2 更新内容...428

7.9.17 60.12.5 更新内容...428

7.9.18 60.11.6 更新内容...429

7.9.19 60.10.5 更新内容...429

7.9.20 60.8.1 更新内容... 429

8 Mac SDK... 430

8.1 概述... 430

8.2 修订记录... 431

8.3 快速入门... 433

8.3.1 开发准备... 433

8.3.2 快速集成... 433

8.3.3 业务集成... 437

8.4 典型场景... 438

8.4.1 典型场景接口调用概览... 438

8.4.2 场景 1:初始化... 440

8.4.3 场景 2:登录... 440

8.4.3.1 帐号密码登录... 440

8.4.3.2 App ID 登录... 441

8.4.4 场景 3:创建会议... 442

8.4.5 场景 4:添加与会者... 443

8.4.6 场景 5:加入会议... 443

8.4.7 场景 6:发起呼叫... 444

8.4.8 场景 7:预约会议... 445

8.4.9 场景 8:编辑会议... 446

8.4.10 场景 9:退出登录... 446

8.5 接口参考... 447

8.5.1 基础配置... 447

8.5.1.1 初始化... 447

8.5.1.2 设置语言... 449

8.5.1.3 自定义会议接听时摄像头/麦克风开关... 449

8.5.1.4 自定义本地录制路径... 450

8.5.1.5 开启功能... 451

8.5.1.6 网络模式设置... 453

8.5.2 帐号操作... 454

8.5.2.1 登录...454

8.5.2.2 退出登录... 457

8.5.2.3 上传个人头像... 458

(12)

8.5.3 界面定制... 459

8.5.3.1 界面配置... 459

8.5.3.2 清除界面配置... 459

8.5.3.3 底部工具栏定制... 459

8.5.3.4 共享工具栏定制... 461

8.5.3.5 底部工具栏更多菜单定制...462

8.5.3.6 共享工具栏更多菜单定制...463

8.5.3.7 社交分享定制... 464

8.5.3.8 选择联系人定制... 465

8.5.3.9 头像拦截显示... 466

8.5.3.10 其它 UI 定制... 467

8.5.3.11 自定义会中水印... 468

8.5.3.12 自定义设置界面... 468

8.5.3.13 联系人信息定制... 472

8.5.4 会议控制... 474

8.5.4.1 创建会议... 474

8.5.4.2 加入会议... 476

8.5.4.3 添加与会者...478

8.5.4.4 离开会议... 478

8.5.4.5 结束会议... 479

8.5.4.6 显示会议主窗口... 479

8.5.5 会议管理... 480

8.5.5.1 预约会议... 480

8.5.5.2 编辑会议... 483

8.5.5.3 会议列表... 484

8.5.5.4 会议详情... 485

8.5.5.5 取消会议... 486

8.5.5.6 云会议室列表... 487

8.5.5.7 修改云会议室信息...488

8.5.6 获取会议信息...489

8.5.6.1 获取与会者列表... 489

8.5.6.2 获取观众列表... 490

8.5.6.3 获取用户状态... 490

8.5.6.4 判断自己是否是主持人... 491

8.5.7 音视频数据流...491

8.5.7.1 获取音频流...491

8.5.8 网络模式设置...492

8.5.9 呼叫控制... 492

8.5.9.1 发起呼叫... 492

8.6 通知参考... 493

8.6.1 注意事项,使用通知前请查看... 493

8.6.2 帐号状态变更通知... 494

(13)

8.6.2.1 帐号被踢出...494

8.6.3 企业配置信息通知... 494

8.6.3.1 企业配置信息... 494

8.6.4 会议来电设置设备状态通知...495

8.6.4.1 设置麦克风状态通知... 495

8.6.4.2 设置摄像头状态通知... 496

8.6.5 联系人交互通知... 496

8.6.5.1 打开联系人选择窗口通知...496

8.6.5.2 关闭联系人选择窗口通知...497

8.6.6 会议交互通知...498

8.6.6.1 dock 栏图标及共享时吸附图片通知... 498

8.6.7 用户头像通知...498

8.6.7.1 获取用户图像通知...498

8.6.8 社交分享通知...499

8.6.8.1 会议信息分享通知...499

8.6.8.2 自定义会议信息分享通知...500

8.6.9 业务消息通知...501

8.6.9.1 个人角色变化通知...501

8.6.9.2 会议状态变更通知...502

8.6.9.3 全量会议列表通知...503

8.6.9.4 会中会议状态信息变更通知... 504

8.6.9.5 音频数据流...505

8.6.10 来电接听策略设置...506

8.6.10.1 设置点对点来电接听策略... 506

8.6.10.2 设置会议来电接听策略... 507

8.6.11 会议来电状态变更通知... 507

8.6.12 通话状态变更通知...508

8.6.12.1 呼叫来电... 508

8.6.12.2 通话状态... 509

8.6.12.3 通话结束... 510

8.7 错误码参考... 512

8.8 Electron 客户端中集成 Mac SDK... 513

8.8.1 HUAWEI CLOUD Meeting Electron Demo 概述...513

8.8.2 Electron 客户端集成 Mac SDK 指导... 528

8.8.3 增加新接口指导(可选)... 533

8.9 版本更新内容... 535

8.9.1 70.14.5 更新内容... 535

8.9.2 70.13.5 更新内容... 536

8.9.3 70.12.6 更新内容... 536

8.9.4 70.12.4 更新内容... 536

8.9.5 70.11.5 更新内容... 536

8.9.6 70.10.5 更新内容... 536

(14)

8.9.7 70.9.5 更新内容...536

8.9.8 70.8.6 更新内容...536

8.9.9 70.8.5 更新内容...536

8.9.10 70.7.5 更新内容... 537

8.9.11 70.6.5 更新内容... 537

8.9.12 70.5.8 更新内容... 537

8.9.13 70.4.5 更新内容... 537

8.9.14 70.3.5 更新内容... 538

8.9.15 60.15.5 更新内容...538

8.9.16 60.13.2 更新内容...538

8.9.17 60.12.5 更新内容...538

9 常见问题... 539

9.1 华为云会议资源类型... 539

9.2 如何获取 SDK 的日志... 540

9.3 【iOS】如何用#import"xxx.h"导入 iOS SDK 中的文件... 545

9.4 【iOS】实现 6.6 章节通知方法不生效... 545

9.5 【iOS】iOS 导入 AFNetworking 报错...545

9.6 【Android】 支持 64 位库... 546

9.7 【Android】如何去除不需要的 aar 依赖... 548

9.8 【Android】使用第三方加固软件后,路由跳转错误... 548

9.9 【Android】SDK 提示语不支持中英文切换... 549

9.10 【Android】SDK 初始化失败,调用创会、加入会议等接口没有回调也没有提示... 549

9.11 【Win】第三方客户端调用 Exit 接口,需要等待一段时间后才能退出...550

9.12 【Win】运行 Electron demo 时遇到 binging.node is not a valid Win32 application 的错误提示... 551

9.13 移动端无法发起桌面共享... 551

10 专有名词解释... 554

10.1 帐号相关名词...554

10.2 会议 ID 相关名词... 554

(15)

1 SDK 概述

华为云会议服务为开发者提供Windows、Android、iOS、Mac的客户端SDK,方便开 发者将华为云会议的音频会议、视频会议、桌面共享能力快速集成到自己的应用中。

华为云会议的客户端SDK已经实现了会议中UI界面,包括会场画面显示,会议控制功 能,桌面共享等,开发者只需要调用少量接口即可完成华为云会议能力的集成。客户 端SDK已经提供的主要UI如下(以Windows SDK为例,其他平台的SDK能力相同,只 是界面布局有差异。)。

1. 会议中的主界面

1-1 会中主界面

2. 桌面共享界面

(16)

1-2 桌面共享界面

3. 会议来电界面

1-3 会议来电界面

说明

● 来电通知界面只有在应用进程没有被系统杀掉的情况下才能收到来电通知,移动端SDK并不 提供VoIP Push能力。

(17)

2 Demo 体验

2.1 Demo安装包下载 2.2 Demo一览

2.1 Demo 安装包下载

1. Android Demo安装包下载

2-1 Android Demo 安装包下载二维码

(18)

说明

使用手机浏览器扫一扫下载 2.Windows Demo安装包下载

2-2 Windows Demo 安装包下载链接

32位MFC Demo下载链接:hmwsdk-win-demo-win32.zip 64位MFC Demo下载链接:hmwsdk-win-demo-x64.zip

32位Electron Demo下载:hwmsdk-electron-demo-ia32-pkg.zip 64位Electron Demo下载:hwmsdk-electron-demo-X64-pkg.zip 3.Mac Demo安装包下载

2-3 Mac Demo 安装包下载链接

(19)

原生Demo下载链接:hwmsdk-mac-demo.dmg

Electron Demo下载链接:hwm-electron-mac-demo.dmg

2.2 Demo 一览

1. Android Demo

2-4 Android Demo

(20)

2. iOS Demo

2-5 iOS Demo

3. Windows MFC Demo

2-6 Windows MFC Demo

4. Windows Electron Demo

(21)

2-7 Windows Electron Demo

5. Mac Native Demo

2-8 Mac Native Demo

6. Mac Electron Demo

(22)

2-9 Mac Electron Demo

(23)

3 SDK 下载

说明

华为云会议的UI SDK提供一年的维护周期,如果超过一年的版本使用中有问题,请升级到最新 版本。

3-1 Android/iOS/Windows/Mac UI SDK 资源下载路径

版本 发布日期 资源 下载链接 安装包增

说明

70.14.5 (最新)

2022-02-

16 Android UI

SDK

hwmsdk-

android-70.14.5.zi p

32位:27.5M 64位:27.9M 32位+64 位: 45.8M iOS UI

SDK

hwmsdk-

ios-70.14.5.zip

33.7M Windows

UI SDK

hwmsdk-

win-70.14.5.zip

约60.7M Windows

Electron Demo

hwm-electron- demo-

src-70.14.5.zip

-

Mac UI

SDK

hwmsdk-

mac-70.14.5.zip

47.5M MacElectron

Demo

hwmsdk-electron-

mac-70.14.5.zip

-

(24)

70.13.5

(维护)

2022-01-

18 Android UI

SDK

hwmsdk-

android-70.13.5.zi p

32位:27.1M 64位:27.5M 32位+64 位: 45.4M

△下载 前必 看,

【重要 说明】

“登 录”和

“退出 登录”

的回调 函数新 增了参 数 iOS UI

SDK

hwmsdk-

ios-70.13.5.zip

33.7M △下载 前必 看,

【重要 说明】

“登 录”和

“退出 登录”

的回调 函数新 增了参 数 Windows

UI SDK

hwmsdk-

win-70.13.5.zip

约60.7M △下载 前必 看,

【重要 说明】

“登 录”和

“退出 登录”

的回调 函数新 增了参 数

(25)

Windows Electron Demo

hwm-electron- demo-

src-70.13.5.zip

- △下载

前必 看,

【重要 说明】

“登 录”和

“退出 登录”

的回调 函数新 增了参 数 Mac UI

SDK

hwmsdk-

mac-70.13.5.zip

45.4M △下载 前必 看,

【重要 说明】

“登 录”和

“退出 登录”

的回调 函数新 增了参 数 由于App Store限 制,本 地录制 默认路 径变 更,接 入方App需 要申请 下载文 件夹权 限

(26)

MacElectron Demo

hwmsdk-electron-

mac-70.13.5.zip

- △下载 前必 看,

【重要 说明】

“登 录”和

“退出 登录”

的回调 函数新 增了参 数 由于App Store限 制,本 地录制 默认路 径变 更,接 入方App需 要申请 下载文 件夹权 限 70.12.6

(维护)

2021-12-

23 Android UI

SDK

hwmsdk-

android-70.12.6.zi p

32位:28.1M 64位:28.3M 32位+64 位: 47.3M iOS UI

SDK

hwmsdk-

ios-70.12.6.zip

33.7M Windows

UI SDK

hwmsdk-

win-70.12.6.zip

约59.3M Windows

Electron Demo

hwm-electron- demo-

src-70.12.6.zip

-

Mac UI

SDK

hwmsdk-

mac-70.12.6.zip

46.8M MacElectron

Demo

hwmsdk-electron-

mac-70.12.6.zip

-

(27)

70.12.4

(维护)

2021-12-

14 Android UI

SDK

hwmsdk-

android-70.12.4.zi p

32位:28.1M 64位:28.3M 32位+64 位: 47.3M iOS UI

SDK

hwmsdk-

ios-70.12.4.zip

33.7M Windows

UI SDK

hwmsdk-

win-70.12.4.zip

约59.3M Windows

Electron Demo

hwm-electron- demo-

src-70.12.4.zip

-

Mac UI

SDK

hwmsdk-

mac-70.12.4.zip

46.8M MacElectron

Demo

hwmsdk-electron- mac-70.12.4.zip

-

70.11.5

(维护)

2021-11-

26 Android UI

SDK

hwmsdk-

android-70.11.5.zi p

32位:28.1M 64位:28.3M 32位+64 位: 47.3M iOS UI

SDK

hwmsdk-

ios-70.11.5.zip

34.3M △下载 前必 看,

【重要 说明】

△HWRTC Engine.

framew ork更名 为HWMM REngin e.frame work(

只修改 包名,

集成方式不变)

Windows

UI SDK

hwmsdk-

win-70.11.5.zip

约60M

(28)

Windows Electron Demo

hwm-electron- demo-

src-70.11.5.zip

-

Mac UI

SDK

hwmsdk-

mac-70.11.5.zip

46.7M MacElectron

Demo

hwmsdk-electron- mac-70.11.5.zip

-

70.10.5

(维护)

2021-10-

22 Android UI

SDK

hwmsdk-

android-70.10.5.zi p

32位:28.4M 64位:28.6M 32位+64 位: 47.5M iOS UI

SDK

hwmsdk-

ios-70.10.5.zip

34.4M Windows

UI SDK

hwmsdk-

win-70.10.5.zip

约60M Windows

Electron Demo

hwm-electron- demo-

src-70.10.5.zip

-

Mac UI

SDK

hwmsdk-

mac-70.10.5.zip

49.6M MacElectron

Demo

hwmsdk-electron- mac-70.10.5.zip

-

70.9.5

(维护)

2021-9-1

5 Android UI

SDK

hwmsdk-

android-70.9.5.zip

32位:

28.3M 64位:28.4M 32位+64 位: 47.3M iOS UI

SDK

hwmsdk-

ios-70.9.5.zip

35.8M Windows

UI SDK

hwmsdk-

win-70.9.5.zip

约60M Windows

Electron Demo

hwm-electron- demo-

src-70.9.5.zip

-

Mac UI

SDK

hwmsdk-

mac-70.9.5.zip

49.8M

(29)

MacElectron Demo

hwmsdk-electron- mac-70.9.5.zip

-

70.8.6

(维护)

2021-8-2

8 Android UI

SDK

hwmsdk-

android-70.8.6.zip

32位:

27.9M 64位:28.1M 32位+64 位: 46.7M iOS UI

SDK

hwmsdk-

ios-70.8.6.zip

35.2M Windows

UI SDK

hwmsdk-

win-70.8.6.zip

约60M Windows

Electron Demo

hwm-electron- demo-

src-70.8.6.zip

-

Mac UI

SDK

hwmsdk-

mac-70.8.6.zip

约45M MacElectron

Demo

hwmsdk-electron- mac-70.8.6.zip

-

70.8.5

(维护)

2021-08-

18 Android UI

SDK

hwmsdk-

android-70.8.5.zip

32位:

27.9M 64位:28.1M 32位+64 位: 46.7M

△下载 前必 看,

【重要 说明】

△从70.8.5 版本开 始仅支 持Android X,不再 支持Android support 库 iOS UI

SDK

hwmsdk-

ios-70.8.5.zip

35.2M Windows

UI SDK

hwmsdk-

win-70.8.5.zip

约60M Windows

Electron Demo

hwm-electron- demo-

src-70.8.5.zip

-

(30)

Mac UI

SDK

hwmsdk-

mac-70.8.5.zip

约45M MacElectron

Demo

hwmsdk-electron- mac-70.8.5.zip

70.7.5

(维护)

2021-07-

16 Android UI

SDK

hwmsdk-

android-70.7.5.zip

32位:

28.1M 64位:28.3M 32位+64 位: 46.9M iOS UI

SDK

hwmsdk-

ios-70.7.5.zip

34.5M Windows

UI SDK

hwmsdk-

win-70.7.5.zip

约66M Windows

Electron Demo

hwm-electron- demo-

src-70.7.5.zip

-

Mac UI

SDK

hwmsdk-

mac-70.7.5.zip

约47M MacElectron

Demo

hwmsdk-electron- mac-70.7.5.zip

-

70.6.5

(维护)

2021-06-

21 Android UI

SDK

hwmsdk-

android-70.6.5.zip

32位:

28.3M 64位:28.5M 32位+64 位: 47.1M iOS UI

SDK

hwmsdk-

ios-70.6.5.zip

34.5M Windows

UI SDK

hwmsdk-

win-70.6.5.zip

约46M Windows

Electron Demo

hwm-electron- demo-

src-70.6.5.zip

-

Mac UI

SDK

hwmsdk-

mac-70.6.5.zip

约46M MacElectron

Demo

hwmsdk-electron-

mac-70.6.5.zip

-

(31)

70.5.8

(维护)

2021-05-

17 Android UI

SDK

hwmsdk-

android-70.5.8.zip

32位:

28.2M 64位:28.3M 32位+64 位: 46.8M iOS UI

SDK

hwmsdk-

ios-70.5.8.zip

34.3M Windows

UI SDK

hwmsdk-

win-70.5.8.zip

约46M Windows

Electron Demo

hwm-electron- demo-

src-70.5.8.zip

-

Mac UI

SDK

hwmsdk-

mac-70.5.8.zip

约56M △下载 前必 看,

【重要 说明】

MacElectron Demo

hwmsdk-electron- mac-70.5.8.zip

-

70.4.5

(维护)

2021-04-

15 Android UI

SDK

hwmsdk-

android-70.4.5.zip

32位:

26.8M 64位:26.9M 32位+64 位: 45.2M iOS UI

SDK

hwmsdk-

ios-70.4.5.zip

33.1M Windows

UI SDK

hwmsdk-

win-70.4.5.zip

约46M Windows

Electron Demo

hwm-electron- demo-

src-70.4.5.zip

-

Mac UI

SDK

hwmsdk-

mac-70.4.5.zip

约49M △下载 前必 看,

【重要 说明】

MacElectron Demo

hwmsdk-electron-

mac-70.4.5.zip

-

(32)

70.3.5

(维护)

2021-03-

12 Android UI

SDK

hwmsdk-

android-70.3.5.zip

32位:

33M 64位:34.3M 32位 &

64位:58.6M

iOS UI

SDK

hwmsdk-

ios-70.3.5.zip

33.1M Windows

UI SDK

hwmsdk-

win-70.3.5.zip

约46M Windows

Electron Demo

hwm-electron- demo-

src-70.3.5.zip

-

Mac UI

SDK

hwmsdk-

mac-70.3.5.zip

约47M MacElectron

Demo

hwmsdk-electron- mac-70.3.5.zip

-

60.15.6

(停止维 护)

2021-02-

22 Android UI

SDK

hwmsdk-

android-60.15.6.zi p

32位:33.42M 64位:34.76M 32位 &

64位:59M

iOS UI

SDK

hwmsdk-

ios-60.15.5.zip

35.2M Windows

UI SDK

hwmsdk-

win-60.15.5.zip

约46M Windows

Electron Demo

hwm-electron- demo-

src-60.15.5.zip

-

Mac UI

SDK

hwmsdk-

mac-60.15.5.zip

约43M MacElectron

Demo

hwmsdk-electron-

mac-60.15.5.zip

-

(33)

60.13.2

(停止维 护)

2021-01-

08 Android UI

SDK

hwmsdk-

android-60.13.2.zi p

32位:31.7M 64位:32.5M 32位 &

64位:54.4M

iOS UI

SDK

hwmsdk-

ios-60.13.2.zip

38M Windows

UI SDK

hwmsdk-

win-60.13.2.zip

- △下载 前必 看,

【重要 说明】

Windows Electron Demo

hwm-electron- demo-

src-60.13.2.zip

-

Mac UI

SDK

hwmsdk-

mac-60.13.2.zip

- MacElectron

Demo

hwmsdk-electron- mac-60.13.2.zip

-

60.12.5

(停止维 护)

2020-12-

07 Android UI

SDK

hwmsdk-

android-60.12.5.zi p

-

iOS UI

SDK

hwmsdk-

ios-60.12.5.zip

- △下载 前必 看,

【重要 说明】

Windows

UI SDK

hwmsdk-

win-60.12.5.zip

- Windows

Electron Demo

hwm-electron- demo-

src-60.12.5.zip

-

Mac UI

SDK

hwmsdk-

mac-60.12.5.zip

- MacElectron

Demo

hwmsdk-electron- mac-60.12.5.zip

-

60.11.6

(停止维 护)

2020-11-

06 Android UI

SDK

hwmsdk-

android-60.11.6.zi

p

(34)

iOS UI

SDK

hwmsdk-

ios-60.11.6.zip

Windows

UI SDK

hwmsdk- win-60.11.6.zip

60.10.5

(停止维 护)

2020-10-

15 Android UI

SDK

hwmsdk-

android-60.10.5.zi p

iOS UI

SDK

hwmsdk-

ios-60.10.5.zip

Windows

UI SDK

hwmsdk- ios-60.10.5.zip

60.8.1

(停止维 护)

2020-09-

07 Android UI

SDK

hwmsdk-

android-60.8.1.zip

iOS UI

SDK

hwmsdk-

ios-60.8.1.zip

Windows

UI SDK

hwmsdk- win-60.8.3.zip

60.7.1

(停止维 护)

2020-08-

07 Android UI

SDK

hwmsdk-

android-60.7.1.zip

iOS UI

SDK

hwmsdk-

ios-60.7.2.zip

Windows

UI SDK

hwmsdk- win-60.7.1.zip

60.6.4

(停止维 护)

2020-06-

29 Android UI

SDK

hwmsdk-

android-60.6.4.zip

iOS UI

SDK

hwmsdk-

ios-60.6.1.zip

Windows

UI SDK

hwmsdk- win-60.6.4.zip

60.6.2

(停止维 护)

2020-06-

04 Android UI

SDK

hwmsdk-

android-60.6.2.zip

60.5.1

(停止维 护)

2020-06-

06 iOS UI

SDK

hwmsdk-

ios-60.5.1.zip

60.6.3

(停止维 护)

2020-06-

06 Windows

UI SDK

hwmsdk-

win-60.6.3.zip

(35)

说明

1、Android SDK如何选择32位和64位版本,请参考"常见问题8.3"。

2、Windows SDK的zip包中包含了MFC的Demo代码;Windows平台的Electron Demo是一个独 立的zip包。

(36)

4 一分钟跑通 Demo

4.1 跑通Android Demo 4.2 跑通iOS Demo

4.3 跑通Windows MFC Demo 4.4 跑通Windows Electron Demo 4.5 跑通Mac Native Demo 4.6 跑通Mac Electron Demo

4.1 跑通 Android Demo

本小节描述如何快速编译并运行客户端SDK的Android Demo。

环境要求

在Android Demo的编译运行过程中请满足如下环境要求。

4-1 环境要求(强制要求)

名称 要求

JDK版本 >= 1.8.0

最小Android API 版本 API 21

CPU架构支持 ARM64、ARMV7

集成工具 Android Studio 3.3.2

测试资源及App ID申请 请参见“开发前准备”。

(37)

4-2 编译配置要求(非强制要求)

名称 要求

jdk配置 sourceCompatibility

JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 gradle version gradle-5.4.1-all

compileSdkVersion 30 targetSdkVersion 30

gradle plugin version com.android.tools.build:gradle:3.5.2 buildToolsVersion 28.0.3

操作步骤

步骤1 下载SDK和Demo源码

● 参考“SDK下载”章节,下载SDK的ZIP包。

● 解压ZIP包到DEMO文件夹下,得到如图1所示的文件及目录

● Demo示例工程的目录结构如图2所示

4-1 SDK ZIP 包解压后的目录结构

步骤2 拷贝SDK aar文件

● 拷贝SDK aar资源目录下的所有aar资源到Demo工程的libs文件夹中,如图2所示

(38)

4-2 Demo 示例工程的目录结构

步骤3 编辑和运行

● 打开Android Studio

● 打开Demo示例工程,如图3所示

● 打开后如图4所示

4-3 工程目录

(39)

4-4 工程目录

● 打开gradle-wrapper.properties,确认是否可以下载到gradle,如果不可以则可以 手动到该网址下载,配置成本地依赖

4-5 配置 gradle-wrapper.properties

4-6 配置本地 gradle

● 打开build.gradle,查看是否可以连接到google,如果不可以则注释掉其他,并且添 加自己可用的maven仓

(40)

4-7 配置 maven

● 编译并运行demo工程 步骤4 使用demo

● 登录

(41)

4-8 Android Demo 登录前后界面

● 创建会议

(42)

4-9 Android Demo 创建会议界面

● 会中界面

(43)

4-10 Android Demo 会中界面

----结束

4.2 跑通 iOS Demo

本小节描述如何快速编译并运行客户端SDK的iOS Demo。

环境要求

在iOS Demo的编译运行过程中请满足如下环境要求。

4-3 环境要求

环境和工具名称 版本要求 说明

操作系统 Mac OSX High Sierra

10.14.4及以上 Xcode对Mac系统要求,

推荐版本10.15以上

Xcode Xcode11及以上 Demo及文档以

Xcode11.3.1为例

(44)

环境和工具名称 版本要求 说明 iOS系统版本 iOS10.0及以上,64位设

备 屏幕共享功能需iOS12及

以上

测试资源及App ID申请 - 请参见“开发前准备”。

4-4 项目配置要求

名称 要求 说明

Enable Bitcode NO 不支持编译代码优化

Valid Architectures arm64 支持CPU架构 Other Link Flags -ObjC 把静态库中所有的

Objective-C类和分类都加 载到最后的可执行文件中

4-5 第三方开源库

开源库名称 建议版本

Masonry 必须使用1.1.0及以上 SSZipArchive 2.1.3

YYModel 1.0.4 CocoaLumberjack 3.4.1

libyuv 1.0.2

操作步骤

步骤1 下载SDK和Demo源码

1. 按照“SDK下载”章节,下载SDK的ZIP包。

2. 解压ZIP包,得到如下文件及目录。

4-11 SDK 包的目录结构

步骤2 添加依赖库

1. 把HWMUISDK.framework、HWMMREngine.framework拷贝到Demo中。在

“TARGETS->HWMSDKDemo->General->Frameworks、Libraries、and Embedded Content” 中修改为Embed & Sign。

(45)

2. 把HWMExtension.framework拷贝到ScreenShareExtension中,“TARGETS—

>ScreenShareExtension—>Build Settings->Other Linker Flags” 中添加-lc++。

3. 把导入的HWMUISDK.framework设置为Embed & Sign。

4-12 HWMUISDK.framework 设置

4-13 HWMExtension.framework 设置

4. 下载masonry,拷贝源码到工程中。

步骤3 工程配置

1. 修改bundle identifier、App Groups,安装对应的证书。创建和管理证书地址参 见“证书地址”。

2. 编译运行。

步骤4 使用Demo

以创建1个即时会议为例:

1. 点击“初始化”按钮,初始化SDK。

(46)

4-14 iOS Demo 首界面

2. 点击“登录”按钮进入“登录页面”,在“登录页面”输入帐号密码后点击“登 录”。

(47)

4-15 iOS Demo 登录界面

3. 点击“创建会议”按钮,进入创建会议界面,创建会议。

(48)

4-16 iOS Demo 创建会议界面

(49)

4-17 iOS Demo 会中界面

----结束

4.3 跑通 Windows MFC Demo

本小节描述如何快速编译并运行客户端SDK的Windows MFC Demo。

环境要求

在Windows MFC Demo的编译运行过程中请满足如下环境要求。

4-6 环境要求

环境和工具名称 版本要求 说明

操作系统 Windows 10专业版 硬件要求:

● CPU:i5-2400四核 3.1GHz及以上。

● 内存:4GB及以上。

(50)

环境和工具名称 版本要求 说明 Microsoft Visual Studio Visual Studio 2017 NA

测试资源及App ID申请 NA 请参见“开发前准备”。

操作步骤

步骤1 下载SDK和Demo源码

1. 按照“SDK下载”章节,下载SDK的ZIP包。

2. 解压ZIP包,得到如下文件及目录。

4-18 SDK 包的目录结构

步骤2 拷贝依赖文件

1. 运行bat目录下的批处理脚本。以编译32位Release版本为例,执行 copy_dependency_win32_release.bat脚本,脚本将:

● SDK的头文件和lib文件拷贝到SDK目录下。

● SDK的dll文件和资源文件拷贝到out目录下。

步骤3 编译和运行

1. 双击demo目录下的demo.sln VS工程文件。

2. 在VS中选择32位Release版本。

(51)

4-19 选择 32 位 Release 版本

3. 编译并运行demo工程

4-20 Windows Demo 登录前界面

步骤4 使用Demo

假设环境中的网络没有Proxy,PC可以直接访问公网。以创建一个即时会议为例:

1. 点击“Init”按钮。

2. 点击“Login”按钮,并输入华为云会议帐号和密码。

(52)

4-21 Windows Demo 登录后界面

3. 点击“Create Conf”按钮,创建会议。

4-22 会中界面

----结束

4.4 跑通 Windows Electron Demo

本小节描述如何快速编译并运行客户端SDK的Windows Electron Demo。

环境要求

在Windows Electron Demo的运行过程中请满足如下环境要求。

(53)

4-7 环境要求

环境和工具名称 版本要求 说明

操作系统 Windows 10专业版 硬件要求:

● CPU:i5-2400四核 3.1GHz及以上。

● 内存:4GB及以上。

Electron 10.1.3及以上 NA

Microsoft Visual Studio Visual Studio 2017 可选,仅在需要重新编译 Demo中的C++代码时才需 要

测试资源及App ID申请 NA 请参见“开发前准备”。

操作步骤

步骤1 下载SDK和Demo源码

1. 按照“SDK下载”章节,下载Electron Demo的ZIP包(如“hwm-electron-

demo-src-70.7.5.zip”)。

2. 解压Electron Demo ZIP包,得到如下文件及目录。

4-23 Electron Demo ZIP 包的目录结构

(54)

说明

– “C++代码目录”下的是接口转换通道的C++源代码。源代码编译后的生成了32位和64 位动态库文件“JsAdapter.dll”分别是“UISDKJsAdapter\build-2017\Win32\Release

\JsAdapter.dll”和“UISDKJsAdapter\build-2017\x64\Release\JsAdapter.dll”。

Demo中直接使用了这个动态库文件。

– hwm-electron-demo\src\AppService\是接口转换通道的JavaScript代码。当前已经提 供的接口请参考“表7-156”。如果这部分接口能满足第三方应用的要求,您可以直接 使用。如果Windows SDK已经提了接口,但是AppService中没有这部分接口,您可以 参考“7.8.3 增加新接口指导(可选)”自己增加新的接口,并重新编译

UISDKJsAdapter。

步骤2 拷贝Windows SDK文件

注意

1. 如果已经安装node,请先确定自己node版本是32位还是64位,可以执行cmd/shell 命令查看node版本的位数,结果:x64为64位, ia32为32位。

$ node -p "process.arch"

2. 如果没有安装node,可到nodejs官网下载对应版本。

● 如果node版本是32位,执行步骤1中解压目录下的copy_win32_depend_dll.bat

● 如果node版本是64位,执行步骤1中解压目录下的copy_x64_depend_dll.bat bat脚本会将对应位数的JsAdapter.dll文件、hwm_sdk_agent.dll文件、HwmSdk.exe文 件(x64独有)、HwmSdk文件夹内的dll文件和资源文件拷贝到“hwm-electron- demo\resources\HwmSdk\”目录下

4-24 执行脚本拷贝 dll 文件

步骤3 环境准备

1. 如确认node已经安装,请先配置npm镜像

安装依赖前先配置npm镜像,以提高安装速度,执行以下命令:

npm config set registry http://registry.npm.taobao.org/

npm config set electron_mirror https://npm.taobao.org/mirrors/electron/

2. 因为安装 ffi-napi 依赖的时候,需要有编译环境,否则会因为无法编译而报错。

● Python 2.7

● visual C++ Build Tools

● .net framework 4.5.1

(55)

如已安装了以上环境,则忽略以下流程,直接看步骤4 安装依赖。

3. 以管理员身份运行cmd,否则会提示权限不足执行 npm install –global windows-build-tools;

以上命令行会自动把python和c++开发工具包都集成进去。

python系统环境变量需要自行配置 图4-25 安装 windows-build-tools

步骤4 安装依赖

1. 执行npm install -g node-gyp

2. 在"hwm-electron-demo\"下执行"npm install"。(安装项目依赖的 node_modules)

3. 在"hwm-electron-demo\"下执行"npm install -S ffi-napi"。(安装ffi-napi依赖 时,会自动使用node-gyp进行编译)

4. 在"hwm-electron-demo\"下执行"npm install -S ref-napi"。

5. 在"hwm-electron-demo\"下执行"npm install -S ref-array-napi ref-struct- napi"。

步骤5 启动react项目

1. 打开“hwm-electron-demo\main.js”

取消“win.loadURL('http://localhost:3000'”的注释, 然后注释掉

“win.loadFile(path.join(__dirname, './index.html'))”

结果如下:

(56)

win.loadURL('http://localhost:3000')

// win.loadFile(path.join(__dirname, './build/index.html')) // win.loadFile(path.join(__dirname, './index.html'))

2. 在“hwm-electron-demo\”下执行"npm run start"。

4-26 启动 react 项目

说明

浏览器中的“TypeError: Cannot read property 'remote' of undefined”错误提示不用管。

步骤6 启动Electron项目

另外启动一个命令行Shell,在“hwm-electron-demo\”执行“npm run auto”。

(57)

4-27 Electron Demo 主界面

步骤7 使用Electron Demo

● 点击“Init”初始化SDK。(如果是32位,ExePath不用填)

(58)

4-28 初始化 SDK

说明

ExePath是Windows SDK的HwmSdk所在的路径,以步骤2的示例为例路径则是:“D:\hwm- electron-demo-src-70.7.5\hwm-electron-demo\resources\app\resources\”。(千万不要少了 最后的反斜杠\)

4-29 登录

(59)

4-30 创建会议

----结束

4.5 跑通 Mac Native Demo

本小节描述如何快速编译并运行客户端SDK的Mac Native Demo。

环境要求

在Mac Native Demo的编译运行过程中请满足如下环境要求。

4-8 环境要求

环境和工具名称 版本要求 说明

操作系统 Mac OSX High Sierra

10.14.4及以上 Xcode对Mac系统要求,

推荐版本10.15以上

Xcode Xcode11及以上 Demo及文档以

xcode12.0.1为例

测试资源及App ID申请 - 请参见“开发前准备”。

操作步骤

步骤1 下载SDK和Demo源码

1. 按照“SDK下载”章节,下载SDK的ZIP包。

2. 解压ZIP包,得到如下文件及目录。

4-31 SDK 包的目录结构

(60)

步骤2 编辑和运行

1. 修改bundle identifier、安装对应的证书。换成自己公司的对应证书。

2. 修改Xcode Preferense的Build Location改成Custom

4-32 Xcode Build location 修改

3. 编译运行。

步骤3 使用Demo

以创建1个即时会议为例:

1. 点击“初始化”按钮,初始化SDK。

(61)

4-33 Mac Demo 首界面

2. 点击“登录”按钮进入“登录页面”,在“登录页面”输入帐号密码后点击“登 录”。

4-34 Mac Demo 登录界面

(62)

3. 点击“创建会议”按钮,进入创建会议界面,创建会议。

4-35 Mac Demo 创建会议界面

4-36 Mac Demo 会中界面

----结束

4.6 跑通 Mac Electron Demo

本小节描述如何快速编译并运行Mac端的HWMUISDK Electron Demo。

(63)

环境要求

在Mac HWMUISDK Electron Demo的运行过程中请满足如下环境要求。

4-9 环境要求

环境和工具名称 版本要求 说明

操作系统 MacOS 10.15 NA

Electron 10.1.3以上 Demo以Electron10.1.5版 本做示例

XCode 12.0及以上 NA

node-gyp 7.1.2 编译JavaScript桥接动态库

需要

bindings 1.5.0 编译JavaScript桥接动态库

需要

测试资源及App ID申请 NA 请参见“开发前准备”。

操作步骤

操作步骤

步骤1 下载SDK和Demo源码

1. 按照“SDK下载”章节,下载Mac HWMUISDK Electron Demo的ZIP包(如

“HWMUISDKElectronDemo-60.10.5.zip”)。

2. 解压Windows SDK的ZIP包,包结构参考“图1 SDK包的目录结构”。

3. 解压Electron Demo ZIP包,得到如下文件及目录。

(64)

4-37 HWMUISDKElectronDemo ZIP 包的目录结构

4-38 HWMUISDKElectronDemo 脚本说明

步骤2 准备运行electron demo的环境

1. 安装electron10.1.5版本,运行npm install --save-dev [email protected] -g

npm install --save-dev [email protected] -g

2. 安装node-gyp

npm install node-gyp -g

(65)

3. 安装bindings

npm install bindings -g

步骤3 在“HWMUISDKElectronDemo”下执行“sh build_nodeaddon_mac.sh”。会自动安 装项目依赖的node_modules,并编译生成动态库hwmsdk.node,并拷贝到demo/

public目录下。

说明

● 由于国内环境问题,运行build_nodeaddon_mac.sh可能卡在install.js,或者下载electron失 败。可以通过修改~/.npmrc文件添加如下代码解决

registry=https://registry.npm.taobao.org

electron_mirror=https://npm.taobao.org/mirrors/electron/

● build_nodeaddon_mac.sh还会执行package.json的postinstall-mac脚本拷贝原生Mac framework到Electron App下的framework目录中,所以脚本执行完后请检查demo/

node_modules/electron/dist/Electron.app的framework目录下是否有 HWMUISDK.framework等Mac原生framework

步骤4 启动Demo

在“HWMUISDKElectronDemo”下执行"sh run_demo_mac.sh"。即可成功运行起 Mac Electron Demo。

步骤5 Electron Demo功能介绍

4-39 Electron Demo 主界面

步骤6 使用Electron Demo

● 点击“Init”初始化SDK。在登录前启动监听相关通知

(66)

4-40 初始化 SDK,并监听相关通知

4-41 登录

(67)

4-42 登录成功后进入二级页面

4-43 点击"Create Conf"按钮进入创建即时会议界面

(68)

4-44 点击“Submit”按钮,创建会议,成功即进入会中界面

----结束

(69)

5 Android SDK

5.1 概述 5.2 修订记录 5.3 快速入门 5.4 典型场景 5.5 接口参考 5.6 错误码参考 5.7 版本更新内容

5.1 概述

会议二次开发Android SDK 提供了一套完整的接口集合,开发者可以通过调用 HUAWEI CLOUD Meeting SDK(以下简称SDK)开放的API,快速集成音视频会议,

包括创建/预约/加入会议、进行屏幕共享、点对点呼叫等。

说明

● Android SDK只能运行在主流的手机和Pad上。如果运行在定制硬件的Android设备上,可能 会导致画面分辨率低、画面旋转角度不正确、回声等问题。

● Android SDK不支持在华为智慧屏和华为企业智慧屏上做二次开发。

(70)

5.2 修订记录

5-1 修订记录

日期 版本 修订内容

2022-2-19 70.14.5 1. 预约、编辑会议支持设置“来宾在主持 人之前加入会议”,并可设置提前入会时 间,具体参数请见 预约会议参数说明 。 2. 预约云会议室时支持选择预约固定云会 议室ID或随机云会议室ID,具体请见

VmrIdType枚举说明。

3.APPID登录支持指定部门ID,具体请见

AppIdAuthParam参数说明。

4. 问题修复

具体使用请见70.14.5更新内容

2022-1-19 70.13.5 1. 登录、登出接口新增uuid、account、

thirdAccount字段,具体请见LoginResult

类型说明、LogoutResult类型说明。如果

是老版本升级到70.13.5版本,需要修改回调 函数的定义。

2. 第三方视频推流接口支持MMR会议,具 体请见第三方视频推流。

3. 业务消息通知中新增onConfIncoming接 口,允许在入会前获取来电信息,具体请 见业务消息通知。

4. 问题修复

具体使用请见70.13.5更新内容

2021-12-23 70.12.6 1. 修复弱网情况下导致清晰度降低后不能 恢复的问题

具体使用请见70.12.6更新内容 2021-12-15 70.12.4 1. RxJava升级到3.0.13版本

2. 问题修复

具体使用请见70.12.4更新内容 2021-12-3 70.11.5 1. 新增配置日志保存天数

2. HMS Scankit升级到2.1.0.300版本 3. 问题修复

具体使用请见70.11.5 更新内容 2021-10-22 70.10.5 1. 去除无效资源

2. 问题修复

具体使用请见70.10.5 更新内容

(71)

日期 版本 修订内容

2021-09-16 70.9.5 1.新增SSO登录方式 2.移除tinypinyin库

具体使用请见70.9.5 更新内容 2021-08-28 70.8.6 问题修复,体验更稳定

2021-08-18 70.8.5 1.从此版本开始,Android UI SDK切换为 AndroidX依赖

2.支持获取与会者列表(含网络研讨会)

具体使用请见70.8.5 更新内容

2021-07-16 70.7.5 1.支持会中设置本会场视频画面是否镜像 2.支持安卓11的API 30版本

3.okhttp升级到4.9.1

具体使用请见70.7.5 更新内容 2021-06-10 70.6.5 1.删除了ZXing的依赖

2.tinypinyin 升级到3.0.0 3.aspectjrt升级到1.9.6 4.gson升级到2.8.6

具体使用请见70.6.5 更新内容

2021-05-17 70.5.8 1.会中与会者和聊天模块适配横屏体验 2.支持聊天弹幕

具体使用请见70.5.8 更新内容 2021-04-15 70.4.5 1.预约会议接口添加返回值参数说明

2.sdk初始化约束,限制初始化必须在 Application的OnCreate主线程中执行 3.新增获取用户当前状态接口

4.会中新增主持人邀请他人共享,主持人 也可快速取消共享

5.移动端的前后摄像头切换按钮放到主界 面上

6.会议日志大小优化

7.libs文件夹中aar文件整合,使用时需先 清空之前历史版本文件,重新导入 具体使用请见70.4.5 更新内容

(72)

日期 版本 修订内容

2021-03-12 70.3.5 1.移除会中自定义分享链接,自定义分享 链接功能可以通过自定义会中分享面板实 现

2.去掉短信权限的要求 3.错误码变更

4.观看共享时叠加发言人视频窗口,并支 持下拉关闭

5.支持手机、平板同时登录 具体使用请见70.3.5 更新内容 2021-02-10 60.15.6 1.新增自定义来电自动处理接口

2.新增自定义设置来电响铃和震动 3.sdk 资源包aar依赖变更

4.自定义隐藏外部标签,

具体使用请见60.15.6 更新内容 2021-01-08 60.13.2 1. 添加与会者

2. 离开会议 3. 结束会议 4. 错误码更新

具体使用请见60.13.2 更新内容

2020-12-07 60.12.5 1. 创建会议支持指定会议室(vmrId)和 入会范围(joinConfRestrictionType)

2. 错误码更新 3. 新增头像上传接口

4. 新增头像拦截接口,可以使用自己的头 像显示

5. 自定义菜单样例更新 具体参见60.12.5更新内容 2020-11-07 60.11.1 1、新增支持会议自动录制

2、新增自定义会议来电接听按钮显示 3、新增呼叫设置昵称

具体参见60.11.1更新内容

2020-10-15 60.10.5 1、 新增是否开启第三方数据采集配置:

2、 新增自定义接入站点:

3、 自定义会中分享面板参数变更:

4、 加入会议接口参数变更:

具体参见60.10.5更新内容

(73)

日期 版本 修订内容

2020-09-04 60.8.1 1、初始化增加App ID,可以传入企业App ID

2、新增App ID登录、预约会议、编辑会 议、会议列表、会议详情、取消会议等接 口

3、新增自定义是否开启高清优先、自定义 会议接听摄像头麦克风开关等配置接口。

4、创建会议参数新增是否开启录制。

5、问题修复,体验更稳定 具体参见60.8.1更新内容

2020-07-30 60.7.1 1、会议中UI界面优化,菜单目录结构和接 口发生变更,逻辑更清晰

2、支持会议中成员文字聊天,支持自定义 配置是否显示

3、会控菜单自定义接口优化,部分接口替 换,使用更灵活

具体参见60.7.1更新内容 2020-06-29 60.6.4 新增如下接口

● 新增回调会中是否是主持人

● 新增接口当前是否是主持人 修改如下接口

● 部分参数变更

参照自定义会中分享链接

● 部分接口修改

参照自定义底部菜单栏 2020-05-08 60.5.3 更新部分使用文档:

● 删除“创建会议(携带与会人信息)”

接口,和“创建会议”接口合并

● 优化接口名称和结构 2019-11-12 6.1.223 修复部分已知问题 2019-08-31 6.1.203 新增如下接口

注销功能

修改如下接口

登录登录:接口参数发生变更,登录地

址与端口不再需要传入

加入会议:加入会议接口与匿名入会接

口合并,删除匿名入会接口,加入会议 接口参数发生变更

(74)

日期 版本 修订内容 2019-07-23 6.1.195 新增如下接口:

● 匿名入会:支持用户匿名入会(未登录 场景下的入会)。

● 支持会议中返回到悬浮窗状态。

2019-06-21 6.1.187 新增如下接口:

发起呼叫:支持用户主动发起点对点呼

叫。

2019-04-13 6.1.27 新增如下接口:

● 创建会议(携带与会人信息):支持在 创建即时会议的时候携带与会者,与会 者会收到呼叫入会的来电。

新增如下能力:

● 来电接听:支持应用在前台收到其他人 的来电接听后加入会议。

● 应用集成,详见基于应用的集成。

2019-03-29 6.1.23 首次发布。

5.3 快速入门

本文面向有一定Android原生开发能力的开发者,以登录华为云会议并发起和加入视频 会议的流程为例,介绍如何使用SDK 进行二次开发

开发环境准备

在接入SDK前需要准备如下环境:

环境要求(强制要求)

开发环境,目的是为了给编译运行源码的人员提供参考:

环境要求(非强制要求)

SDK 快速集成

步骤1 解压SDK

下载解压软件包,得到如下几个文件:

5-1 文件目录

(75)

步骤2 新建工程

● 打开Android Studio,单击“File -> New -> New Project...”新建工程,选择 Phone and Tablet -> Empty Activity 单击Next:

5-2 创建工程

● 输入相关项目信息,单击“Finish”完成工程创建。(请注意最小Android API 版 本为23):

(76)

5-3 设置名称

步骤3 集成SDK

● 在Android Studio中,将工程目录结构切换到Project:

數據

表 4-2 编译配置要求(非强制要求) 名称 要求 jdk配置 sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 gradle version gradle-5.4.1-all
表 4-7 环境要求 环境和工具名称 版本要求 说明 操作系统 Windows 10专业版 硬件要求: ● CPU:i5-2400四核 3.1GHz及以上。 ● 内存:4GB及以上。 Electron 10.1.3及以上 NA
表 4-8 环境要求
表 4-9 环境要求 环境和工具名称 版本要求 说明 操作系统 MacOS 10.15 NA Electron 10.1.3以上 Demo以Electron10.1.5版 本做示例 XCode 12.0及以上 NA node-gyp 7.1.2 编译JavaScript桥接动态库 需要 bindings 1.5.0 编译JavaScript桥接动态库 需要 测试资源及App ID申请 NA 请参见“开发前准备”。 操作步骤 操作步骤 步骤1 下载SDK和Demo源码
+7

參考文獻

相關文件

[r]

[r]

协会/组织会议: 由协会/组织主办之会议。.

奖励活动:

大型会议:

http://www.dsec.gov.mo/sc/mice.aspx

其中﹕四小时或以上 展览入场人数 奖励活动参与人数

[r]