“出会える”をテクノロジーで Twilio Programmable Voiceで実現する タクシーアプリ『GO』の新しいモビリティ体験

高品質な通話と拡張性を兼ね備えたTwilio Programmable Voiceが、タクシーでの移動体験をより安心で確かなものに。

アプリでタクシーを呼ぶその出会いを、より確実で快適なものに。GO株式会社では、ユーザーと乗務員の連携を支える仕組みとして、Twilio Programmable Voiceを活用した通話機能を導入しています。さらに2024年からは、事業所と乗務員端末間の通話を可能にする新機能も提供開始。快適な移動体験を支える舞台裏の工夫と成果を伺いました。


ユーザーとタクシーの“出会えない問題”をなくすために

GO株式会社は『移動で人を幸せに。』をミッションに掲げ、タクシーアプリ『GO』を中心に多彩なモビリティサービスを展開しています。『GO』アプリは、タクシーアプリとして国内最大となる全国47都道府県を網羅しており、高級ワンボックス車を指定する『GO PREMIUM』や、相乗りができる『GOエコノミー』、法人向けサービス『GO BUSINESS』など、移動の新しい価値を生み出しています。
そんなGOが注力している取り組みのひとつに、ユーザーと乗務員が確実に出会える仕組みの強化があります。プロダクトマネジメント部 部長の脇水 誠氏に伺いました。
「迎車地点まで乗務員が到着しても、ユーザーと出会えないことが一定数あります。車両が地図上では近くに見えても、周辺の建物や道路の構造によって、ユーザーと乗務員がお互いを見つけづらいケースなどです。いわゆるこの“出会えない問題”を解消するために、ユーザーと乗務員が直接通話できる仕組みを導入しています。乗務員からユーザーに発信できる仕組みは、前身の『JapanTaxi』や『MOV』の時代から実装していましたが、さらなる課題解決を目指し、2024年にユーザー側からも発信できる双方向通話の機能を開発しリリースしています」

 

信頼性と拡張性で、開発&運用コストを大幅に圧縮

バックエンド側の開発を担当した、開発本部 ソフトウェア開発部 バックエンドグループの戸島 達哉氏に、Twilioでの開発体験について伺いました。
「ユーザーから乗務員への通話機能は、1〜2か月ほどで開発しました。TwilioはAPI設計がとてもシンプルで、必要な機能を連携するだけで通話が実現します。もし自前で音声通話機能を構築していたら、何倍もの工数がかかっていたのではないでしょうか。通話がうまくいかなかった際も、コンソールで原因をすぐに確認できるため、運用面でも安心です。過去に乗務員からユーザーへの通話機能を開発したメンバーの話では、他サービスも比較したうえで、信頼性と拡張性の面からTwilioを選んだと聞いています。今回の新機能開発を通じて、その選択が正しかったと改めて実感しました」

 

複数通話をハンドリングするUI/制御設計の工夫も

クライアント側の開発を担当した、ユーザーシステム1グループの髙橋 秀宗氏は、「通話を適切につなぐことが最も重要な役割でした」と話します。
「音声通話は頻繁に実装する技術ではありませんが、TwilioのSDKはドキュメントが非常に整備されており、GitHubには各プラットフォームで実際に動くサンプルコードが豊富にありました。特にiOSでは、Appleの通話フレームワークであるCallKitを用いて機能を提供していますが、リファレンスや実装例が充実していたことで、検証や調査にかかる工数を大きく削減できました」

一方で、タクシーというリアルな移動を伴うサービスならではの難しさもありました。
髙橋氏「『GO』アプリには『複数台配車機能』があり、ユーザーが2台、3台と同時にタクシーを呼ぶことができます。たとえばA・B・Cの3台を呼んでいるとき、Aから着信がありつつBに発信している、というような状況も起こり得ます。そのような場合でも通話体験が破綻しないよう、クライアント側での制御を慎重に設計しました。ユーザーが混乱することなく、どのタクシーともスムーズにやり取りできるよう、通話の流れをアプリ側でハンドリングすることを特に意識しましたね」

 

