如何通過五個簡單的步驟構建 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 視頻會議軟件已經為優秀的視頻會議應用設定了標準。