如何通过五个简单的步骤构建 Zoom 应用程序 - 2022 年顶级指南
已发表: 2021-11-17自从世界各国通过实施封锁来应对 COVID-19 病毒流行以来,我们一遍又一遍地听到了一个应用程序。 随着世界向新的做事方式敞开大门,Zoom 出现在每个人的工具集中。 许多企业正试图通过允许员工在家工作来调整运营,这导致 Zoom 的受欢迎程度激增。 因此,他们可以减轻病毒爆发对其组织的影响,同时降低员工被感染的风险。
公司员工可以使用 Zoom 视频通话软件或任何其他顶级 Zoom 应用程序克隆在家工作时进行在线会议。 最近几周,对视频会议程序的需求激增。 对于我们所有人来说,COVID-19 危机是一段艰难的时期,但您应该努力充分利用它。 一些企业家将这种需求增长视为创建 Zoom 等视频聊天应用程序的机会。 如果您想学习如何制作视频会议应用程序,请阅读本文以了解您需要了解的有关移动应用程序开发的所有信息。
Zoom App Marketplace 有许多选项可用于将 Zoom 服务集成到您的应用程序中。 登录 Marketplace 并转到开发 > 构建应用程序以查看 Zoom 提供的应用程序类型。 当您单击构建应用程序时,下面会出现一个包含五种不同应用程序类型的页面。
了解不同的应用程序类型
Zoom 支持 OAuth 2.0 和 JSON Web 令牌,用于验证您的应用程序使用 Zoom API (JWT) 的请求。 采用标准 OAuth 2.0 的应用程序可以从各种范围中进行选择,以指示它们需要来自用户 Zoom 帐户的数据。 这些范围也与我们的 Zoom API 的使用方式相关。 该应用程序可以与 Zoom API 接口,并在获得 Zoom 和 Zoom 用户授权后获得对请求数据的访问权限。 这些应用程序可以由用户或 Zoom 帐户管理员从 Zoom App Marketplace 下载。
另一方面,使用 JWT 的应用程序无法设置范围或要求 Zoom 用户授予他们访问数据的权限。 这些应用程序使用顶级 Zoom 应用程序克隆的服务器到服务器身份验证,这意味着它们必须通过向 Zoom 提供其 JSON Web 令牌来确认其身份,才能使用 Zoom 的服务。 这些应用程序无法上传到 Marketplace。
公共和私人应用程序
开发人员已经制作了广泛的应用程序供公众使用或作为其产品或服务在 Zoom Marketplace 上的私人扩展。 公共应用程序旨在供所有 Zoom 用户访问。
个人用户可以将这些应用程序作为聊天机器人安装在其 Zoom 客户端上,或作为集成到第三方服务中以使用 Zoom 产品和服务。 在市场上发布之前,所有公共应用程序都经过全面的质量和安全评估。
让您的软件在市场上可用的原因有很多,这会给它带来巨大的好处。 尤其是公共应用程序,Zoom 庞大且不断增长的用户群可立即使用。 在我们身上,我们经历了更多这些优势,例如后端和数据存储、安全性和客户支持的优势。
私有应用程序是由单个开发者帐户制作并且仅供单个开发者帐户使用的应用程序。 帐户管理员可以使用这些应用程序来管理他们的帐户并与 Zoom 产品和服务进行交互。 私有应用程序仅适用于构建它们的开发者帐户。 请参阅我们的教程,为您帐户之外的用户请求可发布的 URL。
帐户级和用户管理的应用程序
Zoom Marketplace 中有两种使用 Top zoom 应用程序克隆的应用程序,具体取决于安装类型,这决定了所需的身份验证类型。
Zoom 开发者帐户级别的应用程序是仅安装在该帐户上并用于管理用户的应用程序。 这些应用程序可以访问 Zoom API,这些 API 用于管理 Zoom 帐户的用户、报告和内容。 您的公司用来代表您的用户创建和管理会议的内部仪表板就是帐户级应用程序的一个示例。
用户管理的应用程序是由个人用户安装的应用程序,因此需要代表他们进行身份验证。 控制个人用户资料的 Zoom API 为这些应用程序设置了特殊的访问权限。 用户管理的应用程序赋予用户对应用程序权限和重新授权的权限,使他们能够保护和管理其 Zoom 帐户。 任何与特定用户绑定以使用 Zoom 的应用程序,例如个人的日历扩展程序或允许用户为自己创建会议的应用程序,都是用户管理应用程序的示例。 要在 Zoom Marketplace 上建立用户管理的应用程序,需要 OAuth 授权。
JSON 格式的 Web 令牌 (JWT)
JSON Web 令牌是 Marketplace 开发人员在两个服务之间交流信息的一种简单而安全的方式,允许他们使用 Zoom API 进行身份验证。 JWT 简短且自包含,允许它们在通过 URL 或简单请求传递的单个 JSON 对象中表达所有用户的上下文和信息。 Marketplace 开发人员利用 JSON Web 令牌来验证对其帐户级应用程序的访问权限,从而允许管理员管理他们自己的帐户或用户。 请参阅我们的身份验证文档,以更深入地了解使用 JWT 开发 Zoom 应用程序。
聊天机器人
聊天机器人是使用 Zoom 客户端中的聊天界面与用户互动的帐户级程序员。 Zoom 客户端允许您作为开发人员指定新命令、数据连接和聊天卡格式,从而轻松自定义聊天机器人以实现各种目的。 聊天机器人可让您创建与 Zoom 客户端聊天交互和回复的功能齐全的应用程序。 这些应用程序可以像其他应用程序类型一样与所有 Zoom API、Webhook 和第三方服务进行通信,并且它们在顶级缩放应用程序克隆中采用 OAuth 2.0 身份验证机制。
仅限 Webhook
启动操作(事件)时,仅限 webhook 的应用程序使用事件订阅将第三方服务集成和链接到 Zoom 平台。 这使您可以在 Zoom 帐户中发生特定事件时自动接收通知,而无需进行多次 API 调用。 通知作为带有 JSON 有效负载的 HTTP POST 请求发送,详细说明事件到端点 URL。 这可能允许您的应用程序在新的或制作时将数据传送到您的服务器,在结束后存储记录的数据,或者设置事件以在用户卸载您的程序时通知您的数据库。

