はじめに
開発部の辻です。
通勤中にRSSを見ていたら、リマインダーAPIが一般利用できるという情報を目撃し早速試してみました。
Alexa Blogs - Remind Customers of Important Tasks or Events with the Reminders API
今まではスキルからリマインダーを設定することができませんでしたが、今回のアップデートでAPIが用意され簡単に使えるようになりました。
今回は試しにラーメンタイマーを作成してみました。
目次
Lambdaプログラム部分
ask-utilsが早速リマインダーAPIに対応していたのでそちらを利用します。
1 |
npm i -S ask-sdk ask-utils@latest |
リマインダーを設定する部分はこんな感じになります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
const {canHandle, RemidnerClient} = require('ask-utils'); ... // Slot値(数値)取得 const time = request.intent.slots.time.value; const client = new RemidnerClient(handlerInput); const payload = { requestTime:request.timestamp, trigger: { type: "SCHEDULED_RELATIVE", offsetInSeconds: `${time*60}`, }, alertInfo: { spokenInfo: { content: [{ locale: "ja-JP", text: "ラーメンの完成です!" }] } }, pushNotification: { status: "ENABLED" } }; client.setPayload(payload); await client.fetch('POST'); |
ask-utilsのおかげで非常に簡単にできますね
Payloadの値はこちらで確認することができます。
Alexa Reminders API Reference
Skill設定
Skillのビルド設定よりリマインダーAPIへのアクセス権限を付与する必要があります。
テスト
実機でテストしました。
テストする前にスキルにリマインダーへのアクセスを許可する必要があります。
(私は忘れていてなぜか動かないと悩みました)
スキル名のあとにリマインドした内容を読み上げてくれるのでわかりやすいです。
まとめ
今まではなにかアクションを起こすためには、ユーザの発話が必要でしたがリマインダーAPIの登場でAlexa側からメッセージを送ることができるようになり
今後のスキル開発の幅が広がりそうですね
Alexaのアップデートは頻繁に来るので今後も注目していきたいと思います
※余談
社内に人が少ない時間にAlexaに話しかけていたら、通りかかった人に「えっ私が呼ばれたのかと思った」と言われました。
投稿者プロフィール
最新の投稿
- AWS2021年12月2日AWS Graviton3 プロセッサを搭載した EC2 C7g インスタンスが発表されました。
- セキュリティ2021年7月14日ゼロデイ攻撃とは
- セキュリティ2021年7月14日マルウェアとは
- WAF2021年7月13日クロスサイトスクリプティングとは?