Alexaアプリのベストプラクティス
スマートホームスキルAPIでは、スマートホームデバイスの状態に関する最新情報をAlexaに提供できます。その情報は逐次、Alexaアプリでユーザーに提供されます。スマートホームスキルをAlexaアプリに対応させるには、ベストプラクティスに従ってください。
Alexaアプリでのスマートホームデバイスの表示
ユーザーは、Alexaアプリの設定ページかコントロールページで、個々のスマートホームデバイスを確認できます。設定ページには、デバイスのタイプ、説明、名前が表示されます。ユーザーはここでデバイスの名前を変更したり、使用しなくなったデバイスを無効にしたりできます。コントロールページにはデバイスの状態が表示され、ユーザーがデバイスを制御できます。たとえば、ユーザーはデバイスのコントロールページからスマートプラグをオフにできます。
ユーザーは、常にスマートホームデバイスの設定ページを表示できますが、コントロールページを表示できるかどうかはデバイスのカテゴリーによって異なります。次の表は、Alexaアプリに表示されるコントロールページでのサポート例をカテゴリー別に示しています。
検出応答の表示カテゴリー | コントロールページ |
---|---|
ACTIVITY_TRIGGER |
なし |
CAMERA |
なし |
LIGHT |
現在の状態を表示、オン/オフの切り替えや明るさの変更が可能 |
OTHER |
なし |
SMARTLOCK |
現在の状態を表示、ロックおよびユーザー設定のロック解除が可能 |
SMARTPLUG |
現在の状態を表示、オン/オフの切り替えや電力レベルの変更が可能 |
SPEAKER |
なし |
SWITCH |
現在の状態を表示、オン/オフの切り替えや電力レベルの変更が可能 |
TEMPERATURE_SENSOR |
現在の状態を表示 |
THERMOSTAT |
現在の状態を表示、温度の変更が可能 |
TV |
なし |
Alexaアプリに対応するスキルのベストプラクティス
Alexaアプリのエクスペリエンスを最適化するため、スマートホームスキルは次のように設定します。
- バージョン3のペイロードを対象とするか、スキルをバージョン2からバージョン3にアップグレードする必要があります。
バージョン2からのスキルの更新方法については、スマートホームスキルの移行ガイドを参照してください。 - 検出応答で、次の情報を指定します。
- 正しい
displayCategory
。表示カテゴリーによって、Alexaアプリで表示されるデバイスのタイプ、使用されるアイコン、デバイスのコントロールページの形式、デバイスが含まれるデバイスグループが決まります。たとえば、照明のコントロールページには、現在の色と明るさのレベルが表示されます。 - デバイスの
manufacturerName
フィールドとdescription
フィールドの正確な値。これらのアトリビュートは、Alexaアプリでデバイスの設定ページに表示されます。フィールドの詳細については、Endpoint
オブジェクトを参照してください。 additionalAttributes
オブジェクトの定義できる限りのフィールド。Alexaは、これらのフィールドを使用して重複するデバイスを識別し、Alexaアプリのユーザーエクスペリエンスを向上させることができます。- 取得可能およびプロアクティブにレポート可能な
endpoint
プロパティの正確なレポート。
- 正しい
- デバイスの健全性をレポートする
Alexa.EndpointHealth
を実装します。Alexa.EndpointHealth
プロパティはできる限り多くサポートしてください。 - すべてのディレクティブに迅速に応答し、8秒以内に正しい応答またはエラーを返します。v3の
Alexa.Response
イベントでは、エンドポイントのすべてのプロパティ値をレポートするcontext
オブジェクトを含めます。状態をプロアクティブに更新して、Alexaアプリとデバイスの状態が同期されるようにします。 - リンクされているエンドポイントをAlexaに報告して、Alexaアプリでデバイスをまとめて表示できるようにするには、検出応答とプロアクティブな更新イベントに
relationships
オブジェクトを含めます。詳細については、エンドポイント間の関係を識別するを参照してください。 ReportState
ディレクティブにStateReport
で応答し、取得可能なすべてのプロパティの状態を正しくレポートします。この応答によって、アプリとデバイスの状態が同期されます。- プロアクティブにレポート可能なすべてのプロパティは、
ChangeReport
イベントを使用して状態をプロアクティブに更新する必要があります。これによって、変更が発生した場合にAlexaアプリとデバイスの状態が同期され、ユーザーに通知されます。
StateReport
イベントとChangeReport
イベントの詳細については、状態および変更レポートについておよびAlexaイベントゲートウェイにイベントを送信するを参照してください。
Alexaアプリのデバイステストについてのベストプラクティス
テストアカウントでスキルを有効にし、スキルを使用してAlexaアプリの動作をテストします。スキルを有効にする方法については、Alexaアプリでスキルを有効にするを参照してください。
Alexaアプリで次の項目を確認します。
- アカウントに関連付けられているデバイスが、正しいタイプとしてAlexaアプリに表示されていることを確認します。タイプによって、アイコン表現やデバイスのコントロールページが存在するかどうかが異なります。想定外の結果が生じた場合は、検出応答でデバイスに指定した
DisplayCategory
を確認してください。 - デバイスのコントロールページで変更を行い、デバイスの状態が変わったことを確認します。Alexaアプリでデバイスを変更したら、Alexaはスキルに、ディレクティブとリクエストされた変更を送信します。音声リクエストから開始されたディレクティブを処理する場合と同じ方法で、スキルがディレクティブを処理することを確認します。
- Alexaに、音声でデバイスを変更するようリクエストし、Alexaアプリで状態が更新されることを確認します。
関連トピック
最終更新日: 2024 年 12 月 20 日