ガジェットのスキルのセットアップ
ガジェットで動作するスキルを作成するには、カスタムスキルのビルド手順に従い、スキルのコンフィギュレーションでサポートされるインターフェースとして、カスタムインターフェースコントローラーを追加します。スキルの詳細には、ガジェットが必須か任意かなど、ガジェットとスキルの相互関係を示す説明を含める必要があります。このトピックでは、これらの手順について詳しく説明します。
スキルのコードでは、カスタムインターフェースコントローラーを使用して、ガジェットにカスタムディレクティブを送信し、ガジェットからイベントを受信します。つまり、カスタムインターフェースコントローラーは、カスタムインターフェースで定義したカスタムディレクティブとイベントを送受信するためにスキル側で使用するものです。
カスタムスキルの作成に関する一般的なリソースへのリンクについては、カスタムスキルのクイックリファレンスを参照してください。
カスタムインターフェースコントローラーインターフェースを追加する
スキルでガジェットへのディレクティブの送信や、ガジェットからのイベントの受信を行えるようにするには、スキルにカスタムインターフェースコントローラーのサポートを追加する必要があります。インターフェースはAlexa Skills Kit開発者コンソールまたはAlexa Skills Kitコマンドラインインターフェース(ASK CLI)を使用してスキルに追加できます。
- 開発者コンソールを使用する – リストの中から該当するスキルを見つけ、アクションの下の編集を選択します。左側にあるインターフェースを選択します。インターフェースのリストで、カスタムインターフェースコントローラーを有効にします。
- ASK CLIを使用する – ASK CLIを使用してスキルにカスタムインターフェースコントローラーのサポートを追加するには、スキルマニフェストを編集します。スキルマニフェストは、スキルのメタデータをJSON形式で表したファイルです。以下の例のように、スキルがサポートするインターフェースのリストに
CUSTOM_INTERFACE
を追加します。{ "manifest": { "publishingInformation": { "locales": { "ja-JP": { "summary": "スキルの簡単な説明です。", "examplePhrases": [ "アレクサ、サンプルのカスタムスキルを開いて。" ], "keywords": [ "関連するキーワード_1", "関連するキーワード_2", "関連するキーワード_3" ], "smallIconUri": "https://smallUri.com", "largeIconUri": "https://largeUri.com", "name": "サンプルのカスタムスキル名です。" "description": "ここでは、スキルとガジェットのインタラクションを説明する必要があります。" } }, "isAvailableWorldwide": false, "testingInstructions": "1)「アレクサ、サンプルのカスタムスキルを開いて」と言って", "category": "SOME_CATEGORY", "distributionCountries": [ "JP" ] }, "apis": { "custom": { "endpoint": { "uri": "arn:aws:lambda:us-east-1:040623927470:function:sampleSkill" }, "interfaces": [ { "type":"CUSTOM_INTERFACE" } ], "regions": { "NA": { "endpoint": { "sslCertificateType": "Trusted", "uri": "https://customapi.sampleskill.com" } } } } }, "manifestVersion": "1.0", "privacyAndCompliance": { "allowsPurchases": false, "usesPersonalInfo": false, "isChildDirected": false, "isExportCompliant": true, "containsAds": false, "locales": { "ja-JP": { "privacyPolicyUrl": "http://www.myprivacypolicy.sampleskill.com", "termsOfUseUrl": "http://www.termsofuse.sampleskill.com" } } } } }
スキルマニフェストを取得する方法は2通りあります。
- 新しいスキル – ASK CLIの
new
コマンドを使用して新しいスキルを作成すると、シンプルなスキルマニフェストが作成されます。このファイルはskill.json
と呼ばれ、ASK CLIがコンピューター上に作成したスキルプロジェクトのルートディレクトリにあります。 - 既存のスキル –
get-skill
を使用して、既存のスキルのマニフェストを取得できます。
スキルマニフェストを取得した後、テキストエディターでファイルを開いて、編集することができます。ファイルの編集が終わったら、
update-skill
またはdeploy
コマンドを使用して、アップロードできます。 - 新しいスキル – ASK CLIの
詳細な説明を記入する
スキルの詳細な説明(開発者ポータルの公開>詳細な説明)で、スキルとガジェットのインタラクションを説明する必要があります(「このスキルは<ガジェット名>と連動するように作られています」など)。 また、スキルの使用にガジェットが必須か任意かも指定する必要があります。詳細な説明は、Alexaスキルストアのスキルの詳細ページに表示されます。
ガジェットへのディレクティブの送信やガジェットからのイベントの受信を行うスキルコードを記述する
ガジェットを操作するには、ガジェットへのディレクティブの送信、ガジェットからのイベントの受信、またはその両方を行うスキルコードを追加します。詳細については、以下のトピックを参照してください。
- スキルからカスタムディレクティブをガジェットに送信する – カステムディレクティブを使用することで、スキルはAlexaとガジェットの間に長期的なインタラクション(連動関係)が可能になります。ユーザーは、このインタラクションに参加する、監視する、あるいはその両方を行うことができます。たとえば、カスタムディレクティブを使用すると、スキルのコンテンツに基づいてデバイスの動作をトリガーする、ユーザーからのあいまいなコマンドに対応する、ユーザーからの明確だが複雑なコマンドに対応するといった処理を行うことができます。
- ガジェットからカスタムイベントを受信する – カスタムイベントを使用すると、スキルはガジェットからの情報を処理し、対応できます。たとえば、カスタムイベントを使用すると、音声またはオーディオといった即時のスキル応答をトリガーする、ガジェットのステータスを報告する、1つまたは一連のイベントにビジネスロジックを収集して適用するといった処理を行うことができます。