5つの簡単なステップでズームアプリを構築する方法–2022年のトップガイド

公開: 2021-11-17

世界中の国々が封鎖を実施することでCOVID-19ウイルスの流行に対応して以来、私たちが何度も耳にしたアプリケーションが1つあります。 世界が物事を行うための新しい方法を開くにつれて、ズームはすべての人のツールセットにあります。 多くの企業は、スタッフが自宅で仕事をすることを許可することで業務を調整しようとしています。その結果、Zoomの人気が急上昇しています。 その結果、ウイルスの発生による組織への影響を軽減すると同時に、スタッフが感染するリスクを軽減できます。

企業の従業員は、Zoomビデオ通話ソフトウェアまたはその他のトップズームアプリのクローンを使用して、自宅で仕事をしながらオンライン会議を開くことができます。 ここ数週間、ビデオ会議プログラムの需要が急増しています。 私たち全員にとって、COVID-19の危機は困難な時期でしたが、それを最大限に活用するよう努力する必要があります。 一部の起業家は、この需要の増加をZoomのようなビデオチャットアプリを作成するチャンスと見なしています。 ビデオ会議アプリの作成方法を学びたい場合は、この記事を読んで、モバイルアプリ開発について知っておく必要のあるすべてのことを学んでください。

Zoom App Marketplaceには、Zoomサービスをアプリに統合するためのオプションがいくつかあります。 マーケットプレイスにログインし、[開発]> [アプリのビルド]に移動して、Zoomが提供するアプリの種類を確認します。 [アプリのビルド]をクリックすると、5つの異なるアプリタイプのページが下に表示されます。

さまざまなアプリの種類を理解する

Zoomは、Zoom API(JWT)を使用するためのアプリのリクエストを認証するために、OAuth2.0とJSONWebTokenをサポートしています。 標準のOAuth2.0を採用しているアプリは、さまざまなスコープから選択して、ユーザーのZoomアカウントから必要なデータを示すことができます。 これらのスコープは、ZoomAPIの使用方法にも関係しています。 このアプリは、Zoom APIとインターフェースを取り、ZoomおよびZoomユーザーによって承認された後、要求されたデータへのアクセスを取得できます。 これらのアプリは、ユーザーまたはZoomアカウント管理者のいずれかがZoomAppMarketplaceからダウンロードできます。

一方、JWTを使用するアプリは、スコープを設定したり、Zoomユーザーにデータへのアクセス許可を付与するように要求したりすることはできません。 これらのアプリは、トップズームアプリクローンでサーバー間認証を使用します。つまり、Zoomのサービスを利用するには、JSONWebトークンをZoomに提供してIDを確認する必要があります。 これらのアプリはマーケットプレイスにアップロードできません。

パブリックアプリとプライベートアプリ

開発者は、Zoom Marketplaceで、製品またはサービスのパブリックな使用またはプライベートな拡張として、さまざまなアプリケーションを作成してきました。 パブリックアプリは、すべてのZoomユーザーがアクセスできるように設計されたアプリです。

個々のユーザーは、これらのアプリをZoomクライアントにチャットボットとしてインストールするか、Zoom製品およびサービスを使用するためのサードパーティサービスへの統合としてインストールできます。 マーケットプレイスでリリースされる前に、すべてのパブリックアプリは徹底的な品質とセキュリティの評価を受けます。

ソフトウェアをマーケットプレイスで利用できるようにすることで大きなメリットが得られる理由はたくさんあります。 特にパブリックアプリは、Zoomの大規模で増加しているユーザーベースですぐに利用できます。 私たちでは、バックエンドとデータストレージ、セキュリティ、カスタマーサポートの利点など、これらの利点の多くを経験しています。

プライベートアプリは、単一の開発者アカウントによって作成され、単一の開発者アカウントでのみ利用できるアプリです。 アカウント管理者は、これらのアプリを使用してアカウントを管理し、Zoomの製品やサービスを操作できます。 プライベートアプリは、それらが作成された開発者アカウントでのみ使用することを目的としています。 アカウント外のユーザーに公開可能なURLをリクエストするには、チュートリアルを参照してください。

アカウントレベルおよびユーザー管理のアプリ

必要な認証のタイプを決定するインストールのタイプに応じて、トップズームアプリクローンを使用するズームマーケットプレイスには2つのタイプのアプリケーションがあります。

Zoom Developerアカウントレベルのアプリは、そのアカウントにのみインストールされ、ユーザーの管理に使用されるアプリです。 これらのアプリは、Zoomアカウントのユーザー、レポート、およびコンテンツを管理するために使用されるZoomAPIにアクセスできます。 ユーザーに代わって会議を作成および管理するために会社が使用する内部ダッシュボードは、アカウントレベルのアプリの例です。