事業者と乗務員をつなぐ、もうひとつの導入事例

さらにGOでは、タクシー事業者向けの『GO管理画面』にもTwilioを活用。タクシー事業者と乗務員間の連絡を、音声通話でサポートする機能を2025年にリリースしています。プロダクトマネージャーとして同開発をリードしたプロダクトマネジメント部 3グループの友松 大介氏はこう説明します。
「事業所と乗務員の間では、『GO』アプリでの配車だけでなく、さまざまなケースでコミュニケーションが発生します。たとえば『お客様が見つからない』『指定の場所に車を停められない』『車内に忘れ物を見つけた』など、内容も多岐にわたります。このようなやり取りをする際、これまでは事業者が導入しているタクシー無線システムの通話機能を使うか、私用の携帯電話を利用するかの2通りが一般的でした。ただし後者の場合、着信に応答するために携帯電話の操作が必要であったり、着信に応答するかどうかは乗務員の判断によります。アプリ配車が成長し、コロナ禍を経て事業者が導入しているタクシー無線システムの廃止・縮小を検討する企業も増えるなかで、『安全に乗務員とコミュニケーションが取れる手段を確保したい』というニーズが高まっていました」

こうした背景を受けて、約1年前から『GO管理画面』の開発がスタートしました。

友松氏「『GO管理画面』でも、音声通話機能の構築にTwilioを利用しています。開発においては、車の運転中にハンズフリーで会話することを想定して、実際にタクシー車両をお借りしてテストを行いました。ドアを開け、エアコンを最大にして、ロードノイズが入る環境で通話品質を確認。受話器を使わない状況でも明瞭な音声が成立するようにデバイスを調整しました。最悪の場合は車内にマイクの設置も必要ではないかと心配していましたが、Twilioは通話品質の安定性が高く、ノイズの多い環境でも安心して使えるクオリティをマイクなしでも実現できています。『GO管理画面』の音声通話機能は現在、有料オプションとして販売していますが、特に品質面でご指摘をいただいたこともなく、順調にサービスを提供できていると感じています」

戸島氏「GOでは社内プラットフォームを導入し、マイクロサービスを迅速に開発・安定運用するための基盤として活用しています。通話機能についても、Twilioと連携する社内通話基盤を構築し、複数のドメインで共通利用。この仕組みを活かすことでスピーディな展開が可能です。Twilioとの連携処理や通話ログ、発信先・通話中・通話完了といったステータス管理を一元化することで、開発・運用の両面で効率化を実現しました。『GO管理画面』の開発でも、この基盤を用いてTwilioの信頼性と開発実績をそのまま引き継ぎ、安定した通話体験を支えています」

また、戸島氏は現場のエンジニアから寄せられた声を紹介します。
「車載側のエンジニアからも『APIが素直で扱いやすい』『通話のライフサイクル管理がわかりやすい』と評価されています。AndroidはOSライブラリとの連携が不要で、Twilio SDKだけで実装できたそうです。サンプルも充実していて、通話品質も高く、全体的に安定して運用できています。通話UIは自作していますが、ネイティブUIとの連携も難しくありませんでした。着信時の名称をカスタマイズしたり、FCMを受け取ってUIを出し、SDKを呼び出すだけで完結します。TwiMLを使えば電話番号がない相手にも簡単に通話できるなど、柔軟性の高さも魅力だったと聞いています」

 

よりよい“つながり”を目指して

最後に、脇水氏は今後の展望についてこう締めくくります。
「TwilioにはVoice API以外にもさまざまなプロダクトがあります。まずはそれらの機能や特長を理解し、どのような場面で活用できるかを検討したいと考えています。乗務員や事業者、ユーザーが通話や連携を通じてより快適にコミュニケーションできるような仕組みがあれば、ぜひ積極的に取り入れていきたいです」

見えないつながりの裏で、GOの移動体験を支えるTwilio Programmable Voice。声で伝わる安心が、今日も街のあちこちで生まれています。

 

Twilioで始めませんか?