Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Echo SpotとAPIでインタラクティブなカスタムスキル
Search
KIKUCHI Joe
September 14, 2018
Programming
660
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Echo SpotとAPIでインタラクティブなカスタムスキル
API Meetup Tokyo #28で発表したスライドになります。
KIKUCHI Joe
September 14, 2018
More Decks by KIKUCHI Joe
See All by KIKUCHI Joe
re:Invent初参加者が体験したre:Invent2018
woowig
1
580
PayPal Tech Meetup #2 - ブロックチェーンで資産管理
woowig
0
3.6k
Other Decks in Programming
See All in Programming
AWS DevOps Agentで インシデント対応をAIに任せたい
honmarkhunt
7
2.9k
XHTMLが残したもの
yosuke_furukawa
PRO
2
810
AIは賢い。でも実行環境は? CLIおじさんがAI時代に伝えたいこと ~ CLIおじさんがAI時代に伝えたいこと ~
curekoshimizu
1
240
20260914 AIエージェント時代のPlatform Engineering LLM基盤とプロダクトの責務境界線
kanfab1
7
2k
個人開発基盤をまるごとCloudflareに引っ越して爆速で総合的体験を向上させた話
tinykitten
0
190
wkhtmltopdfの次どうするか問題2026
willnet
1
120
標準パッケージに uuid が追加された 背景から見る Go らしい意思決定 / go_127_uuid_decision
convto
5
7.2k
Omarchy Tokyo やると聞いて UMPC 買ってセットアップしてきた
mtsmfm
0
140
ゲームコントローラやキーボードのファームウェアをSwiftで書く
kishikawakatsumi
1
240
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
300
JPUG勉強会 OSSデータベースの内部構造を理解しよう(第2回)
oga5
0
230
Intent as Code
shoppingjaws
6
1k
Featured
See All Featured
Scaling GitHub
holman
464
140k
Between Models and Reality
mayunak
4
460
The Mindset for Success: Future Career Progression
greggifford
PRO
0
490
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Embracing the Ebb and Flow
colly
88
5.2k
Producing Creativity
orderedlist
PRO
348
41k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
940
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
490
Designing for Performance
lara
611
70k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
420
Transcript
Echo Spot と API で インタラクティブな カスタムスキル API Meetup Tokyo
#28 (Sep 14, 2018) KIKUCHI Joe
自己紹介 名前:菊池条 勤め先:フォージビジョン株式会社 好きなAWS サービス:AWS Lambda, AWS X-Ray API Meetup
Tokyo #28 (2018/9/14) 2
会社紹介 http://forgevision.com/ API Meetup Tokyo #28 (2018/9/14) 3
Echo Spot 2018 年7 月26 日 日本でも出荷開始 「スタイリッシュでコンパクトなEcho Spot は、ス
マートスピーカーの機能にスクリーンが加わって さらに便利に」 - Amazon 製品紹介ページより 2.5 インチ タッチスクリーン API Meetup Tokyo #28 (2018/9/14) 4
インタラクティブな Alexa カスタムスキルを 作ってみた API Meetup Tokyo #28 (2018/9/14) 5
作ったスキル クイズを出題 クイズに関係した画像の表示 回答は音声か画面タッチで可能 ASK CLI とASK SDK for Node.js
を使って TypeScript で開発 API Meetup Tokyo #28 (2018/9/14) 6
使用したAPI クイズ研 API http://quizken.jp/api Google Custom Search JSON API https://developers.google.com/custom-
search/json-api/v1/overview API Meetup Tokyo #28 (2018/9/14) 7
画像表示 カスタムスキルの設定でDisplay インターフェース を有効にする レスポンスのdirectives にDisplay.RenderTemplate を 追加 テンプレートのbackgroundImage やimage
に画像の URL を指定 API Meetup Tokyo #28 (2018/9/14) 8
画像表示(コード例) const image = new ImageHelper() .withDescription(description) .addImageInstance(url) .getImage(); const
display: BodyTemplate3 = { image, textContent, title, type: 'BodyTemplate3', }; return handlerInput.responseBuilder .speak(speechText) .addRenderTemplateDirective(display) .getResponse(); API Meetup Tokyo #28 (2018/9/14) 9
タッチイベント テンプレートのタッチイベントを起こしたい箇所 のtoken を設定 テキスト中の特定の箇所にタッチイベントを入れ たい場合は<action token="token">Touch Me!</action> のようにマークアップする Display.ElementSelected
リクエストが発行されるの で、リクエストに含まれるtoken の値を見て適切に 処理する API Meetup Tokyo #28 (2018/9/14) 10
タッチイベント(コード例) const elementSelectedRequestHandler: RequestHandler = { canHandle(handlerInput: HandlerInput) { return
handlerInput.requestEnvelope.request.type === 'Display.ElementSelected'; }, handle(handlerInput: HandlerInput) { const { token } = handlerInput.requestEnvelope.request as ElementSelectedRequest; return doSomething(token); }, }; API Meetup Tokyo #28 (2018/9/14) 11
デモ API Meetup Tokyo #28 (2018/9/14) 12
作っているもの 会社の受付スキル 来客の要件を聞き、内容に応じた通知を行う A さんのお客様の場合はSlack でmention 、B さん のお客様の場合は電話、etc API
Meetup Tokyo #28 (2018/9/14) 13
会社の受付スキル(構成図) API Meetup Tokyo #28 (2018/9/14) 14
ForgeVision Engineer Blog https://techblog.forgevision.com/ API Meetup Tokyo #28 (2018/9/14) 15
ご清聴ありがとう ございました API Meetup Tokyo #28 (2018/9/14) 16