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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
Embedded Swiftで作る自作USBデバイス によるiOSデバイスの自動テスト / iOSDC Japan 2026 glassfiber
glassfiber
0
320
見えないものを探る要求要件定義に必要な基本的思考 / invisible-requirement-thinking
minodriven
15
8.2k
Agentic Software Factoryに、すごく賢いIF文を。 / super smart IF statement into the Agentic Software Factory.
rkaga
8
2.1k
Simple Storage Service(S3) is not simple
iwatsukayura
0
250
Workers Cache を知る
syumai
0
350
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
700
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
1
360
Are APIs Still Relevant in the AI Era?
soyuka
0
450
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Rails World 2026, Austin, Texas
marcoroth
0
200
Domain-Driven Transformation
hschwentner
2
2.3k
wkhtmltopdfの次どうするか問題2026
willnet
2
1.9k
技術的負債を組織課題として解く-増えすぎたマイクロサービスとの戦い-
reimaru
1
3k
Featured
See All Featured
The Limits of Empathy - UXLibs8
cassininazir
2
710
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.4k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
560
Mind Mapping
helmedeiros
1
400
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
440
Faster Mobile Websites
deanohume
310
32k
Product Roadmaps are Hard
iamctodd
55
13k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.7k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
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