Twilioブログ

オープンソースのTwilioビデオ会議アプリにチャット機能が追加!非エンジニアでも簡単構築

皆さん、こんにちは。Twilioマーケティング部の高橋です。

昨年Twilioがオープンソースにて公開した、Programmable VideoのSDKを活用したビデオ会議アプリケーション。「たったの5分でビデオアプリケーションを構築・実行できる」ということで非常に需要が高まっていますが、こちらにテキストや添付ファイルを送れるチャット機能が加わりました。

本記事では私のような非エンジニアのマーケターでも簡単にチャット機能を実装できるのか、こちらの記事を元に試してみたいと思います。

ビデオアプリにチャット機能を追加する理由

コロナウイルスの蔓延で在宅勤務を余儀なくされていることから、ビデオアプリを使って会議をしたり、コミュニケーションを取ったりする機会が増えました。その際、画面共有で同じ画面を見ながら話すこともありますが、チャットでURLや資料を送って情報交換をすることもあります。

たとえば私の場合は、複数人でのビデオ会議中に次の予定が来てしまった……といったケースでチャットを使っています。話をわざわざ遮って「次があるので抜けます」と宣言していくより、チャットで「次の予定がありますのでお先に失礼します」と伝えて抜けていく方が、印象的にも会議の進行的にもベストだと思って活用しています。

そのため、Twilio Programmable Videoにチャット機能が加わることで、よりUXに優れた満足度の高いビデオアプリケーションになると考えています。

React.jsで簡単に作るTwilioビデオアプリのチャット機能

Twilio Programmable Videoのチャット機能についてご紹介していきます。

今回アップデートされたReact.jsのアプリをデプロイすると、画面下のメニューバーに"Chat"が追加されています。

twilio-video-menu-bar

こちらを押していただくと、以下のように右側にチャット画面が表れ、テキストやファイルを添付できるようになります。

twilio-video-chat-menu

ちなみに添付ファイルはドラッグ&ドロップではなく、赤枠の"添付ファイルのアイコン"を押した後にファイルを選択することで送信できます。

今回は私ひとりしかビデオに参加していませんが、複数人で参加した場合は参加者の画面が表れます。またビデオを繋いでいる間はチャットが保持されているため、途中から参加した人でもチャットの履歴を見ることができます。

さらにReact.jsのアプリコンポーネントは、MaterialUIライブラリを活用することで、デザインの設定やテーマの設定などカスタマイズを簡単に行えます。

Twilio Conversations APIでチャット機能を構築

twilio-conversations-about-api

それでは実際に、Twilio Conversations APIを利用してチャット機能を構築していきましょう!

Twilio Conversationsは、2022年7月25日にサービス提供の終了が予定されているTwilio Programmable Chatの後継となるAPI。WhatsAppやSMSなどのメッセージングアプリと連携して、シームレスな独自のチャット機能を作れます。

UI部分の開発のみで実現できるため、開発コストの大幅な削減が可能となるのが強みです。

Twilio Conversationsの詳細は、「Twilio Conversationsとは?チャットアプリのクイックスタートをご紹介」の記事をご覧ください。

Twilio CLIのRTCプラグインで簡単にデプロイ

twilio-github

本題の実装ですが、マーケターの私が本当にできるかワクワクと不安でいっぱいです。

まずTwilio Videoを簡単にデプロイするために、TwilioがあらかじめこちらのGitHubに用意しているCLI RTCプライグインを使用します。

今回は以下の手順でアプリケーションをデプロイしますが、こちらのREADMEの手順に沿っていただいても構いません。お好きなやり方でご活用ください。

1.GitHubからウェブアプリケーションをクローンする

まずはCLIで以下を入力して、GitHubからクローンしてください。

$ git clone https://github.com/twilio/twilio-video-app-react

2.ディレクトリーに移動する

以下を入力して、twilio-video-app-reactディレクトリーに移動してください。
$ cd twilio-video-app-react

