Alexa Skills Kit SDK for Node.js Version 2の変更内容まとめ

Alexa Skills Kit SDK for Node.js Version 2の変更内容のまとめです。
2018.04.20

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

はじめに

Alexa Skills Kit SDK for Node.js Version 2がリリースされました。Alexa公式ブログ記事"Now Available: Version 2 of the ASK Software Development Kit for Node.js : Alexa Blogs"で紹介されたVersion 2の変更内容をまとめます。

Alexa Skills Kit SDK for Node.js Version 2 の変更内容

リクエスト・エラーハンドラに関する改善

  • 一つ以上のリクエストタイプに適用されるリクエスト処理ロジックを簡単にグループ化することができるようになった
    • Alexa Skills Kit SDK for Node.js Version 1(以下v1と略記します)では各ハンドラはリクエストタイプによって決定される一種類のリクエストしか扱うことができなかった
  • 汎用的なロジックを一元化することでコードの重複を避けるために使うことができるインターセプタという機能が追加された
  • たまにしか発生しないイベントのハンドラの定義もれによって起こるようなエラーに行儀よく応答できるエラーハンドラが追加された

Attributes Managerの改善

  • データの保存と取得を行う際のスコープを、"現在のリクエスト中"に限定することができるようになった
    • v1では、1つのセッション中、もしくは複数のセッションをまたいで、のどちらかのスコープでしか行うことができなかった
  • セッションをまたいでデータを保存する場合に必要なバックエンドストアに任意の外部データベースを使用することができるようになった
    • v1ではバックエンドストアとしてAmazon DynamoDBしか使用することができなかった
  • Attributes Managerに保存された値に応じて起動するリクエストハンドラ切り替える機能が追加された

Alexaサービスに関する改善

  • エンドポイントと認証トークンの取得を自動で行う機能が追加された

ツール・開発環境に関する改善

  • スキルに必要な機能パッケージだけを選択してインストールすることでコードサイズを節約できるようになった
    • 例えば、ask-sdkパッケージ全体は5MBあるが、ask-sdk-coreパッケージだけでよければサイズは40KBまで抑えられる
  • ハンドラインターフェースを整理したことによってヒントやオートコンプリートなどのIDEサポートがやりやすくなった
  • 全てのSDKツールをhandlerinputオブジェクトとして提供することでアクセスが簡単になり単体テストもやりやすくなった
  • TypeScriptの定義ファイルが追加された
    • これにより、TypeScriptを用いたスキル開発と.d.tsファイルを読み込むツールの利用が可能になった
  • 最新のECMAScript標準がサポートされた
    • async/awaitが使えるようになった

おわりに

メジャーバージョンアップということで、いろいろ変更が入ったようです。実際に動かしてみてまたレポートします。

参考URL