$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Twilio IP メッセージング勉強会資料
Search
Kiminari Homma
August 05, 2016
Technology
0
93
Twilio IP メッセージング勉強会資料
Kiminari Homma
August 05, 2016
Tweet
Share
More Decks by Kiminari Homma
See All by Kiminari Homma
Twilio Meetup 東京 2022/11/11
honkimi
0
61
Twilio iOS 徹底攻略
honkimi
1
1.2k
2021年 Twilio Voice 報告
honkimi
0
320
WebRTC ビジネスの失敗と成功
honkimi
2
1.8k
最近の Twilio トレンド報告
honkimi
0
400
Twilio Meet Up
honkimi
0
78
利用ユーザーからみた Twilio の紹介
honkimi
0
92
Zendesk App を Heroku で作ってみた話
honkimi
0
150
国内における Twilio x Alexa
honkimi
0
760
Other Decks in Technology
See All in Technology
freeeにおけるファンクションを超えた一気通貫でのAI活用
jaxx2104
3
910
なぜ使われないのか?──定量×定性で見極める本当のボトルネック
kakehashi
PRO
1
810
プロダクトマネジメントの分業が生む「デリバリーの渋滞」を解消するTPMの越境
recruitengineers
PRO
3
460
形式手法特論:CEGAR を用いたモデル検査の状態空間削減 #kernelvm / Kernel VM Study Hokuriku Part 8
ytaka23
2
250
Symfony AI in Action
el_stoffel
2
370
GitLab Duo Agent Platformで実現する“AI駆動・継続的サービス開発”と最新情報のアップデート
jeffi7
0
170
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
9.9k
技術以外の世界に『越境』しエンジニアとして進化を遂げる 〜Kotlinへの愛とDevHRとしての挑戦を添えて〜
subroh0508
1
160
Agents IA : la nouvelle frontière des LLMs (Tech.Rocks Summit 2025)
glaforge
0
410
セキュリティAIエージェントの現在と未来 / PSS #2 Takumi Session
flatt_security
3
1.4k
A Compass of Thought: Guiding the Future of Test Automation ( #jassttokai25 , #jassttokai )
teyamagu
PRO
1
200
20251127 BigQueryリモート関数で作る、お手軽AIバッチ実行環境
daimatz
0
430
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Faster Mobile Websites
deanohume
310
31k
Typedesign – Prime Four
hannesfritz
42
2.9k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
69k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.1k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.6k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
Transcript
Twilio IP ϝοηʔδϯάษڧձ Twillo UG-JP Tokyo @KDDI Web Communications
19:00 ~ 19:15 ɹड։࢝ 19:15 ~ 19:20 ɹձͷઆ໌ / Keynote
19:20 ~ 19:45 ɹWeb ͷϦΞϧλΠϜͱ IP ϝοηʔδϯά ɹ- ηϧϑϦʔ ຊؒ͞· 19:50 ~ 20:20 ɹIPϝοηʔδϯάΛLambdaͰ࣮ͨ͠ ɹ- άϩʔόϧɾΠϯλʔωοτɾδϟύϯ ߴڮ͞· 20:25 ~ 21:00 ɹiOS༻IP MessagingΞϓϦΛJavaScriptͰ࡞ͬͯΈͨ ɹ- ീ͞· 21:00 ~ ɹɹɹɹرऀͱผձͰ࠙ձ༧ఆ Twilio IP ϝοηʔδϯάษڧձ
ձͷઆ໌ / Keynote
Web ͷϦΞϧλΠϜͱ IP ϝοηʔδϯά @kimihom selfree, llc
ࣗݾհ
ຊؒ ߖ @kimihom ϘΫίί ӡӦऀ http://www.bokukoko.info/ CTO at selfree,llc Twilio,
Ruby on Rails, AWS, Heroku, Android, iOS TwilioJP-UG ϝϯόʔ
3݄7(݄) ߴԁࣉϥϘ “ίʔϧηϯλʔۀք” ʹ͍ͭͯษڧ͠·͢ɻ http://customersupport.connpass.com/ event/27162/ (ࠂ) αϙʔτ UX ษڧձ
Q. Twilio Λͬͨ͜ͱ͕͋Δํʁ Twilio ͰαʔϏε։ൃͷܦݧ༗ͳํʁ IPM Λͬͨ͜ͱ͕͋Δํʁ
Twilio? Voice Client ిͷड৴ ԻϑΝΠϧ࠶ੜ௨Ի μΠϠϧૢ࡞ʹԠͨ͡ಈ࡞ସ ௨தͷిͷ੍ޚ ిͷൃ৴ ϒϥβɾεϚϗͰి Voice
ͱ࿈ಈͯ͋͠ΒΏΔ௨Λૢ࡞ and More.. →ࣗ༝ʹΈ߹ΘͤՄʂ ిΛ API Ͱ؆୯ʹγεςϜԽͰ͖·͢ɻ
ਐԽΛଓ͚Δ Twilio
Twilio ͷݱࡏ νϟοτ ϏσΦ ίϛϡχέʔγϣϯͱͯ͠ͷϓϥοτϑΥʔϜɻ ·ͩ·ͩਐԽͷաఔɻ ࠓ͔ΒTwilioΛ࢝Ίͯશ͘͘ͳ͍Ͱ͢ʂ
ɾWeb ʹ͓͚ΔϦΞϧλΠϜ ɾIP ϝοηʔδϯάʹ͍ͭͯ - Ͱ͖Δ͜ͱ - ֓ཁ - ֶशࢿྉ
- ࣄྫ ༰
5XJMJP*1.FTTBHJOHNBLFTJUFBTZGPSZPVUPBEEDIBUGFBUVSFTJOUPZPVSXFC BOEOBUJWFNPCJMFBQQMJDBUJPOTXJUIPVUCVJMEJOHPSTDBMJOHBSFBMUJNFCBDLFOE 5XJMJP*1.FTTBHJOHɺϦΞϧλΠϜॲཧͷߏஙεέʔϧ Λؾʹ͢Δ͜ͱͳ͘ɺ8FCωΠςΟϒΞϓϦʹ νϟοτػೳΛՃͰ͖·͢ɻ
νϟοτػೳ օ͞ΜͳΒͲ͏࡞Γ·͔͢ʁ
νϟοτͷ ”ࠜຊ” A: Hello A: Hello A B αʔόʔ͔ΒಛఆͷΫϥΠΞϯτ(B)ʹϝοηʔδΛૹ৴͍ͨ͠…
A ͷΠϕϯτΛ B ͕ݕ͢Δʹ ɾϙʔϦϯά ɾComet ɾServer Sent Events ɾWebSocket
ɾPusher, PubNub ɾFirebase, Milkcocoa, IP ϝοηʔδϯά ࣗલ ֎෦
ࣗલͰΔͳΒ WebSocket socket.io (Node.js) ActionCable (Ruby on Rails 5.0~ )
͕ͩ… ɾઐ༻αʔόʔͷ༻ҙͱཧ͕ඞཁ νϟοτΞϓϦͷΑ͏ͳϦΞϧλΠϜ͕ओػೳͳαʔϏεͳΒ͍͍͚Ͳ… ɾεέʔϧ͢Δͱ͖Ͳ͏͢Δͷʁ ɹ࡞Δ͚ͩͳΒ؆୯͚ͩͲɺͦͷઌӡ༻Ͱ͖Δʁ
֎෦ WebSocket αʔϏε Pusher, PubNub ɾγϯϓϧͳ ϦΞϧλΠϜػߏ ɾϝοηʔδػೳࣗͰ࣮͢Δඞཁ༗ ɾσʔλࣗͨͪͰཧ Firebase,
Milkcocoa, IP ϝοηʔδϯά ɾϝοηʔδػೳ SDK Ͱطʹ༻ҙ (։ൃऀ͚ Dropbox) ɾϝοηʔδσʔλαʔϏεଆͰอଘ (ಉظ) ɾΦϑϥΠϯରԠ, ϚϧνσόΠεରԠͳͲ
Firebase ͱࠩผԽ? ΦϜχνϟωϧͳίϛϡχέʔγϣϯ ଏʹݴ͏ Contextual Communication จɹ຺ɹΛɹཧɹղɹ͠ɹͨɹސɹ٬ɹͱɹͷɹରɹ ͷ࣮ݱΛࢦ͍ͯ͠Δ (Β͍͠)
ɾWeb ʹ͓͚ΔϦΞϧλΠϜ ɾIP ϝοηʔδϯάʹ͍ͭͯ - Ͱ͖Δ͜ͱ - جຊ֓೦ - ֶशࢿྉ
- ࣄྫ ༰
Ͱ͖Δ͜ͱ
ࠓͰ͖Δ͜ͱ νϟϯωϧ࡞ɾআ private, public ͳνϟϯωϧ ϝϯόʔটɺআɺऔಘ νϟϯωϧࢀՃɺୀࣨ ϝοηʔδͷૹड৴ɾฤूɾআ ϢχʔΫͳνϟϯωϧ໊ ෳσόΠεͰͷಉظ
ΦϑϥΠϯରԠ WebhookͰͷΠϕϯτίʔϧόοΫ λΠϓதදه ׂݖݶ iOS, Android, JavaScript SDK APN, GCM ϓογϡ௨ طಡεςʔλε ࠓޙͰ͖ΔΑ͏ʹͳΔ͜ͱ iOS. AndroidͰطಡεςʔλε ը૾ϏσΦϝοηʔδ ௨ͱ࣮ߦΦϓγϣϯ ϢʔβʔϓϩύςΟ
جຊ֓೦ ࣮ํ๏ Ҏ߱ͷ Part Ͱʂ
5XJMJP"DDPVOU 4FSWJDF $IBOOFM 6TFS JEFOUJUZ 3PMF IP ϝοηʔδϯά֓ཁ $IBOOFM .FNCFS
JEFOUJUZ .FTTBHF JEFOUJUZ .FTTBHF JEFOUJUZ .FNCFS JEFOUJUZ $IBOOFM3PMF 6TFS JEFOUJUZ 3PMF 4FSWJDF3PMF
identity ͕େࣄʂ IPM ͰਓΛࣝผ͢Δจࣈྻ ෳσόΠε͋ͬͯಉ͡ਓͳΒಉ͡ identity identity ͕ΘΕ͍ͯΔͱ͜Ζɿ ɹɾࣗ୭͔(τʔΫϯ࡞) ɹɾ୭͕ൃݴ͔ͨ͠
ɹɾ୭͕νϟϯωϧॴ༗ऀ͔ ɹɾ୭͕νϟϯωϧʹ͍Δ,ೖͬͨ,ୀ੮͔ͨ͠ Ϣʔβʔৄࡉσʔλidentityͱඥ͚ͯࣗͨͪͰཧ ͠ͳ͚ΕͳΒͳ͍ɻ
User ͱ Member ͱ User - identity ʹର͢Δ “Service Role”
ͷཧͷΈ - τʔΫϯऔಘ࣌ʹ identity ͔Βࣗಈੜ or REST API Ͱ࡞ Member - identity ͕Ͳͷ Channel ʹ͍Δ͔ - identity ʹର͢Δ “Channel Role” ͷཧ - SDK ͷ channel.join() or REST API Ͱ Channel ʹ Member Ճ
5XJMJP"DDPVOU 4FSWJDF $IBOOFM 6TFS JEFOUJUZ 3PMF IP ϝοηʔδϯά֓ཁ $IBOOFM .FNCFS
JEFOUJUZ .FTTBHF JEFOUJUZ .FTTBHF JEFOUJUZ .FNCFS JEFOUJUZ $IBOOFM3PMF 6TFS JEFOUJUZ 3PMF 4FSWJDF3PMF ͜Ε
Service Role and Channel Role ֤छ SDK Λ͏ͱɺͲΜͳਓͰ SDK ͷϝιουΛݺ
ԿͰͰ͖ΔΑ͏ʹͳͬͪΌ͏ͷͰɺͦΕͷରԠɻ Service Role - Channel ͷཧݖݶͷΑ͏ͳΠϝʔδ - νϟϯωϧ࡞ɺϝϯόʔটɺνϟϯωϧࢀՃͳͲ Channel Role - Channel ͷϢʔβʔݖݶͷΑ͏ͳΠϝʔδ - ϝοηʔδૹ৴ɺνϟϯωϧୀࣨͳͲ
IPM SDK or REST API ? REST API γεςϜଆͰϝϯόʔɺνϟϯωϧͳͲΛࢦఆͰ࡞Δ IPM
SDK ϢʔβʔଆͰࣗ༝ʹνϟϯωϧ࡞ɺϝϯόʔཧΛͤ͞Δ -> ݖݶઃఆ͕ॏཁ Channel, Member, Message ૢ࡞ͲͪΒͰͰ͖Δɻ ࡞Γ͍ͨαʔϏεʹΑ͍͚ͬͯΔɻ
ֶशࢿྉ
ɾTwilio Document ɹhttps://jp.twilio.com/docs/api/ip-messaging ɾGoogle Groups ɹhttps://groups.google.com/forum/?hl=ja#!forum/ip-messaging-public-beta ɾSDK ιʔείʔυ https://jp.twilio.com/docs/api/ip-messaging/changelogs/javascript
ࣄྫ
as a Service ސ٬ใͱ࿈ಈͨ͠ి૭ޱΛ5Ͱߏங Webϒϥβ͕ిΘΓ ֨҆ɾຊ֨ػೳɾଈಋೖ ̎िؒແྉτϥΠΞϧ࣮ࢪத αʔϏεհ https://www.callconnect.jp/
Twilio ͷ Queue Queue ͷͪਓ, ઌ಄ίʔϧใ REST API (Queues/{QueueSid}/Members/Front) Λݺͳ͍ͱऔͬͯ͜Εͳ͍ʂ
Problem CallConnect Ͱɺ௨ͷอཹͱண৴ΩϡʔΠϯάͰ Twilio ͷ Queue Λར༻ɻ
ϙʔϦϯάͰ Twilio REST API ΛݺΜͰ͍·ͨ͠ɻ ϦΫΤετͷແବແବແବແବΝʂ
2VFVF A B 1, Ωϡʔʹೖͬͨ 2, ௨։࢝ Queue ͷͪਓ͕มΘΔ2ͭͷΠϕϯτ 2ͭͷλΠϛϯάͷ͚࣌ͩΩϡʔͷͪਓͱઌ಄ͪ௨ͷ
ใΛΫϥΠΞϯτʹ௨Ͱ͖ΕOK! 2, ػதஅ
IP ϝοηʔδϯά REST API Ͱ Web ϓογϡ௨ 1. ֤Πϕϯτൃੜ࣌ʹ JSON
ܗࣜͰ REST API ͔Β IPM ϝοηʔδૹ৴ 2. IPM ͔Βड͚औͬͨใΛϒϥβଆ ͰϦΞϧλΠϜߋ৽
DEMO (࣌ؒ͋Ε) https://www.youtube.com/watch?v=SgR3XMDn_3w
IP ϝοηʔδϯά νϟοτػೳΛ͡Ίͱͨ͠ Web ͷϦΞϧλΠϜػೳΛखܰʹ࣮ݱͰ͖·͢ɻ ·ͱΊ
Questions ?