SMS/ボイスアプリの動作確認にTwilio Dev Phoneを利用する
読む所要時間: 11 分
Twilioを利用することで、電話番号、テキストメッセージ、音声通話をベースとするアプリケーション構築が可能となります。電話ネットワークがベースとなるこれらアプリケーションは、もちろん携帯電話やスマホを使ってテストすることができますが、手元に電話がない状況でこれらアプリケーションをテストすることができるでしょうか。なぜ電話を使わないのかと思われるかもしれませんが、背景的な部分は後ほど説明するとして、まずは可能なことを解説していきます。
Twilio Dev Phoneのご紹介
Twilio Dev Phone(トゥイリオ・デブ・フォン)とは
Twilio Dev Phoneは、Twilio製品の上に構築されたツールで、ブラウザから電話やテキストメッセージを送受信(発着信)することが可能です。Dev PhoneはGitHub上のオープンソースプロジェクトとして構築されているので、ソースコードを読んで自由にコントリビュート(貢献)することができます。Twilio Dev Phoneの詳細については、ドキュメントでご確認ください。
Twilio Dev Phoneを使用する理由
ご自身の電話端末の代わりにTwilio Dev Phoneを使う典型的なシナリオを、以下にいくつか紹介します。
🌍 国際的なアプリケーション
ユーザーが世界中に広がるアプリケーションを構築する場合、それぞれの国のTwilio電話番号を取得することになります。しかしほとんどの場合、これら各国のTwilio電話番号への通信に係る国際料金が、個人の電話機に課金されることを望んでないはずです。そこで対象国のTwilio Phone Numberをもう1つ購入し、Twilio Dev Phoneを使って電話やSMSの送受信をすることができます。
場合によっては、SMSのAlpha Numeric Senders(英数字送信元ID)機能を動作検証するためにTwilio Dev Phoneを使用することも可能です。英数字送信元ID機能が他国では利用できるものの、あなたの国では利用できない状況で、Twilio Dev Phoneを重宝するはずです。
📶 接続が悪い
住んでいる場所や働いている場所によっては、4G/5Gといった接続が不安定であったり、まったく利用できないことがあります。職場が高度なセキュリティで守られていて、通信がコントロールされているのかもしれませんし、携帯電話を紛失したばかりかもしれません。
このような場合、電話を使うことができないかもしれませんが、インターネット接続があれば、Twilio Dev Phoneを使うことができます。
🚤 速くて便利
コンピュータでアプリケーションを構築する場合、電話を見つけ、ロックを解除し、いけてないUIに電話番号を入力し、最後にその電話やSMSを送受信する必要があります。
このフローは、ときに面倒になります。その代わりに、Twilio Dev Phoneをブラウザのタブの1つに置いておきアプリケーションをテストすることで、ブラウザ内で作業が閉じますので円滑な開発エクスペリエンスとなります。
Dev Phoneが役立つシナリオはまだまだあります。どんなことに使っているか、ぜひ教えてください。
Twilio Dev Phoneを使用したTwilioアプリケーションのテスト方法
Twilio SMS / Voiceアプリケーションのプロビジョニング
Dev PhoneでTwilioアプリケーションをテストする前に、Twilioアプリケーションを立ち上げておく必要があります。
すでにお持ちの場合は、このセクションはスキップできます。
Twilio CodeExchangeにはたくさんのサンプルアプリケーションがありますが、Twilioアプリを手軽にデプロイするには「Voice Auto-response」や「SMS Auto-response」サンプルのように、「Quick Deploy」のタグが付いたサンプルに絞り込むとよいでしょう。
まず、TwilioのアカウントとTwilioの電話番号があることを確認します。Twilioアカウントをまだお持ちでない方は、こちらでサインアップして開設してください。またTwilio電話番号をまだお持ちでない方は、こちらの手順で購入してください。
(日本語編集上の補足: 日本国内の電話番号を購入する場合には規制情報の提出・承認の処理が必要になり工程が多めとなりますので、ここでは米国の電話番号を購入するための手順として記事をお読みください。国内の電話番号取得の手順については、こちらの記事が参考になります。)
次に、ブラウザの新しいタブで「Voice Auto-response」サンプルを開き、Twilio電話番号を選択し、アプリケーションをデプロイ(配備展開)してください。次に、「SMS Auto-response」サンプルについても同じ手順を踏んでください。
これで2つのTwilioアプリケーションができました。1つはTwilio電話番号に電話すると応答するアプリ、もう1つはTwilio電話番号にSMSを送ると応答するアプリです 🎉
Twilio Dev Phoneのインストール
Twilio Dev Phoneを使用する前に、Twilioの別の電話番号を取得し、Twilio CLIをインストールし、Twilio Dev Phoneプラグインをインストールする必要があります。
最後に、Twilio Dev Phoneプラグインを以下のコマンドでインストールします。
これで、Twilio Dev Phoneを使用する準備が整いました。次のコマンドでDev Phoneを起動します。
ブラウザの新しいタブが開き、Dev Phoneが表示され、ターミナルの出力は以下のようになるはずです。
ご覧の通り、Twilio Dev PhoneはConversations、Sync、Functions、TwiMLアプリなど多くのTwilioサービスを使っており、これらを基にしてブラウザからリアルタイムに電話の発着信やSMSの送受信が可能となるのです。
これらのサービスはすべて、Twilio Dev Phoneを起動したときに作成されます。またTwilio Dev Phoneを「ctrl + c
」により正常停止すると、Twilio Dev Phoneがこれらのサービスを自動的にクリーンアップします。
Dev Phoneが起動したところで、Dev Phoneのブラウザタブに移動してください。
Twilio電話番号を選択し、「Use this phone number」(この電話番号を使用する)をクリックします。
これで、あなたのコンピュータ上にソフトフォンが起動されました🎉
Twilio Dev Phoneを使用してアウトバウンド架電やSMS送信を行う
画面右上の [Destination Number] フィールドにテスト対象のアプリケーションの電話番号を入力し、テストを開始します。
次に、[Message] フィールドにメッセージを入力し、[Send] ボタンをクリックします。アプリケーションは、受信SMSに対して設定された応答で応答します(例: このスクリーンショットでは「Hello World」)。
最後に、アプリケーションの音声通話機能をテストするために、[Call] ボタンをクリックします。設定した応答も聞こえるはずです(例: 「Hello World」)。
SMSメッセージと音声通話の機能をテストしました。その逆方向の通信となりますが、Dev Phoneは着信通話に応答、あるいはメッセージを受信することができることも忘れないでください。Dev Phoneに関連付けられた電話番号に電話をかけるか、アプリケーションからSMSメッセージを送信してください。この番号は、画面右上に表示されています。
次のステップ
Twilio Dev Phoneをセットアップして、Twilioアプリケーションの動作確認に使用する方法について学びました。前述のとおり、Twilio Dev Phoneは GitHub 上のオープンソースプロジェクトですので、ソースコードをレビューし、必要に応じてissueの報告やプルリクエストの作成を行ってください。
Twilio Dev Phoneが皆さんの開発工程の役に立つことを願っています。コミュニケーションの未来を創造しましょう。
Niels Swimbergheはベルギー系アメリカ人のソフトウェアエンジニアで、Twilioのテクニカルコンテンツクリエイターです。Twitter @RealSwimburger でNielsと連絡を取り、swimburger.net で .NET, Azure, Web開発に関するNielsの個人ブログをフォローしてください。