Alexa.Gadget.StateListenerインターフェース
Alexa.Gadget.StateListenerインターフェース
このインターフェースは、ガジェットに以下のEchoデバイスレベルの機能を提供します。
- アラート(アラーム、タイマー、リマインダー)の設定と消去。
- ウェイクワードの検出。Echoデバイスの「トーク」またはマイクボタンを押しても、ウェイクワードの検出は行われないことに注意してください。
- (ベータ)Echoデバイスからの時刻情報。これは30分ごとに送信されます。
注: 各ディレクティブとイベントは、3つの個別の.protoファイル(ヘッダー、ペイロード、およびこの2つが結合されたファイル)がコンパイルされたものです。.protoファイルは、Alexa GadgetsサンプルコードGitHubリポジトリからダウンロードできます。このトピックでは、各.protoファイルのすべてのフィールドをまとめて説明します。
このインターフェースのサポート
このインターフェースをサポートするには、Capabilities
の配列に以下のエントリを含むDiscover.Response
イベントを使用して、EchoデバイスのDiscover
ディレクティブにガジェットから応答を返す必要があります。
注: コンフィギュレーションで、ガジェットがサポートしない
supportedTypes
を削除することができます。しかし、supportedType
を削除すると、ガジェットは、そのタイプのステータス更新を受け取らなくなります。{
"type": "AlexaInterface",
"interface": "Alexa.Gadget.StateListener",
"version": "1.0",
"configurations": {
"supportedTypes":[
{
"name":"alarms"
},
{
"name":"timers"
},
{
"name":"reminders"
},
{
"name":"wakeword"
},
{
"name":"timeinfo"
}
]
}
}
ディレクティブ
このインターフェースには、以下に説明する1つのディレクティブ (StateUpdate
)が含まれます。
StateUpdateディレクティブ
このディレクティブは、通信を行うEchoデバイスのステータス情報をガジェットに提供します。.protoファイルの記述は次のとおりです。
message StateUpdateDirectiveProto {
Directive directive = 1;
message Directive {
alexaGadgetStateListener.StateUpdateDirectivePayloadProto payload = 2;
header.DirectiveHeaderProto header = 1;
}
}
message DirectiveHeaderProto {
string namespace = 1;
string name = 2;
string messageId = 3;
string dialogRequestId = 4;
}
message StateUpdateDirectivePayloadProto {
repeated States states = 1;
message States {
string name = 1;
string value = 2;
}
}
StateUpdateDirectiveProto
このメッセージのフィールドは次のとおりです。
フィールド | 説明 | 型 |
---|---|---|
directive |
StateUpdate ディレクティブの全文が含まれます。 |
Directive |
Directive
このメッセージのフィールドは次のとおりです。
フィールド | 説明 | 型 |
---|---|---|
header |
このディレクティブのヘッダーが含まれます。 | DirectiveHeaderProto |
payload |
このディレクティブのペイロードが含まれます。 | StateUpdateDirectivePayloadProto |
DirectiveHeaderProto
このメッセージのフィールドは次のとおりです。
フィールド | 説明 | 型 |
---|---|---|
namespace |
このディレクティブの名前空間で、Alexa.Gadget.StateListener が入ります。 |
文字列 |
name |
このディレクティブの名前で、StateUpdate が入ります。 |
文字列 |
messageId |
このディレクティブのインスタンスを一意に定義するIDです。文字列は空の場合があります。 | 文字列 |
dialogRequestId |
このディレクティブをユーザーからの特定の音声対話に関連付ける一意のIDです。このフィールドは省略可能です。 | 文字列 |
StateUpdatePayloadProto
このメッセージのフィールドは次のとおりです。
フィールド | 説明 | 型 |
---|---|---|
states |
状態のタイプと値を指定する名前と値のペアです。名前は、alarms などの状態のタイプです。値は、cleared などの状態の値です。 |
States |
States
このメッセージのフィールドは次のとおりです。
フィールド | 説明 | 型 |
---|---|---|
name |
状態の型です。 有効な値は、 alarms 、timers 、reminders 、wakeword 、timeinfo (ベータ)です。 |
文字列 |
value |
状態の値です。これは、状態の型によって異なります。name がalarms 、timers 、reminders 、wakeword の状態の場合、有効な値はactive とcleared になります。timeinfo の状態の場合、値はISO 8601形式のEchoデバイスの時刻を含む文字列になります。 |
文字列 |