ユーザー管理アプリは、個々のユーザーによってインストールされるアプリであるため、ユーザーに代わって認証が必要です。 個々のユーザーの素材を制御するZoomAPIには、これらのアプリ用の特別なアクセスセットがあります。 ユーザー管理アプリは、ユーザーにアプリの許可と再承認に対する権限を与え、Zoomアカウントを保護および管理できるようにします。 個人のカレンダー拡張機能や、ユーザーが自分で会議を作成できるアプリなど、特定のユーザーに関連付けてZoomを使用するアプリケーションは、ユーザー管理アプリの例です。 Zoom Marketplaceでユーザー管理アプリを確立するには、OAuth認証が必要です。

JSON(JWT)のWebトークン

JSON Web Tokenは、Marketplace開発者が2つのサービス間で情報を通信するためのシンプルで安全な方法であり、ZoomAPIで認証できるようにします。 JWTは短く、自己完結型であるため、URLまたは単純なリクエストを介して配信される単一のJSONオブジェクトでユーザーのすべてのコンテキストと情報を表現できます。 マーケットプレイスの開発者は、JSON Web Tokenを使用して、アカウントレベルのアプリへのアクセスを認証します。これにより、管理者は自分のアカウントまたはユーザーを管理できます。 JWTを使用したZoomアプリの開発の詳細については、認証ドキュメントを参照してください。

チャットボット

チャットボットは、ZoomClientのチャットインターフェイスを使用してユーザーとやり取りするアカウントレベルのプログラマーです。 Zoom Clientを使用すると、開発者として新しいコマンド、データ接続、チャットカード形式を指定できるため、チャットボットを簡単にカスタマイズしてさまざまな目的を達成できます。 チャットボットを使用すると、ZoomClientのチャットとやり取りして返信するフル機能のアプリを作成できます。 これらのアプリは、他の種類のアプリと同じ方法で、すべてのZoom API、Webhook、およびサードパーティサービスと通信でき、最上位のZoomアプリクローンでOAuth2.0認証メカニズムを採用しています。

Webhookのみ

アクション(イベント)が開始されると、Webhook専用アプリはイベントサブスクリプションを使用して、サードパーティのサービスをZoomプラットフォームに統合およびリンクします。 これにより、複数のAPI呼び出しを行うことなく、Zoomアカウントで特定のイベントが発生したときに通知を受信するプロセスを自動化できます。 通知は、イベントの詳細を示すJSONペイロードを含むHTTPPOSTリクエストとしてエンドポイントURLに送信されます。 これにより、アプリは、新規または作成時にサーバーにデータを通信したり、終了後に記録されたデータを保存したり、ユーザーがプログラムをアンインストールしたときにデータベースに通知するイベントを設定したりできます。

OAuth

Zoom Marketplaceは、プログラムがHTTPを介してユーザーアカウントへのアクセスを要求できるようにする業界標準の承認メカニズムであるOAuth2.0をサポートしています。 これにより、アプリケーションは個々のユーザーデータを管理できます。 Zoom APIとの安全な統合を可能にして、各ユーザーの承認済みデータにアクセスできるエンドユーザーアプリケーションは、OAuthアプリと呼ばれます。 承認を取得したら、OAuthを利用して、Zoomアカウントにリンクされているユーザーの情報へのアクセスを許可できます。 アカウント管理者は、アカウント全体でOAuthアプリをアカウントレベルのアプリとしてインストールおよび管理できます。または、エンドユーザーは、トップズームアプリのクローンを作成して、ユーザー管理アプリとしてOAuthアプリを個別にインストールおよび管理できます。

これらのアプリはどのように機能しますか

例としてズームを取り上げましょう。 このプログラムにより、ユーザーはHDビデオとオーディオを表示できるだけでなく、1回の会議で最大1000人を収容できます。 参加者は、インターネットにアクセスできる限り、世界中のどこからでも会議に参加できます。 また、いつでもカメラまたはマイクのスイッチを切ることを選択できます。 会議の参加者の数に関係なく、同社はすべてのサービスをユーザーに提供しようとしています。 トップへの昇格を支援したZoomの品質の一部を次に示します。

  • 画面の共有–会議の参加者はあなたと同じ部屋に物理的に存在しないため、あなたのプレゼンテーションを見ることができません。 Zoomは、画面共有という形で巧妙なソリューションを考案しました。これにより、参加者はプレゼンテーション中にグループの他のメンバーと画面を共有できます。
  • チャット– Zoomの統合チャット機能により、会議の参加者は互いに正常に会話できます。 すべての会議参加者に同時にメッセージを送信するか、各参加者に個別のメッセージを送信するかを選択できます。
  • 挙手(仮想) –参加者が問題について心配事を話したり声を出したりしたい場合は、仮想挙手絵文字を使用してホストに警告できます。 これにより、ビデオ会議アプリの効率が向上すると同時に、多数の個人が同時に話すことを防ぎます。
  • 投票–主催者が参加者が特定のトピックについてどう思っているかを知りたい場合は、投票を作成してフィードバックを得ることができます。
  • 参加者のミュート–主催者が、参加者がトップズームアプリのクローンで会議の中断を引き起こしていると考えている場合、その参加者をミュートできます。
  • 会議の記録–ボタンを1回押すだけで、ズーム会議を簡単に記録できます。 この記録は、デバイスにローカルに保存するか、クラウドに転送できます。
  • 暗号化–すべてのZoom会議は、エンドツーエンドの暗号化ソフトウェアによって保護されています。これにより、許可なく会議に参加することはできません。 主催者の同意なしに、法人でさえ会議に出席することはできません。

