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

More Related Content

More from Toshiro Yagi

【Twilio】LT大会 2021/02/24
【Twilio】LT大会 2021/02/24【Twilio】LT大会 2021/02/24
【Twilio】LT大会 2021/02/24
Toshiro Yagi
 
Life and how_to_live_it
Life and how_to_live_itLife and how_to_live_it
Life and how_to_live_it
Toshiro Yagi
 
Appcelerator TitaniumでSocket.io (1.x)
Appcelerator TitaniumでSocket.io (1.x)Appcelerator TitaniumでSocket.io (1.x)
Appcelerator TitaniumでSocket.io (1.x)
Toshiro Yagi
 
TitaniumでTwilio
TitaniumでTwilioTitaniumでTwilio
TitaniumでTwilio
Toshiro Yagi
 
Twilioでコールセンター
TwilioでコールセンターTwilioでコールセンター
Twilioでコールセンター
Toshiro Yagi
 
Twilio Meetup 2014/11/27
Twilio Meetup 2014/11/27Twilio Meetup 2014/11/27
Twilio Meetup 2014/11/27
Toshiro Yagi
 
Ti九州
Ti九州Ti九州
Ti九州
Toshiro Yagi
 
TitaniumとNode.jsは兄弟
TitaniumとNode.jsは兄弟TitaniumとNode.jsは兄弟
TitaniumとNode.jsは兄弟
Toshiro Yagi
 
いわてTitanium勉強会#1
いわてTitanium勉強会#1いわてTitanium勉強会#1
いわてTitanium勉強会#1
Toshiro Yagi
 
20130817 Titanium勉強会(午前2)
20130817 Titanium勉強会(午前2)20130817 Titanium勉強会(午前2)
20130817 Titanium勉強会(午前2)Toshiro Yagi
 
20130817 Titanium勉強会(午前)
20130817 Titanium勉強会(午前)20130817 Titanium勉強会(午前)
20130817 Titanium勉強会(午前)Toshiro Yagi
 
Titaniumって何?
Titaniumって何?Titaniumって何?
Titaniumって何?
Toshiro Yagi
 
Titanium Mobileユーザー会
Titanium Mobileユーザー会Titanium Mobileユーザー会
Titanium Mobileユーザー会Toshiro Yagi
 
みんなもっとサポートに参加しようず
みんなもっとサポートに参加しようずみんなもっとサポートに参加しようず
みんなもっとサポートに参加しようず
Toshiro Yagi
 

More from Toshiro Yagi (15)

【Twilio】LT大会 2021/02/24
【Twilio】LT大会 2021/02/24【Twilio】LT大会 2021/02/24
【Twilio】LT大会 2021/02/24
 
Life and how_to_live_it
Life and how_to_live_itLife and how_to_live_it
Life and how_to_live_it
 
Appcelerator TitaniumでSocket.io (1.x)
Appcelerator TitaniumでSocket.io (1.x)Appcelerator TitaniumでSocket.io (1.x)
Appcelerator TitaniumでSocket.io (1.x)
 
TitaniumでTwilio
TitaniumでTwilioTitaniumでTwilio
TitaniumでTwilio
 
Twilioでコールセンター
TwilioでコールセンターTwilioでコールセンター
Twilioでコールセンター
 
Twilio Meetup 2014/11/27
Twilio Meetup 2014/11/27Twilio Meetup 2014/11/27
Twilio Meetup 2014/11/27
 
Ti九州
Ti九州Ti九州
Ti九州
 
TitaniumとNode.jsは兄弟
TitaniumとNode.jsは兄弟TitaniumとNode.jsは兄弟
TitaniumとNode.jsは兄弟
 
いわてTitanium勉強会#1
いわてTitanium勉強会#1いわてTitanium勉強会#1
いわてTitanium勉強会#1
 
20130817 Titanium勉強会(午前2)
20130817 Titanium勉強会(午前2)20130817 Titanium勉強会(午前2)
20130817 Titanium勉強会(午前2)
 
20130817 Titanium勉強会(午前)
20130817 Titanium勉強会(午前)20130817 Titanium勉強会(午前)
20130817 Titanium勉強会(午前)
 
Titaniumって何?
Titaniumって何?Titaniumって何?
Titaniumって何?
 
Titanium+twilio
Titanium+twilioTitanium+twilio
Titanium+twilio
 
Titanium Mobileユーザー会
Titanium Mobileユーザー会Titanium Mobileユーザー会
Titanium Mobileユーザー会
 
みんなもっとサポートに参加しようず
みんなもっとサポートに参加しようずみんなもっとサポートに参加しようず
みんなもっとサポートに参加しようず
 

Recently uploaded

TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
Matsushita Laboratory
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさJSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
0207sukipio
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
harmonylab
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
Yuuitirou528 default
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
Toru Tamaki
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
chiefujita1
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
Fukuoka Institute of Technology
 

Recently uploaded (14)

TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさJSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
 

TwilioのIP Messagingを使ってみた