身份验证
Zoom Marketplace 支持 OAuth2.0,这是一种行业标准的授权机制,允许程序通过 HTTP 请求访问用户帐户。 这允许应用程序管理个人用户数据。 允许与 Zoom API 安全集成以访问每个用户的授权数据的最终用户应用程序称为 OAuth 应用程序。 获得授权后,您可以利用 OAuth 授予访问与其 Zoom 帐户相关联的用户信息的权限。 帐户管理员可以作为帐户级应用程序跨帐户安装和管理 OAuth 应用程序,或者最终用户可以通过创建顶级缩放应用程序克隆作为用户管理的应用程序单独安装和管理 OAuth 应用程序。
这些应用程序如何工作
让我们以Zoom为例。 该程序不仅允许用户查看高清视频和音频,而且还可以在单个会议中容纳多达 1000 人。 只要参与者可以访问互联网,他们就可以从世界任何地方加入会议。 他们还可以选择随时关闭摄像头或麦克风。 无论参加会议的人数有多少,该公司都试图将其所有服务提供给用户。 以下是帮助 Zoom 登上顶峰的一些品质:
- 共享屏幕– 由于会议参与者与您不在同一房间,因此他们将无法看到您的演示文稿。 Zoom 以屏幕共享的形式提出了一个巧妙的解决方案,它允许参与者在演示期间与小组的其他成员共享他们的屏幕。
- 聊天– Zoom 的集成聊天功能使会议参与者能够成功地相互交谈。 他们可以选择同时向所有与会者发送消息,或向每个与会者发送单独的消息。
- 举手(虚拟) ——当参与者想要说出或表达他们对某个问题的担忧时,他们可以使用虚拟的举手表情符号来提醒主持人。 这提高了视频会议应用程序的效率,同时也防止了许多人同时发言。
- 民意调查——如果主持人想知道参与者对某个主题的看法,他们可以创建一个民意调查来获得他们的反馈。
- 静音参与者– 如果主持人认为参与者在顶部缩放应用程序克隆上导致会议中断,他们可以将该参与者静音。
- 录制会议– 只需按一下按钮,即可轻松录制任何 Zoom 会议。 然后可以将此记录保存在本地设备上或传输到云端。
- 加密——所有 Zoom 会议都受到端到端加密软件的保护,该软件禁止任何人在未经您许可的情况下加入您的会议。 未经主持人同意,即使是公司本身也不能参加会议。
视频应用程序的开发
这些是我们在开发视频会议软件时采取的一些最重要的过程。
- 后端开发——在开发的早期阶段建立一个服务器来运行您的视频会议软件至关重要。 从头开始创建服务器总是比依赖预制技术更可取。
- UI 设计——您的服务的第一印象是由您的顶级缩放应用程序克隆的用户界面形成的。 因此,拥有吸引人且直观的用户界面至关重要。
- 与 iOS 和 Android 的兼容性——为了覆盖更广泛的受众,您的软件应该与 iOS 和 Android 智能手机兼容。 您可以使用 Swift 制作 iOS 应用,使用 WebRTC 制作 Android 应用。
Zoom 的技术栈分为云网络和视频架构两部分。
云网络
Zoom 的视频会议软件使用通过私人连接连接的数据中心网络,由经验丰富的员工定期精心维护、监控和优化。 该网络旨在提供全球连接,并允许来自世界各地的用户享受顺畅的连接。 Zoom 在全球拥有超过 15 个共存数据中心,并且正在继续发展其网络。
视频架构
我们的后端技术和云原生基础架构的架构已经过优化,可以处理视频的苛刻要求,区分我们的后端技术和云原生基础架构有四个基本要素:
分布式架构:
Zoom 的架构不是使用集中式方法,而是允许将会议分布在我们的数据中心网络中,允许用户通过与最近数据中心的专用连接轻松加入会议。 这为顶级缩放应用程序克隆和缩放平台提供了可扩展性,使其能够在单个会议中支持多达数万用户。
多媒体分发:
多媒体路由将来自其他会议参与者的多个视频流发送到客户端的设备,从而减少 CPU 功率并确保高度可扩展的系统。 多媒体路由可以容纳的人数是普通MCU的15倍,后者只能容纳100人左右。 另一方面,传统系统通常使用多点控制单元 (MCU) 来选择流,然后再将其传送到设备,这需要资源密集型计算并限制系统的质量和可扩展性。
多比特率编码:
除了流路由之外,每个流都可以自行调整到多种分辨率。 这减少了对每个端点的流进行编码和解码的要求,从而提高了性能和可扩展性。 顶级缩放应用程序克隆还可以根据设备和网络功能提供不同的视频质量级别。
应用层服务质量:
我们的主动服务质量应用层根据可用带宽定制每个设备的视频、音频和屏幕共享体验,从而在任何网络上实现最佳的用户体验。
最后的话
Zoom 和顶级 Zoom 应用程序克隆已经证明了大多数消费者对视频会议工具的期望。 因此,您的软件必须包含与 Zoom 相同的特性和功能,同时还要改进 Zoom 的不足之处。 使用 Swift 和 WebRTC 等开源技术来简化应用程序开发过程并创建可以实时通信的应用程序。 Zoom 视频会议软件已经为优秀的视频会议应用设定了标准。
