コンテキスト
コンテキストは、AVSにクライアントコンポーネントの状態を伝えるのに使用されるコンテナです。コンテキストは、イベントが発生する直前のクライアントコンポーネントの状態を反映する必要があります。たとえば、クライアントがオーディオストリームを再生中に、ユーザーが音声リクエストのためにそのストリームを中断したとすると、コンテキストは、Recognize
イベントがAVSに送信されるときに、AudioPlayerのplayerActivity
が再生中だったことを表す必要があります。
以下の例は、すべてのコンテキストを含むSpeechRecognizer.Recognize
イベントを表しています。
{ "context": [ { "header": { "namespace": "AudioPlayer", "name": "PlaybackState" }, "payload": { "token": "{{STRING}}", "offsetInMilliseconds": {{LONG}}, "playerActivity": "{{STRING}}" } }, { "header": { "namespace": "SpeechRecognizer", "name": "RecognizerState" }, "payload": { "wakeword": "ALEXA" } }, { "header": { "namespace": "Notifications", "name": "IndicatorState" }, "payload": { "isEnabled": {{BOOLEAN}}, "isVisualIndicatorPersisted": {{BOOLEAN}} } }, { "header": { "namespace": "Alerts", "name": "AlertsState" }, "payload": { "allAlerts": [ { "token": "{{STRING}}", "type": "{{STRING}}", "scheduledTime": "{{STRING}}" } ], "activeAlerts": [ { "token": "{{STRING}}", "type": "{{STRING}}", "scheduledTime": "{{STRING}}" } ] } }, { "header": { "namespace": "Speaker", "name": "VolumeState" }, "payload": { "volume": {{LONG}}, "muted": {{BOOLEAN}} } }, { "header": { "namespace": "SpeechSynthesizer", "name": "SpeechState" }, "payload": { "token": "{{STRING}}", "offsetInMilliseconds": {{LONG}}, "playerActivity": "{{STRING}}" } } ], "event": { "header": { "namespace": "SpeechRecognizer", "name": "Recognize", "messageId": "{{STRING}}", "dialogRequestId": "{{STRING}}" }, "payload": { "profile": "{{STRING}}", "format": "{{STRING}}", "initiator": { "type": "{{STRING}}", "payload": { "wakeWordIndices": { "startIndexInSamples": {{LONG}}, "endIndexInSamples": {{LONG}} } } } } } }
Contextオブジェクトを使用するインターフェース
機能API機能APIを使って以下のインターフェースのサポートが宣言されている場合、コンテキストを必要とする各イベントでAlexaに状態情報をレポートする必要があります。