3.npmコマンドでアプリケーションをビルド

以下のnpmコマンドを使ってインストールしてください。

$ npm install --production

npmコマンドを普段から使っているエンジニアの方であればスムーズにインストールできると思いますが、私が挑戦したときは「npm command not found」と表示されてしまいました。

そして時計を見ると、もうこの時点で5分を過ぎてしまっています……。

twilio-video-disappoitment

この困難を打破するために、私はマーケターが大好きなGoogle先生に尋ねて無事インストールできました。困ったときはやはりGoogle先生ですね。

4.Twilio CLIをインストール

アプリケーションはTwilio CLIを使用してTwilioにデプロイされるため、以下のコマンドでTwilio CLIをインストールしてください。

$ npm install twilio-cli -g

5.Twilioアカウントにログイン

Twilio CLIにログインするには、TwilioのAccount SIDとAuth Token(認証用のトークン)が必要となります。どちらもTwilioの管理画面(コンソール)のダッシュボードにありますので、そちらからコピーをしてください。

twilio-dashboard-authtoken-sid

$ twilio login 

"Account SID"、"Auth Token"、"profile"の順番に打ち込んでください。profileはとりあえず"Main"などでOKです。

Login to your Twilio account-video

6.RTCプラグインをインストール

以下のコマンドでRTCプラグインをインストールしてください。無事インストールできたら最後のあと1歩!!

$ twilio plugins:install @twilio-labs/plugin-rtc 

7.ついにデプロイの時が

最後の7つ目の手順となるデプロイです。

$ npm run deploy:twilio-cli

"deploying app... done"と表示されればデプロイの完了です。

本当に手順に沿ってやっただけで、非エンジニアの私がチャット機能付きのビデオアプリを構築できました。Twilioの威力に開いた口が塞がりません・・・。

最後に、表示されているWeb App URLをお使いのブラウザに"コピー&ペースト"してください。

Web App URL: https://video-app-〇〇〇〇-〇〇〇〇-dev.twil.io?passcode=〇〇〇〇〇〇〇〇

Twilio VideoのUI・UX

では実際のビデオアプリの画面を見てみましょう!

先ほど表示されていたWeb App URLを入力すると、以下の画面が表れます。ビデオ内で表示したい名前と部屋の名前を入力して"Continue"を押してください。

twilio-video-image

すると部屋に入る前に、音声や画面を設定できるようになります。自分の映り具合も確認できるため、急に部屋に入ってしまって変な顔を見られてしまった……といったこともありません。

twilio-video-join-image

準備が完了したら"Join Now"で部屋に入りましょう。

ビデオとチャットの画面は一度お見せした通りです。

twilio-video-chat-menu

画面共有は"Share Screen"ボタンから行えます。共有する部分を「全画面」「開いているアプリごと」「ブラウザに表示されているタブごと」から細かく選択できる、素晴らしいUXとなっています!!

Twilio-video-share-screen-image2

まとめ

私はエンジニアではなくマーケターですが、たった7つの手順だけで10分もあれば構築することができました。CLIを使うのは初めてではないですが、Twilio CLIは初めて使いましたし、Twilioのすごさを改めて感じました。

非エンジニアでも利用できる、無限の可能性を秘めているサービス「Twilio」。ぜひこの機に体験してみてくださいね。

Webマーケター 高橋亮太
Webマーケター 高橋亮太

Twilioマーケティング部でチーフを務めており、得意分野は広告運用やSEO。 個人の様々な活動からSNSでは3万フォロワーを達成したが、最近では筋トレに目覚め始めている様子。 数年前からプログラミング(HTML・CSS・JS・GAS・Python)、カメラ(写真・動画)に熱中しているとの噂も。

CTA_まずはtwilioを使ってみる。

Share!!

この記事を読んだ人へのオススメ

  • お役立ち情報
  • イベント情報
  • 相談会申込
  • 導入事例