Article

ブログ

2016/03/26

モバイル電話サポートSDKの裏話

こんにちは、本間です。

先日開催された Smart Communication Award 2016 で優秀賞と500 Startups 賞を受賞したことを掲載しました。本記事では、発表したモバイル電話サポートSDKの技術的な詳細に関してシェアします。

発表資料

今回の発表時間が5分と短かったため資料もかなり少なめです。

Smart Communication Award 2016 モバイル電話サポートSDK from Kiminari Homma

実現の背景

とある CtoCサービスで、電話サポートをしていないアプリがあったことに怒りを覚えたためです。スマートフォンアプリを提供しているのに電話ができないなんて理解不能です。

ただそれをやらないのには理由があることは私でもわかりました。電話は、全ての作業が中断されるという特性があり、また情報のシェアが難しくうまく対応できないという問題を抱えています。私たちは CallConenct を通じて電話受信側の問題を解決しました。あとは電話番号をHPに記載するだけで済みます。

ただ、スマホアプリではそれでも難しい点があることに気づきました。それは顧客情報をあらかじめ知るということや、アプリに電話をしながらメッセージを送ったりというより柔軟な対応が必要だということです。

この課題を解決すべく、私は今回のSmart Communication Award 2016 で新機能として提案しました。

技術的なところ

アプリ内電話機能を実装するのは、とてもハードルの高いことでした。具体的にはマイクの制御、その音をリアルタイムで送信し、受信側で聞こえるようにする。これら全てを考慮して実装しなければなりません。

しかし Twilio ならこれらの手間を最小限に抑えて実装することができます。ただそれでもTwilioと連携するために専用のサーバーを用意したり、特殊なコードを記述する必要があり、初心者にはなかなか手の出しにくいものであります。

そこで、Twilio の SDK のうち、さらに電話発信以外のコードを全てラッピングし、開発者は発信したい時にだけコードを書けばいいようにしたのが、今回のモバイル電話サポート SDK となります。CallConnect には、Twilio のケイパビリティトークンを取得できる REST API を提供しており、それをうまく活用して実現しました。

発表資料のように、モバイル電話サポートSDKを埋め込めば、発信したいだけなら2行で実現可能です。ただ、あらゆるイベントを通じてそれなりにUIを更新する場合はもちろん2行では無理です。その際も Android エンジニアなら誰でも簡単に扱えるようにしました。

リリース?

まだ明確にリリース日は決まっていませんが、まずは Android SDK から完成次第、公開したいと思っています。

待てないという方は、現状でもCallConnect で電話番号を購入し、 CallConenct REST API で事前に自社サービスの顧客を登録しておけば、着信前に相手の情報を把握するようなことが実現可能です。併せてご検討ください。

感想

昨年、 Smart Communication Award で優秀賞をいただき、”今年こそ最優秀賞を!” と意気込んでいましたが、2年連続の優秀賞となりました。私としては喜びよりも、まだまだ精進せねばならないとという思いでいっぱいです。

ただその中でもエンジニアの方々に今回のプレゼンが響いたようで、それに関しては素直に喜び、今後に活かしていきたいと思います。

今後ともよろしくお願いいたします。