Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ビールを飲みに行きたくなるスピーカーアプリ / API Meetup Tokyo #24
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
misoca12
February 23, 2018
Programming
1
410
ビールを飲みに行きたくなるスピーカーアプリ / API Meetup Tokyo #24
misoca12
February 23, 2018
Tweet
Share
Other Decks in Programming
See All in Programming
HTTPプロトコル正しく理解していますか? 〜かわいい猫と共に学ぼう。ฅ^•ω•^ฅ ニャ〜
hekuchan
2
690
Architectural Extensions
denyspoltorak
0
290
AIと一緒にレガシーに向き合ってみた
nyafunta9858
0
240
2026年 エンジニアリング自己学習法
yumechi
0
140
今から始めるClaude Code超入門
448jp
8
8.9k
AIフル活用時代だからこそ学んでおきたい働き方の心得
shinoyu
0
140
15年続くIoTサービスのSREエンジニアが挑む分散トレーシング導入
melonps
2
210
AIエージェントのキホンから学ぶ「エージェンティックコーディング」実践入門
masahiro_nishimi
5
470
Apache Iceberg V3 and migration to V3
tomtanaka
0
160
余白を設計しフロントエンド開発を 加速させる
tsukuha
7
2.1k
Implementation Patterns
denyspoltorak
0
290
Package Management Learnings from Homebrew
mikemcquaid
0
230
Featured
See All Featured
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
420
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
110
Scaling GitHub
holman
464
140k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
250
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
110
The Language of Interfaces
destraynor
162
26k
From π to Pie charts
rasagy
0
120
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
190
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7k
GitHub's CSS Performance
jonrohan
1032
470k
Become a Pro
speakerdeck
PRO
31
5.8k
Transcript
ϏʔϧΛҿΈʹߦ͖ͨ͘ͳΔ εϐʔΧʔΞϓϦ API Meetup Tokyo #24 Takuya Kimura @misoca12
ࣗݾհ • Ͳ͔͜Ͱฉ͍ͨ͜ͱ͋Δ໊લ • ීஈAndroidΞϓϦΛ։ൃ • ΫϥϑτϏʔϧ͕͖ ଜ Takuya Kimura
@misoca12
ͭͬͨ͘ͷ ΠΧεςʔδ ήʔϜͷεςʔδใΛऔಘ͢Δ Google Assistant͚ΞϓϦ BeerHolicTokyo(ϕʔλ൛) ϏʔϧͷใΛߘͨ͠Γۙ͘ͷ ϏΞόʔΛݕࡧ͢ΔAndroid͚ΞϓϦ
ࠓൃද͢Δ͜ͱ ΫϥϑτϏʔϧͷใΛڭ͑ͯ͘ΕΔ GoogleAssistant͚ΞϓϦΛ࡞ͬͨ
ΫϥϑτϏʔϧͱ খنͳϒϧϫϦʔ(ৢॴ)Ͱ࡞Γख͕ ࣭Λॏࢹ͠ɺͩ͜ΘΓΛ࣋ͬͯख࡞Γ ͨ͠(Ϋϥϑτ)Ϗʔϧͷ͜ͱɻ
ΫϥϑτϏʔϧͱ খنͳϒϧϫϦʔ(ৢॴ)Ͱ࡞Γख͕ ࣭Λॏࢹ͠ɺͩ͜ΘΓΛ࣋ͬͯख࡞Γ ͨ͠(Ϋϥϑτ)Ϗʔϧͷ͜ͱɻ • छྨ͕ଟ͍ ϒϧϫϦʔຊͰ300Ҏ্ΞϝϦΧͰ5000Ҏ্ • ྲྀ௨ྔ͕গͳ͍ قઅݶఆҰ͔͠ੜ࢈͞Εͳ͍ͷଟ͍
ΫϥϑτϏʔϧͷϝχϡʔ
ΫϥϑτϏʔϧͷϝχϡʔ TAPʢϏʔϧͷ͗ޱʣ= ੜϏʔϧ
ۙͷϏΞόʔࣄ ҿΈʹ ߦ͖͍ͨ
ۙͷϏΞόʔࣄ ྲྀಈతͳใ
ۙͷϏΞόʔࣄ ྲྀಈతͳใ ෳͷ4/4ʹ ࢄ͍ͯ͠Δ
None
࣮ࡍʹ࡞ͬͯΈͨ
None
“What’s on tap?” ͲΜͳੜϏʔϧ͕͋Γ·͔͢ʁ
֓ཁ ΫϥϑτϏʔϧఏڙऀ(ϏΞόʔ)͕ొͨ͠ λοϓใΛڭ͑ͯ͘ΕΔGoogle AssistantΞϓϦɻ
֓ཁ ΫϥϑτϏʔϧఏڙऀ(ϏΞόʔ)͕ొͨ͠ λοϓใΛڭ͑ͯ͘ΕΔGoogle AssistantΞϓϦɻ • Ͳͷ͓ళͰͲͷΑ͏ͳϏʔϧ͕ఏڙ͞Ε͍ͯΔ͔ ͷใ͕औಘͰ͖Δ • ఏڙ͞Ε͍ͯΔϏʔϧʹਵ͢Δใऔಘ͢ Δ͜ͱ͕Ͱ͖Δ
ߏ AndroidΞϓϦ AssistantΞϓϦ Firebase
AndroidΞϓϦʙ֓ཁʙ • ΫϥϑτϏʔϧఏڙళฮ͕ར༻͢Δ ͜ͱΛఆ • ݱࡏͷλοϓใΛొ͢Δ
AndroidΞϓϦʙϩάΠϯʙ
AndroidΞϓϦʙϢʔβొʙ
AndroidΞϓϦʙϢʔβొޙʙ
AndroidΞϓϦʙϢʔβొޙʙ
AndroidΞϓϦʙλοϓొʙ
AndroidΞϓϦʙλοϓҰཡʙ
AndroidΞϓϦʙλοϓҰཡʙ
AndroidΞϓϦʙͬͯΔ͜ͱʙ ϩάΠϯ Ϣʔβొ λοϓొ
AssistantΞϓϦʙ֓ཁʙ • ΫϥϑτϏʔϧΛҿΈ͍ͨਓ͕ར༻ ͢Δ͜ͱΛఆ • ళฮຖʹొ͞Ε͍ͯΔλοϓใ Λऔಘ͢Δ
AssistantΞϓϦʙॲཧϑϩʔʙ Webhook
AssistantΞϓϦʙݺͼग़͠ʙ
AssistantΞϓϦʙλοϓҰཡʙ
AssistantΞϓϦʙλοϓৄࡉʙ
It worked!
TIPS
Dialogflowͱ ࣗવݴޠॲཧΛ؆୯ʹ࣮Ͱ͖ΔαʔϏεɻ • Intent ݅Λຬͨͨ࣌͠ʹͲ͏ৼΔ͏͔ͱ͍͏ ग़དྷࣄͷఆٛɻ • Entity ࣗવݴޠͷத͔Βநग़͢ΔΩʔϫʔυɻ
Require Parameter Intentʹͬͯ͘ΔύϥϝʔλΛඞਢԽ͢Δ͜ͱ ͰඞཁͳύϥϝʔλΛऩूͯ͘͠ΕΔɻ
User Entity Placeͱ͍͏EntityʹAPI Meetup TokyoΛొ͢ Δ͜ͱͰDialogflowͰళฮͱೝࣝ͞ΕΔɻ
User Entity ొ͠ͳ͍ͱ ొ͢Δͱ UserEntityొAPI͕༻ҙ͞Ε͍ͯΔɻ POST /entities POST /entities/{id}/entries
Contexts IntentͷؔΛঢ়ଶͱͯ͠ఆٛ͢Δɻ ໊લ͖ύϥϝʔλΛ༩͢Δ͜ͱՄೳɻ • input contextIntentͷൃੜ݅ • output context࣍ͷIntentͷൃੜ݅ Webhook͔ΒઃఆՄೳɻ
FollowupEvent Intentͷൃੜ݅ͱͯ͠Event͕͋Δɻ Webhook͔ΒFollowupEventͱͯ͠Πϕϯτ໊ Λฦ٫͢Δ͜ͱͰผͷIntentΛൃੜͤ͞Δ͜ͱ͕ Ͱ͖ΔɻʢϦμΠϨΫτతͳ͍ํʣ
Webhook Timeout Webhookͨ͠߹5ඵҎʹϨεϙϯε͕ͳ͍ͱλΠϜΞτͱ ͳΓɺΞϓϦ͕ऴྃ͢Δɻ Deploy Fulfillment https://developers.google.com/actions/dialogflow/deploy-fulfillment Cloud FunctionʹҰఆ࣌ؒϦΫΤετ͕ͳ͍ͱεϦʔϓϞʔυʹೖ Γɺ෮ؼ·Ͱඵ͔͔ΔͷͰҙɻ
։ൃڥͰcloud functions(firebase)ͷಈ࡞͕͍ཧ༝ https://qiita.com/Masaaki/items/54cf16c6c55cdae91b82
εϐʔΧʔҎ֎ͷߟྀ
ΞϓϦ໊ͷೝࣝ ຊޠ൛GoogleAssistantͰجຊతʹӳޠͳͲ ຊޠʹม͞ΕΔɻ ֯εϖʔε͕ೖ͍ͬͯΔ
ಡΈํ͕ҧ͏ ࢥͬͨ௨ΓʹಡΜͰ͘Εͳ͍͜ͱ͕͋Δɻ API Meetup → ΞϐʔϛʔτΞοϓ ࣈͷಡΈո͍͠߹͕͋Δɻ ͻΒ͕ͳΧλΧφʹ͢Δ͜ͱͰճආՄೳɻ
ࠓޙͷ༧ఆ Whats on Tap ΛͬͯΈ͍ͨళฮืूதʂ ڠྗͯ͠Β͑Δళฮʹࢼݧಋೖ͠ɺ ϦϦʔεʹ͚ͯௐ༧ఆɻ
Have a nice beer life!