Flexible Classroomについて
コロナ禍により、働き方や生活様式が大きく変化しました。仕事、授業、イベントや医療など様々な場面でリモートでも行えるように進化しています。新たな生活様式が急速に進む中、人々の暮らしを支えるアプリやシステムを開発する方にとって、いち早くサービスのビジネス化を実現したいという思いがある一方で、開発期間やリソースの制約といった課題に直面することも多いのではないでしょうか。
これに対して、Agoraは2021年6月にワンストップのソリューションとしてFlexible Classroomをリリースしました。リモートワークやオンライン教育に必要とする汎用的な機能が含まれています。具体的には、リアルタイムの音声/ビデオ通話、チャット、ホワイトボード、画面共有、録画、参加者の一覧表示などが含まれています。Flexible Classroomには、これらの機能を実現するためのSDK(Signaling SDK, Web SDK, Native SDK, Chat SDKなど)をすべて揃えています。UIもすでにできた状態で提供されるので、導入するハードルが下がり開発期間を短縮することができます。通常であれば4〜5週間ほどでスムーズに実装が可能です。
Flexible Classroomとは
AgoraのFlexible Classroomは、もともと遠隔授業に向けて生徒の学習意欲が高まるように豊富な機能を搭載しているソリューションとなり、現在、オンライン会議にも活用されています。オンライン授業やビジネス会議に向けて音声/ビデオ通話、チャット、画面共有、バーチャル背景や顔フィルタなど必要な機能を完備しているだけではなく、Agoraの低遅延かつ拡張性のあるプラットフォーム上に構築されており、1対1のビデオ通話から多人数のオンライン配信やウェビナーまで、幅広いお客様のニーズに合わせてカスタマイズが可能です。
※ Agora SD-RTN™(Software-Defined Real-Time Network) : Agora独自の技術による双方向性・リアルタイム性と大規模配信の両方を同時に実現することができる仮想広域ネットワーク
Flexible Classroomの特徴
Flexible Classroomの特徴は、以下のとおりです。
- オンラインコミュニケーションが円滑にできるように搭載されている様々な機能群
- リアルタイムの音声/ビデオ通話、ノイズキャンセル
- 録画/録音
※ ファイルはお客様がご指定のサードパーティのクラウドストレージ(例:Tencent Cloud, Google Cloud, Amazon S3, Microsoft Azureなど)にアップロードできます。
- 画面共有、スクリーンショット取得
- チャット、ファイルや絵文字送信
- ローカルユーザーやリモートユーザーの映像と音声のミュート/アンミュート
- ホワイトボード
※ Flexible Classroomのホワイトボード機能は、PPT, Word, PDFなどのファイルをアップロードしホワイトボードに表示させるため、サードパーティのクラウドストレージを設定する必要があります。現在Amazon S3のみサポートしています。設定方法についてはこちらをご参照ください。
- 投票やクイズ、挙手機能
- 文字起こし
※ 音声をテキスト化したデータをWebVTT形式で保存し、そのファイルをお客様がご利用のサードパーティのクラウドストレージにアップロードします。
- 参加者の一覧表示やユーザーの強制退室機能
- ブレイクアウトルーム
- Classroom SDKにはこれらの機能を実現するためのSDK(Signaling SDK, Web SDK, Native SDK, Chat SDKなど)がすべて組み込まれているので、このSDKを利用するだけでワンストップですべての機能が利用可能
- Web, Electron, Android, iOSなどの開発プラットフォームをサポート
※ 互換性の要件と推奨デバイスについて詳しくはこちらをご参照ください。
- すべてのインタフェースはカスタマイズ可能
- Agora独自のSD-RTN™️による低遅延でも高品質の音声/ビデオ通話を実現
- Agora Analytics(通話品質チェックツール)を利用することで、ユーザーごとの端末・ネットワークの分析が可能
- Agora Cloud Proxyをサポート
※ Agora Cloud Proxy:企業などで制限されたインターネット環境下でAgoraのサービスを利用する際、ファイアウォールやその他のセキュリティ機器を通過して通信を可能にするためのプロキシ機能
Flexible Classroomの用途
オンラインビデオ通話ツールに対して求められる機能は、異なる業種に多様化しています。Flexible Classroomにはオンライン会議や遠隔授業、ウェビナーなどを実現する最高の体験を創るための機能が揃っています。例えば、遠隔授業の際は、ブレイクアウトルーム機能を使って教師が生徒に一方的に教えるスタイルだけではなく、他の生徒と交流をすることも可能になります。教師が授業する時にクイズや投票、挙手機能を使ってリアルタイムで生徒のフィードバックを確認して反応をみながら教え方を柔軟に調整することもできます。
また、前述した機能をパッケージ化してお客様に提供するので、ゼロから自社開発するより開発期間を大幅に短縮できます。開発者は、Classroom SDKをサードパーティパッケージとして自前のプロジェクトに統合して、ユースケースに合わせてカスタマイズすることができます。豊富な機能と独自のUIを組み合わせることで、他社のサービスと差別化して新たな顧客層を開拓したり、開発リソースが不足して目標が達成できないお客様の手助けをします。
機能の有効化方法、セットアップやデモ
機能の有効化とセットアップ
◼️Flexible Classroom機能を有効化する
Flexible Classroom機能の有効化方法を示します。
- Agora Consoleにログイン
- 新しいAgoraプロジェクトを作成、またはプロジェクト一覧から既存のプロジェクトを選択
- Project Managementページから該当機能を有効化したいプロジェクトを選択し、ペンアイコンをクリック
- 下部左側のALL FEATURESメニューから当該機能を選択し有効化する
(以下、イメージ)
◼️Flexible Classroomのセットアップ
- ホワイトイトボード機能
- ストレージと録画
デフォルトではComposite(複合)モードを使い、各ユーザー(teacher roleのUID)の映像/音声を結合して一つのファイルにまとめられます。また、録画終了後に録画ファイルはAgoraのAmazon S3に自動でアップロードされます。
録画モードの変更または録画ファイルを最初からお客様が指定するサードパーティのクラウドストレージに保存したい場合は、Flexible Classroomの設定画面におけるCloud RecordingモジュールのRecording ConfigとStorage Configから「Custom」を選択し、recordingConfigとstorageConfigのようなJSON形式の設定内容をそれぞれのカラムに登録してください。
- チャット機能
デモのクイックスタート
この記事では、ベーシックな機能検証用のデモを利用するので、トークンを指定しなくても進めることが出来ます。デモのクイックスタートを進めるにあたり必要なセットアップはこちらからご確認ください。
本番環境では、お客様側でトークン発行専用のサーバーの設置およびサーバー・クライアントとの連携処理の実装が完了していることを前提に、Flexible Classroomのチャンネル/ルームに入室するワークフローは以下の図になります。アプリのユーザーがチャンネル接続の際、サーバーから発行されたトークンをアプリに渡し、ユーザーはこのトークンに加えてuser ID、room IDを使用して入室します。トークンを利用したワークフローについて詳しくはこちらをご参照ください。
これより処理を実行します。
①Flexible Classroomプロジェクト用のリポジトリのクローンを作成する
ターミナルにてFlexible Classroomプロジェクトを配置したいディレクトリに移動し、以下のコマンドを実行します。
git clone https://github.com/AgoraIO-Community/CloudClass-Android.git
②Flexible Classroomのバージョンを更新する
cd CloudClass-Android
git checkout release/2.8.101
③Android StudioでCloudClass-Androidプロジェクトを開く
メニューのFileからNew > Import Projectを押下し、プロジェクトを配置するディレクトリまで選択し「CloudClass-Android」を開きます。
④Android端末をビルドするとデモが起動される
初期画面においてチャンネル/ルームを作成して参加する、または招待されたルームIDで通話に参加します。
※ 今回は、Pixel 5/Android 14の端末を利用します。
まとめ
Flexible Classroomは、オンライン会議に必要な機能をパッケージとして提供し、インターフェースや機能を自由にカスタマイズできます。新規アプリを開発するお客様におすすめのソリューションです。
既存のアプリに本記事で紹介した個別の機能を単独で実装したい場合は、Flexible Classroomを使わなくても、同じ機能の実装が可能です。例えばAgoraのVoice/Video SDK, Signaling SDK, Chat SDK, Interactive Whiteboard SDK, RESTful APIなどを個別で利用いただくことになります。
お問い合わせや料金シミュレーション、ご相談はこちらからお気軽にご連絡ください。
参考資料
Flexible Classroom概要:https://docs.agora.io/en/flexible-classroom/overview/product-overview?platform=android
Classroom REST API:https://docs.agora.io/en/flexible-classroom/restful-api/classroom-api?platform=web
Flexible Classroomに関するFAQ:https://docs.agora.io/en/flexible-classroom/reference/faq?platform=android
Agoraの無料トライアル
Agoraの無料トライアルは利用時間10,000分/月で、開発期間中はずっと無料となっています。(リリース後から料金が発生)Agoraは株式会社ブイキューブが日本代理店となっており、料金など不明点は日本語での対応が可能です。
AgoraのFlexible Classroomをトライアルしてみる>
Agoraの導入について、お気軽にお問い合わせ下さい。