twilioのip messagingを使ってみた
TRANSCRIPT
![Page 1: TwilioのIP Messagingを使ってみた](https://reader031.vdocuments.net/reader031/viewer/2022021921/58f387621a28abcd608b4581/html5/thumbnails/1.jpg)
Twilio の IP Messaging を使ってみたとりあえず試作してみて気づいたこと
![Page 2: TwilioのIP Messagingを使ってみた](https://reader031.vdocuments.net/reader031/viewer/2022021921/58f387621a28abcd608b4581/html5/thumbnails/2.jpg)
DISCLAIMER IP Messaging はまだ正式にサービス開始されていません。 以下の内容は今後も正しいとは限らない、それどころかどんなに頑張っても近いうちに必ず時代遅れの誤った情報になります。 つきましては、語のいかなる意味においても、本発表はその内容の正しさは保証されていません。 IP Messaging のご利用の際には必ずご自身にて最新の状況をお確かめ下さい。
![Page 3: TwilioのIP Messagingを使ってみた](https://reader031.vdocuments.net/reader031/viewer/2022021921/58f387621a28abcd608b4581/html5/thumbnails/3.jpg)
about me [email protected]
フリーランスの開発者 スマートフォンアプリやウェブサービス Twilio 歴 3 年半くらい 実稼働するサービスから色々なデモまで広く薄く 好きな言葉「人の知られないように笑いなさい」 好きな Twilio 製品 STUN/TURN
![Page 4: TwilioのIP Messagingを使ってみた](https://reader031.vdocuments.net/reader031/viewer/2022021921/58f387621a28abcd608b4581/html5/thumbnails/4.jpg)
IP Messaging とはリアルタイムメッセージ配信今更なので説明は省略
Pusher みたいな…Firebase みたいな…PubNub みたいな…Socket.io + Redis の PubSub みたいな…Phoenix の Channel みたいな…
![Page 5: TwilioのIP Messagingを使ってみた](https://reader031.vdocuments.net/reader031/viewer/2022021921/58f387621a28abcd608b4581/html5/thumbnails/5.jpg)
(本題) IP Messaging を動かしてみたら 気づいた点を列挙
![Page 6: TwilioのIP Messagingを使ってみた](https://reader031.vdocuments.net/reader031/viewer/2022021921/58f387621a28abcd608b4581/html5/thumbnails/6.jpg)
IP Messaging を動かしてみたらUS ( east )の AWS に繋がった
リアルタイムという言葉が悪い2つのセッションが作成される
認証関連( AccessManager による token の管理)リアルタイムメッセージング用の WebSocket
![Page 7: TwilioのIP Messagingを使ってみた](https://reader031.vdocuments.net/reader031/viewer/2022021921/58f387621a28abcd608b4581/html5/thumbnails/7.jpg)
IP Messaging を動かしてみたらAccessManager
https://CDS のエンドポイント / 接続毎のユニークな ID に接続してセッション開始認証は X-Twilio-Token ヘッダ
![Page 8: TwilioのIP Messagingを使ってみた](https://reader031.vdocuments.net/reader031/viewer/2022021921/58f387621a28abcd608b4581/html5/thumbnails/8.jpg)
IP Messaging を動かしてみたらWebSocket
wss:// エンドポイント / に GET リクエストで token を送っている(いいのか?)本ページが http であっても TLS/SSL が使われているのが好感
リバースプロキシらしき nginx から先の構成は不明
![Page 9: TwilioのIP Messagingを使ってみた](https://reader031.vdocuments.net/reader031/viewer/2022021921/58f387621a28abcd608b4581/html5/thumbnails/9.jpg)
IP Messaging を動かしてみたらP2P モデルTwilio Video など
![Page 10: TwilioのIP Messagingを使ってみた](https://reader031.vdocuments.net/reader031/viewer/2022021921/58f387621a28abcd608b4581/html5/thumbnails/10.jpg)
IP Messaging を動かしてみたらChannel A Channel B Channel C
Twilio IPM ServicePubSub
![Page 11: TwilioのIP Messagingを使ってみた](https://reader031.vdocuments.net/reader031/viewer/2022021921/58f387621a28abcd608b4581/html5/thumbnails/11.jpg)
運用上の注意点token はあんまり隠されていないtoken を発行するサーバ大事そこはちゃんと認証するtoken を発行するサーバをフルアクセス可能にしてはいけないPubSub は成りすましに注意が必要な仕組み
![Page 12: TwilioのIP Messagingを使ってみた](https://reader031.vdocuments.net/reader031/viewer/2022021921/58f387621a28abcd608b4581/html5/thumbnails/12.jpg)
所感P2P ではないのでスケールしやすい複数のチャンネルに Subscribe してもセッションは一本だけテキストデータのみ(そのうちデータ送信も対応?)完全にセキュアな運用を求めるなら自前でおやんなさい
![Page 13: TwilioのIP Messagingを使ってみた](https://reader031.vdocuments.net/reader031/viewer/2022021921/58f387621a28abcd608b4581/html5/thumbnails/13.jpg)
その他もろもろ0.1 秒毎にメッセージを送信し続けたら投稿が遮断されたしばらく放置してからセッションを復帰させる方法が明確でない
![Page 14: TwilioのIP Messagingを使ってみた](https://reader031.vdocuments.net/reader031/viewer/2022021921/58f387621a28abcd608b4581/html5/thumbnails/14.jpg)
その他もろもろJS クライアントのドキュメントには token の update 方法が載っていない
同じ token で updateToken すると拒否されるので再取得?Parse の become みたいな機能が欲しい
REST API とクライアントの機能を同一ユーザとして実行できる
![Page 15: TwilioのIP Messagingを使ってみた](https://reader031.vdocuments.net/reader031/viewer/2022021921/58f387621a28abcd608b4581/html5/thumbnails/15.jpg)
試してみた・1 チャット ブラウザとスマートフォンでチャットまあ基本Appcelerator Titanium で作ってみた(宣伝)https://github.com/yagitoshiro/TiTwilioIPMessaging/
![Page 16: TwilioのIP Messagingを使ってみた](https://reader031.vdocuments.net/reader031/viewer/2022021921/58f387621a28abcd608b4581/html5/thumbnails/16.jpg)
試してみた・2 Presence シグナリング ユーザーが端末の前にいるかどうかをリアルタイムで通知チャットサービスの「待機中」「離席中」「オフライン」みたいな…Twilio の他サービス(音声通話、ビデオ通話)にも応用できる
![Page 17: TwilioのIP Messagingを使ってみた](https://reader031.vdocuments.net/reader031/viewer/2022021921/58f387621a28abcd608b4581/html5/thumbnails/17.jpg)
試してみた・3 位置情報 位置情報を共有してリアルタイムでやりとりする近くのユーザーを表示移動すると地図上のアイコンが動くGeohash と組み合わせるバッテリーいっぱい食らうhttp://qiita.com/yagi_/items/5283249036feaf655b16
![Page 18: TwilioのIP Messagingを使ってみた](https://reader031.vdocuments.net/reader031/viewer/2022021921/58f387621a28abcd608b4581/html5/thumbnails/18.jpg)
終わり have fun!