ビデオアプリの開発

これらは、ビデオ会議ソフトウェアの開発中に行う最も重要なプロセスの一部です。

  • バックエンド開発—開発の初期段階でビデオ会議ソフトウェアを実行するサーバーを確立することが重要です。 事前に作成されたテクノロジーに依存するのではなく、サーバーをゼロから作成することが常に望ましいです。
  • UIデザイン–サービスの第一印象は、トップズームアプリクローンのユーザーインターフェイスによって形成されます。 結果として、魅力的で直感的なユーザーインターフェイスを持つことが重要です。
  • iOSおよびAndroidとの互換性—より多くのユーザーにリーチするには、ソフトウェアがiOSおよびAndroidスマートフォンの両方と互換性がある必要があります。 Swiftを使用してiOSアプリを作成し、WebRTCを使用してAndroidアプリを作成できます。

Zoomのテクノロジースタックは、クラウドネットワークとビデオアーキテクチャの2つの部分に分かれています。

クラウドネットワーク

Zoomのビデオ会議ソフトウェアは、経験豊富なスタッフが定期的に細心の注意を払って保守、監視、最適化するプライベート接続で接続されたデータセンターのネットワークを使用しています。 このネットワークは、世界中の接続を提供し、世界中のユーザーがスムーズな接続を楽しめるように設計されています。 Zoomは、世界中に15を超えるデータセンターを配置しており、ネットワークを拡大し続けています。

ビデオアーキテクチャ

バックエンドテクノロジーとクラウドネイティブインフラストラクチャのアーキテクチャは、ビデオの厳しい要件を処理するように最適化されており、バックエンドテクノロジーとクラウドネイティブインフラストラクチャを区別する4つの重要な要素があります。

分散アーキテクチャ:

Zoomのアーキテクチャでは、一元化されたアプローチを使用するのではなく、データセンターネットワーク全体に会議を分散できるため、ユーザーは最寄りのデータセンターへのプライベート接続を介して簡単に会議に参加できます。 これにより、最高のズームアプリクローンとズームプラットフォームのスケーラビリティが提供され、1回の会議で最大数万人のユーザーをサポートできるようになります。

マルチメディア配信:

マルチメディアルーティングは、他の会議参加者からクライアントのデバイスにいくつかのビデオストリームを送信し、CPUパワーを削減し、高度にスケーラブルなシステムを保証します。 マルチメディアルーティングは、約100人しか収容できない通常のMCUの15倍の人数を収容できます。 一方、レガシーシステムは通常、マルチポイントコントロールユニット(MCU)を使用してストリームをデバイスに配信する前に選択するため、リソースを大量に消費するコンピューティングが必要になり、システムの品質とスケーラビリティが制限されます。

マルチビットレートエンコーディング:

ストリームルーティングとは別に、各ストリームはそれ自体で多数の解像度に調整できます。 これにより、各エンドポイントのストリームをエンコードおよびデコードする必要性が減り、パフォーマンスとスケーラビリティが向上します。 トップズームアプリのクローンは、デバイスとネットワークの機能に応じてさまざまなビデオ品質レベルを提供することもできます。

アプリケーション層でのサービス品質:

当社のプロアクティブなサービス品質アプリケーション層は、各デバイスのビデオ、オーディオ、および画面共有エクスペリエンスを利用可能な帯域幅に合わせて調整し、あらゆるネットワークで可能な限り最高のユーザーエクスペリエンスを実現します。

最後の言葉

ほとんどの消費者がビデオ会議ツールに期待することは、Zoomとtopzoomアプリのクローンによってすでに実証されています。 その結果、ソフトウェアにはZoomと同じ機能が含まれている必要がありますが、Zoomが不足している領域も改善されています。 SwiftやWebRTCなどのオープンソーステクノロジーを使用して、アプリ開発プロセスを合理化し、リアルタイムで通信できるアプリを作成します。 Zoomビデオ会議ソフトウェアは、優れたビデオ会議アプリのあり方の基準をすでに設定しています。