[レポート] ALX401: Alexaスキルを使用してデジタルコンテンツを購入する:スキルを身につけるためのワークショップ #reinvent

2018.11.27

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、中村です。
ALX-401 Use Alexa Skills to Buy Digital Content: A Workshop for In-Skill Purchasing のWorkshopに参加してきました。

ALX-401 Use Alexa Skills to Buy Digital Content: A Workshop for In-Skill Purchasing で In-SKill Purchaseスキルを作ってみた

In this hands-on workshop, you walk through the process of integrating in-skill purchasing in your Alexa skill, writing code, deploying to AWS Lambda, using the Alexa SDK to save state in Amazon DynamoDB, and finally, enabling products to be purchased with a user's voice. Leave this workshop with a working skill that you can modify to make your own. Bring your laptop.

この実習では、Alexaスキルのスキルの習得、コードの作成、AWS Lambdaへのデプロイ、Alexa SDKを使用したAmazon DynamoDBでの状態の保存、そして最終的には製品の購入を可能にするプロセスを説明します。

In-Skill Purchasingとは?

  • デジタルコンテンツを販売するのに向いている
  • 無料のコンテンツを補足する位置付けのもの
  • カスタマーのAmazonアカウントと連携して決済オプションを提供している
  • 現在はen-USのみ対応

Workshop

基本的には、インストラクションはあまりなくgithubの資料をもとにスキルを開発していきます。 今回は、Amazon Prime Videoの作品を答えるクイズスキルでした。ヒント(俳優名等)を有料で購入できるようなスキルになっています。

まずはispを設定する前のベーススキルをデプロイします。デプロイにあたり、AWSアカウント・Amazon開発者アカウント・ask-cliが必要です。環境構築については、ローカルかAWS Cloud9を利用するようにとのことでした。 ask-cliでは、Alexa側の設定・AWS Lambdaの設定をどちらもデプロイができます。(ask-cliの実装上、デプロイしたLambdaはus-east-1に作成されます) またispは、LambdaからAlexa Monetization Serviceへリクエストを行います。これは、alexa SDK for nodejs v2にて簡単に実装ができます。

今回は、Consumable(消耗する商品)をスキルに実装しているため、SubscriptionやEntitiementの管理等はありませんでしたがSubscriptionの商品購入等も可能です。 その場合は、様々なシステムの統合が必要ですが DynamoDB へのデータ永続化については、alexa SDK for nodejs v2でもサポートがされていますのでぜひ活用しましょう。

まとめ

作業自体は、そこまで難しくないのでぜひWorkshop資料を見ながら実際にやってみることをオススメします。 Echoでの動画は後ほどあげます。

Workshop資料