Alexa Smart Properties for Hospitalityのスキルを管理する


Alexa Smart Properties for Hospitalityのスキルを管理する

以下のセクションでは、Alexa Smart Properties for Hospitalityのスキルの管理、有効化、無効化について説明します。

施設用スキルのスキルIDを取得する

スキルが認定されたら、管理者ユーザーには、スキルを有効または無効にするためのスキルIDが必要になります。

施設用スキルのスキルIDを取得するには

  1. 開発者コンソールでスキルを開きます。
  2. リストでスキルを見つけ、スキル名の下のスキルIDの表示をクリックします。ポップアップからIDをコピーします。

ユニットに対してスキルを有効または無効にする

施設のユニットに対してスキルを有効または無効にするには、スキル管理APIを使用します。Alexaスキルストアで公開されているスキルを有効にすることができます。また、Alexa Skills Kitを使用して、施設固有のスキルを作成して公開することもできます。

1つのユニットに対してスキルを有効にするには、スキルを有効にするAPIを呼び出します。

複数のユニットに対してスキルを有効にするには、複数のユニットでスキルを有効にするAPIを呼び出します。

1つのユニットに対してスキルを無効にするには、スキルを無効にするAPIを呼び出します。

ユニットでスキルを有効にすると、施設のユーザーが、ユニットに設置されているエンドポイントでそのスキルを使用できるようになります。

スキル有効化でアカウントリンクとパーティションを使用する

スキル有効化は、ユニットでスキルが有効になっていることを示すレコードです。スキルを有効にするときに、その有効化でスキルにスキルプロバイダーアカウントをリンクすることができます。たとえば、ユニットにスマート電球が設置されていて、それらを制御するスマートホームスキルを開発者(スマートホームスキルプロバイダー)が作成したとします。開発者は、ユニットに対してスキルを有効にするAPI呼び出しで、スキルにスキルプロバイダーアカウントをリンクすることができます。

デリゲートアカウントリンクを使用する方法

デリゲートアカウントリンクは、スキルプロバイダーアカウントとAmazonビジネスアカウントの間に関連付けを作成するものです。このリンクを設定すると、スキルに対して実行するスキル有効化API呼び出しにアカウントの認証情報がデリゲートされ、呼び出しごとにアカウントの詳細情報を提供する必要がなくなります。

デリゲートアカウントリンクを設定するには

  1. Amazonビジネスの認証情報を使用してAlexaスキルストアにログインします。これらの認証情報は、スキルプロバイダーとしてAlexa Smart Properties for Hospitalityに登録したときに使用したものと同じである必要があります。

  2. Alexaスキルストアで目的のスキルを検索し、そのスキルをAmazonビジネスアカウントで有効にします。これにより、スキルにスキルプロバイダーアカウントがリンクされます。
  3. アプリで、ユニットに対してスキルを有効にします。そのスキル有効化に、スキルプロバイダーアカウントが自動的にリンクされます。

パーティションを使用してスマートホームスキルのスコープを制限する方法

パーティションを使用すると、ユニット内のスマートホームスキルのスコープを、そのユニットに設置されているスマートデバイスのみに制限することができます。パーティションとは、デバイス、エンドポイント、スキルなどのAlexaリソースの論理グループです。Alexa Smart Properties for Hospitalityでのパーティションは、多くの場合、ユニットまたはユニットのグループを表します。

パーティション名は、1つのパーティション名を含む文字列、または複数のパーティション名のカンマ区切りリストを含む文字列です。各パーティション名は空でない単一の文字列で、英数字とハイフンを含めることができますが、空白は使用できません。

たとえば、「Room-101」や「Room101, Room202」は有効なパーティション名です。一方、「」(空のリスト)、「Room101, ,Room202」(カンマ区切りが正しくない)、「Room 101」(空白を含む)は有効な値ではありません。

たとえば、ある施設に Room101Room102Room103Room104Room105という5つのルームがあるとします。パーティションをサポートするスマートホームスキルをRoom101で有効にするには、Room101に対してスキルを有効にするときに、次のようにパーティションを指定する必要があります。

{
   "persistentUnitId": "amzn1.alexa.unit.[unique-value-here]",
   "stage": "live",
   "partitionName": "Room101",
}

パーティションをサポートするAlexaスキルでは、スキル有効化APIの呼び出しpartitionNameパラメーターを含めることで、施設内のどのパーティションでスキルを有効にするかを指定できます。partitionNameフィールドを使用すると、施設を個々のユニットにパーティション化し、指定したパーティションのスコープ内でスキルを動作させることができます。

ユニットでのスキル有効化と、そのユニットに設置されたAlexaデバイスのスマートホームスキルサービスで同じpartitionNameを指定すると、エンドユーザーがそのユニットのAlexaデバイスからスマートホームスキルを呼び出したときに、そのユニット内のスマートホームデバイスのみがスキルで認識されます。ペイロード内でパーティションがどのように表されるかについては、Scopeオブジェクトのドキュメントを参照してください。

スキル有効化でパーティションを使用するには

  1. デリゲートアカウントリンクを設定して、スキルプロバイダーアカウントをAmazonビジネスアカウントにリンクします。
  2. スキルプロバイダーサービスを使用して、各ユニットのスマートデバイスをセットアップします。それぞれの呼び出しでユニットのパーティション名を渡します。
  3. ユニットごとにスキルを有効にします。それぞれの呼び出しでユニットのpartitionNameを渡します。このパーティション名は、スキルプロバイダーサービスでユニットのスマートデバイスをセットアップしたときと同じものを使用します。

スキルリクエストに対してユニット固有の応答を返す

スキルリクエストには、エンドユーザーが話しかけているエンドポイントに関連付けられたユニットIDが含まれています。スキルでは、ユニットIDを使用してユニット固有の応答を提供することができます。詳細については、カスタムスキルのJSONインターフェースのリファレンスで、Systemオブジェクトのunitフィールドを参照してください。

永続エンドポイントIDを使用する

スキルに送信されたリクエストのソースを識別しやすくするために、永続エンドポイントIDを有効にすることができます。開発者アカウントでこの機能が有効に設定されている場合、スキルへのリクエストに、そのスキルリクエストの送信元デバイスのエンドポイントIDが含められます。この機能は開発者アカウントに結び付けられます。つまり、この機能が有効になっている同じ開発者アカウントでエンドポイントIDにアクセスすれば、それらのIDは常に同じ値になります。

この機能を有効にして使用するには、以下の手順に従います。

永続エンドポイントIDを有効にして使用するには

  1. Alexaチームのソリューションアーキテクトに連絡して、この機能の許可リストに開発者を追加するように依頼します。このとき、ベンダーID(VID)とスキルIDを伝えます。これらは以下の方法で確認できます。
  2. 以下の手順を使用して、開発者コンソールで永続エンドポイントIDを有効にします。
    1. Alexa開発者コンソールにログインし、スキルに移動します。
    2. ビルドタブをクリックします。
    3. 左側のツールをクリックし、アクセス権限をクリックします。
    4. Persistent Endpoint IDをオンにします。
    5. スキルを保存します。
  3. スキルがリクエストを受け取ったら、リクエストのcontext.System.deviceオブジェクトのpersistentEndpointIdフィールドを調べます。詳細については、Systemオブジェクトを参照してください。


このページは役に立ちましたか?

最終更新日: 2023 年 03 月 16 日