Alexaアプリのベストプラクティス



Alexaアプリのベストプラクティス

スマートホームスキルAPIを使用すると、スマートホームデバイスの状態について最新の情報をAlexaに提供し、Alexaアプリを通じてその情報をユーザーに提供できます。このドキュメントでは、Alexaアプリに対応するスマートホームスキルのベストプラクティスについて説明します。

Alexaアプリでのスマートホームデバイスの表示

Alexaアプリでは、スマートホームデバイスを2つの方法で表示できます。デバイスの種類、説明、名前が表示される設定ページと、デバイスの状態が表示され、ユーザーがデバイスを制御するコントロールページです。たとえば、ユーザーはデバイスのコントロールページからスマートプラグをオフにできます。次の画像は、スマートプラグの設定ページとコントロールページです。

設定ページはすべてのスマートホームデバイスで表示されますが、コントロールページが表示されるかどうかはデバイスのカテゴリーによって異なります。次の表は、アプリでのコントロールページのサポートについて表示カテゴリー別に示したものです。

検出時の表示カテゴリー コントロールページ
ACTIVITY_TRIGGER なし
CAMERA なし
DOOR 現在の状態を表示、ロックが可能
LIGHT 現在の状態を表示、オン/オフの切り替えや明るさの変更が可能
OTHER なし
SMARTLOCK 現在の状態を表示、ロックが可能
SMARTPLUG 現在の状態を表示、オン/オフの切り替えや電力レベルの変更が可能
SPEAKER なし
SWITCH 現在の状態を表示、オン/オフの切り替えや電力レベルの変更が可能
TEMPERATURE_SENSOR 現在の状態を表示
THERMOSTAT 現在の状態を表示、温度の変更が可能
TV なし

Alexaアプリに対応するスキルのベストプラクティス

Alexaアプリのユーザーの操作性を最適化するための、スマートホームスキルの条件は以下のとおりです。

  • バージョン3のペイロードを対象とするか、スキルをバージョン2からバージョン3にアップグレードする必要があります。現時点でスキルを更新できない場合は、アプリでのv2のサポートを参照してください。
  • デバイスの検出時に、以下の項目を提供する必要があります。
    • 正しい表示カテゴリー。表示カテゴリーによって、Alexaアプリで表示されるデバイスの種類、使用されるアイコン、デバイスのコントロールページの形式、デバイスが含まれるデバイスグループが決まります。たとえば、照明のコントロールページには、現在の色と明るさのレベルが表示されます。
    • デバイスのmanufacturerNameフィールドとdescriptionフィールドの正確な値。これらの値は、Alexaアプリでデバイスの設定ページに表示されます。
    • 取得可能およびプロアクティブにレポート可能なエンドポイントのプロパティの正確なレポート。
  • すべてのディレクティブに迅速に応答し、正しい応答またはエラーを返す必要があります。v3のResponseイベントでは、エンドポイントのすべてのプロパティ値をレポートするコンテキストを含めます。これによって、アプリとデバイスの状態が同期されます。
  • ReportStateディレクティブにStateReportイベントで応答し、取得可能なすべてのプロパティの状態を正しくレポートする必要があります。これによって、アプリとデバイスの状態が同期されます。
  • プロアクティブにレポート可能なすべてのプロパティは、ChangeReportイベントを使用して状態をプロアクティブに更新する必要があります。これによって、変更が発生した場合にアプリがデバイスの状態と同期され、ユーザーに通知されます。

StateReportイベントとChangeReportイベントの実装の詳細については、スマートホームスキルの状態レポートについておよびイベントゲートウェイにイベントを送信するを参照してください。

Alexaアプリに対応するスキルのテストについてのベストプラクティス

テストアカウントでスキルを有効にし、スキルを使用してAlexaアプリの動作をテストします。

次に例を示します。

  • アカウントに関連付けられているデバイスが、Alexaアプリに正しい種類で表示されているかどうかを確認します。デバイスの種類によって、使用されるアイコンやコントロールページの有無が決まります。想定外の結果が生じた場合は、検出でデバイスに指定したDisplayCategoryを確認してください。
  • Alexaアプリを使用してデバイスのコントロールページから設定を変更し、デバイスの状態が変更されるかどうかを確認します。リクエスト内容を表すディレクティブがLambda関数に送られ、音声リクエストによるディレクティブと同様に処理されます。
  • Alexaで音声を使用して設定を変更し、Alexaアプリで状態が更新されるかどうかを確認します。

スマートホームスキルAPI v2

Alexaアプリは、バージョン2のペイロードを対象とするスキルを完全にはサポートしていません。v2では、照会できるデバイスがサーモスタットとドアロックに限定されるため、ユーザーが設定を変更することはできますが、デバイスの現在の状態がアプリに表示されない場合があります。

v2のスキルで最良の操作性を実現するためには、デバイスの検出でapplianceTypefriendlyDescriptionmanufacturerNameを正しく指定します。これにより、アプリにコントロールページとアイコンが正しく表示されるようになります。

テストのセクションの説明に従い、Alexaアプリでスキルをテストします。