あなたのAlexaコンソール
?
サポート

リストスキルの作成手順

リストスキルの作成手順

リストスキルはリストイベントやスキルイベントにアクセスできるため、リストスキルを作成するとユーザーの操作性が向上します。

リストスキルを作成するには、ASK CLI(Alexa Skills Kitコマンドラインインターフェース)を使用してスキルを作成または更新し、適切なapisオブジェクトと、適切なpermissionseventsオブジェクトが含まれるようスキルマニフェストを編集します。

リストスキルを作成する手順は以下のとおりです。

クイックスタートガイドに従ってASK CLIをインストールし、新しいスキルを作成します。

スキルマニフェストファイルがあるskill.jsonファイルを、以下のように編集します。

  • スキルマニフェストは、apisオブジェクトにあるhouseholdList を持つスキルマニフェストか、apisオブジェクトに追加のhouseholdListフィールドを持つカスタムスキルマニフェストのいずれかです。スキルマニフェストのマニフェストのサンプルを参照してください。

  • 適切な権限を付与するプロンプトを出すようスキルをセットアップすると、スキルサービスがこれらのイベントを参照できるようになります。skill.jsonファイルにはpermissionsInfoオブジェクトが含まれている必要があります。詳細については、イベントを含めるようにスキル定義を更新するを参照してください。permissionsInfoオブジェクトを使用して、Alexaリストの読み込みまたは書き込み権限の許可をユーザーに求めることができます。これにより、開発者ポータルで権限を設定した場合と同じ結果が得られます。

  • スキルマニフェストには、イベントへのサブスクリプションを含むeventsオブジェクトが必要です。スキルマニフェストを参照してください。含めるイベントは、スキルが必要とするものだけにしてください。

  • スキルマニフェストにeventsオブジェクトがあり、apisオブジェクトにcustomが含まれない場合、カスタム対話モデルはオプションです。

  • スキルサービスにAWS Lambda関数を使用する場合は、AWS Lambda関数のエンドポイントにAlexa Skills Kitのトリガーが設定されていることを確認する必要があります。これはAWSコンソールで行うことができます。詳細はこちらを参照してください。

スキルがイベントを使用しないカスタムスキルであれば、引き続きAmazon開発者ポータルで管理することができ、リストとの対話型のスキルであっても、リストスキルとしては扱われません。

ただし、スキルにリストイベントへのサブスクリプションを行うhouseholdListコンポーネントが含まれる場合、そのスキルはASK CLIを使って管理する必要があり、Amazon開発者ポータルでは編集できなくなります。

リストスキルでリストやスキルのイベントを使用し、スキルの操作性を高める

リストイベントスキルイベントを使用する目的は、ユーザーがスキルとセッション中でないときでも「アレクサ、買い物リストにバナナを追加して」といった上位レベルの発話にすぐに応答できるスキルを作成することです。たとえば、ユーザーがニュースを聞いたり、ゲームをしたりしているときにAlexaリストに項目を追加をリクエストするような場合です。

前のセクションで述べた機能をリストスキルに追加するには、以下の手順に従います。

  • スキルマニフェストを編集し、リストの読み込みとリストの書き込みの権限をユーザーから取得できるようにします。スキルのpermissionsオブジェクトの例については、リストマニフェストを参照してください。以下は、スキルでAlexaリストの読み取りおよび書き込みアクセス権限をユーザーに求めるpermissionsオブジェクトのサンプルです。
    "permissions": [
      {
        "name": "alexa::household:lists:read"
      },
      {
        "name": "alexa::household:lists:write"
      }
    ],

スキルを有効にすると、ユーザーはAlexaアプリで権限を付与または拒否するカードを受け取ります。

スキルの同意トークンを取得するには、ClientIdClientSecretが必要です。これを確認するには、開発者ポータルのスキル一覧から、該当のリストスキルを見つけます。以下の図のように、スキルIDとクライアントシークレットのリンクをクリックします。

スキルIDとクライアントシークレットを取得する
スキルIDとクライアントシークレットを取得する

リストスキル作成に関するその他のリソース

スキルにリストイベントを使用する場合についてのその他の詳細については、Alexaスキルのリストイベントを参照してください。

リストイベントを含めるよう既存のスキルを更新するには、SMAPIを使ってスキルにイベントを追加するを参照してください。