Alexa.PlaybackControllerインターフェース3


Alexa.PlaybackControllerインターフェース3

AlexaスキルにAlexa.PlaybackControllerインターフェースを実装すると、ユーザーはオーディオコンテンツやビデオコンテンツを再生、停止、再生操作できます。エンドポイントがリクエストされたアクションを実行した後、スキルはAlexa.PlaybackStateReporterインターフェースを使用してエンドポイントの再生状態をAlexaにレポートします。

Alexa.PlaybackControllerインターフェースとAlexa.PlaybackStateReporterインターフェースがサポートする言語については、Alexaインターフェースとサポートしている言語の一覧を参照してください。メッセージプロパティの定義については、Alexaインターフェースのメッセージとプロパティを参照してください。

発話

Alexa.PlaybackControllerインターフェースではプリビルド音声対話モデルを使用します。ユーザーが次のいずれかの発話をしたら、Alexaがそれに対応するディレクティブをスキルに送信します。

以下に、ユーザーの発話の例を示します。

أليكسا، قدّمي على الجهاز
أليكسا، اللي بعده
أليكسا، وقفي
أليكسا، إستمرّي
أليكسا، شغّلي الجهاز
أليكسا، اللي قبله على الجهاز
أليكسا، رجّعي على الجهاز
اليكسا، رجعي 40 ثانية
أليكسا، ابدأي من البداية

Alexa, fast forward on device.
Alexa, next.
Alexa, pause device.
Alexa, resume device.
Alexa, play device.
Alexa, previous on device.
Alexa, rewind on device.
Alexa, start over.
Alexa, stop device.

Alexa, avance surnom de l'appareil.
Alexa, suivant€ sur nom de l'appareil.
Alexa, mets sur pause.
Alexa, joue sur nom de l'appareil.
Alexa, précédent€.
Alexa, rembobine.
Alexa, recommence.
Alexa, stop.

Alexa, spul vor auf dem Gerät vor.
Alexa, nächstes Lied/Video/Foto auf dem Gerät.
Alexa, pause.
Alexa, abspielen.
Alexa, vorheriges.
Alexa, fortsetzen.
Alexa, spul zurück.
Alexa, neu starten
Alexa, stopp Gerät.

Alexa, आगे बढ़ाओ
Alexa, अगला
Alexa, pause करो
Alexa, चलाओ
Alexa, पिछला
Alexa, जारी रखो 
Alexa, rewind करना
Alexa, फिर से चलाओ 
Alexa, stop करो

Alexa, vai avanti.
Alexa, metti in pausa.
Alexa, riproduci.
Alexa, torna indietro.
Alexa, riprendi.
Alexa, manda indietro.
Alexa, ricomincia.
Alexa, stop.

アレクサ、<デバイス名>を早送りにして
アレクサ、<デバイス名>で次の曲/ビデオ/写真にして
アレクサ、次
アレクサ、<デバイス名>を止めて
アレクサ、<デバイス名>を再開して
アレクサ、<デバイス名>で再生して
アレクサ、<デバイス名>を前にして
アレクサ、<デバイス名>を巻き戻して
アレクサ、<デバイス名>で最初から再生して
アレクサ、<デバイス名>を止めて

Alexa, avançar.
Alexa, próximo.
Alexa, pausar.
Alexa, reproduzir.
Alexa, anterior.
Alexa, continuar.
Alexa, voltar.
Alexa, começar de novo.
Alexa, parar.
Alexa, ativa o modo de repetição contínua.

Alexa, adelanta.
Alexa, siguiente.
Alexa, pausa.
Alexa, pon.
Alexa, anterior.
Alexa, continúa.
Alexa, rebobina.
Alexa, empieza de nuevo.
Alexa, para.

Alexa, spoel vooruit op device.
Alexa, volgende.
Alexa, pauzeer device.
Alexa, hervat device.
Alexa, speel device.
Alexa, vorige op device.
Alexa, spoel terug op device.
Alexa, start opnieuw.
Alexa, stop device.

出力可能なプロパティ

Alexa.PlaybackControllerインターフェースとAlexa.PlaybackStateReporterインターフェースは、プライマリプロパティとしてplaybackStateプロパティを使用します。検出応答で、プロパティをサポートすることを指定します。

playbackStateは、リクエストされたアクションを実行するエンドポイントの現在の状態を定義します。以下は、リクエストされたコンテンツを再生しているエンドポイントの例です。

{
    "name": "playbackState",
    "value": {
        "state": "PLAYING"
    }
}

以下の表は、playbackStateの有効な値を示しています。

状態 説明

PLAYING

エンドポイントはメディアを再生中です。

PAUSED

エンドポイントがメディアを一時停止しました。

STOPPED

エンドポイントはメディアを再生していません。

検出

Alexa.PlaybackControllerAlexa.PlaybackStateReporterをサポートするエンドポイントは、Alexa.Discoveryの標準検出メカニズムを使用して記述します。

Alexa.PlaybackControllerインターフェースでエンドポイントがサポートする操作は、supportedOperations配列を含めて指定します。次の操作の値を1つまたは複数含めます。 PlayPauseStopStartOverPreviousNextRewindFastForwardAlexa.PlaybackStateReporterインターフェースでは、playbackStateプロパティのサポートを示します。

TVSTREAMING_DEVICEGAME_CONSOLEなどの適切な表示カテゴリーを使用します。表示カテゴリーの一覧は、表示カテゴリーを参照してください。

検出応答の例

以下は、Alexa.PlaybackControllerインターフェース、Alexa.PlaybackStateReporterインターフェース、Alexa.EndpointHealthインターフェースをサポートするデバイスのAlexa.Discover.Responseメッセージの例です。

クリップボードにコピーされました。

{
    "event": {
        "header": {
            "namespace": "Alexa.Discovery",
            "name": "Discover.Response",
            "payloadVersion": "3",
            "messageId": "一意の識別子、バージョン4 UUIDが望ましい"
        },
        "payload": {
            "endpoints": [{
                "endpointId": "エンドポイントの一意のID",
                "manufacturerName": "エンドポイントのメーカー名",
                "description": "Alexaアプリに表示される説明",
                "friendlyName": "リビングのテレビ",
                "displayCategories": ["TV"],
                "additionalAttributes": {
                    "manufacturer": "エンドポイントのメーカー名",
                    "model": "デバイスのモデル",
                    "serialNumber": "デバイスのシリアル番号",
                    "firmwareVersion": "デバイスのファームウェアバージョン",
                    "softwareVersion": "デバイスのソフトウェアバージョン"
                },
                "capabilities": [{
                        "type": "AlexaInterface",
                        "interface": "Alexa.PlaybackController",
                        "version": "3",
                        "properties": {},
                        "supportedOperations": ["Play", "Pause", "Stop", "Next", "Previous", "FastForward", "Rewind", "StartOver"]
                    },
                    {
                        "type": "AlexaInterface",
                        "interface": "Alexa.PlaybackStateReporter",
                        "version": "3",
                        "properties": {
                            "supported": [{
                                "name": "playbackState"
                            }],
                            "proactivelyReported": true,
                            "retrievable": true
                        }
                    },
                    {
                        "type": "AlexaInterface",
                        "interface": "Alexa.EndpointHealth",
                        "version": "3.1",
                        "properties": {
                            "supported": [{
                                "name": "connectivity"
                            }],
                            "proactivelyReported": true,
                            "retrievable": true
                        }
                    },
                    {
                        "type": "AlexaInterface",
                        "interface": "Alexa",
                        "version": "3"
                    }
                ]
            }]
        }
    }
}

ディレクティブ

Alexa.PlaybackControllerインターフェースは、ビデオコンテンツやオーディオコンテンツを操作したり再生したりするディレクティブをサポートします。ビデオコンテンツの場合、応答にplaybackStateを含めます。

FastForwardディレクティブ

FastForwardディレクティブをサポートすると、ユーザーは現在のコンテンツを早送りするようリクエストできます。

FastForwardディレクティブの例

ユーザーが「アレクサ、<デバイス名>を早送りにして」と言うと、Alexaはスキルに次のディレクティブを送信します。

{
    "directive": {
        "header": {
            "namespace": "Alexa.PlaybackController",
            "name": "FastForward",
            "messageId": "一意のバージョン4 UUID",
            "correlationToken": "opaque相関トークン",
            "payloadVersion": "3"
        },
        "endpoint": {
            "scope": {
                "type": "BearerToken",
                "token": "OAuth2.0ベアラートークン"
            },
            "endpointId": "エンドポイントID",
            "cookie": {}
        },
        "payload": {}
    }
}

FastForwardディレクティブのペイロード

FastForwardディレクティブは、ペイロードパラメーターを定義しません。

FastForward応答

FastForwardディレクティブを正しく処理したら、Alexa.Responseイベントを使用して応答します。

以下は、FastForward応答の例です。

クリップボードにコピーされました。

{
    "event": {
        "header": {
            "namespace": "Alexa",
            "name": "Response",
            "messageId": "一意の識別子、バージョン4 UUIDが望ましい",
            "correlationToken": "リクエストに一致するopaque相関トークン",
            "payloadVersion": "3"
        },
        "endpoint": {
            "endpointId": "エンドポイントID"
        },
        "payload": {}
    },
    "context": {
        "properties": [{
                "namespace": "Alexa.PlaybackStateReporter",
                "name": "playbackState",
                "value": {
                    "state": "PAUSED"
                },
                "timeOfSample": "2021-12-01T18:20:00.00Z",
                "uncertaintyInMilliseconds": 0
            },
            {
                "namespace": "Alexa.EndpointHealth",
                "name": "connectivity",
                "value": {
                    "value": "OK"
                },
                "timeOfSample": "2021-12-01T18:20:00.00Z",
                "uncertaintyInMilliseconds": 0
            }
        ]
    }
}

FastForwardのエラー処理

FastForwardディレクティブを正常に処理できず、エラーがビデオ固有のものである場合、Alexa.Video.ErrorResponseイベントで応答します。一般的なエラーの場合、汎用のAlexa.ErrorResponseイベントで応答します。

Nextディレクティブ

Nextディレクティブをサポートすると、ユーザーは再生コンテンツの次の項目に移動するようリクエストできます。

Nextディレクティブの例

ユーザーが「アレクサ、次」と言うと、Alexaは以下のディレクティブをスキルに送信します。

{
    "directive": {
        "header": {
            "namespace": "Alexa.PlaybackController",
            "name": "Next",
            "messageId": "一意のバージョン4 UUID",
            "correlationToken": "opaque相関トークン",
            "payloadVersion": "3"
        },
        "endpoint": {
            "scope": {
                "type": "BearerToken",
                "token": "OAuth2.0ベアラートークン"
            },
            "endpointId": "エンドポイントID",
            "cookie": {}
        },
        "payload": {}
    }
}

Nextディレクティブのペイロード

Nextディレクティブは、ペイロードパラメーターを定義しません。

Next応答

Nextディレクティブを正しく処理したら、Alexa.Responseイベントを使用して応答します。

以下は、Next応答の例です。

クリップボードにコピーされました。

{
    "event": {
        "header": {
            "namespace": "Alexa",
            "name": "Response",
            "messageId": "一意の識別子、バージョン4 UUIDが望ましい",
            "correlationToken": "リクエストに一致するopaque相関トークン",
            "payloadVersion": "3"
        },
        "endpoint": {
            "endpointId": "エンドポイントID"
        },
        "payload": {}
    },
    "context": {
        "properties": [{
                "namespace": "Alexa.PlaybackStateReporter",
                "name": "playbackState",
                "value": {
                    "state": "STOPPED"
                },
                "timeOfSample": "2021-12-01T18:20:00.00Z",
                "uncertaintyInMilliseconds": 0
            },
            {
                "namespace": "Alexa.EndpointHealth",
                "name": "connectivity",
                "value": {
                    "value": "OK"
                },
                "timeOfSample": "2021-12-01T18:00:00.00Z",
                "uncertaintyInMilliseconds": 0
            }
        ]
    }
}

Nextのエラー処理

Nextディレクティブを正常に処理できず、エラーがビデオ固有のものである場合、Alexa.Video.ErrorResponseイベントで応答します。一般的なエラーの場合、汎用のAlexa.ErrorResponseイベントで応答します。

Pauseディレクティブ

Pauseディレクティブをサポートすると、ユーザーはオーディオまたはビデオコンテンツを一時停止するようリクエストできます。

Pauseディレクティブの例

ユーザーが「アレクサ、<デバイス名>を一時停止して」と言うと、Alexaは以下のディレクティブをスキルに送信します。

{
    "directive": {
        "header": {
            "namespace": "Alexa.PlaybackController",
            "name": "Pause",
            "messageId": "一意のバージョン4 UUID",
            "correlationToken": "opaque相関トークン",
            "payloadVersion": "3"
        },
        "endpoint": {
            "scope": {
                "type": "BearerToken",
                "token": "OAuth2.0ベアラートークン"
            },
            "endpointId": "エンドポイントID",
            "cookie": {}
        },
        "payload": {}
    }
}

Pauseディレクティブのペイロード

Pauseディレクティブは、ペイロードパラメーターを定義しません。

Pause応答

Pauseディレクティブを正しく処理したら、Alexa.Responseイベントを使用して応答します。

以下は、Pause応答の例です。

クリップボードにコピーされました。

{
    "event": {
        "header": {
            "namespace": "Alexa",
            "name": "Response",
            "messageId": "一意の識別子、バージョン4 UUIDが望ましい",
            "correlationToken": "リクエストに一致するopaque相関トークン",
            "payloadVersion": "3"
        },
        "endpoint": {
            "endpointId": "エンドポイントID"
        },
        "payload": {}
    },
    "context": {
        "properties": [{
                "namespace": "Alexa.PlaybackStateReporter",
                "name": "playbackState",
                "value": {
                    "state": "PAUSED"
                },
                "timeOfSample": "2021-12-01T18:20:00.00Z",
                "uncertaintyInMilliseconds": 0
            },
            {
                "namespace": "Alexa.EndpointHealth",
                "name": "connectivity",
                "value": {
                    "value": "OK"
                },
                "timeOfSample": "2021-12-01T18:00:00.00Z",
                "uncertaintyInMilliseconds": 0
            }
        ]
    }
}

Pauseのエラー処理

Pauseディレクティブを正常に処理できず、エラーがビデオ固有のものである場合、Alexa.Video.ErrorResponseイベントで応答します。一般的なエラーの場合、汎用のAlexa.ErrorResponseイベントで応答します。

Playディレクティブ

Playディレクティブをサポートすると、ユーザーはオーディオまたはビデオコンテンツを再生したり再開したりするようリクエストできます。

Playディレクティブの例

ユーザーが「アレクサ、<デバイス名>で再生して」または「アレクサ、<デバイス名>を再開して」と言うと、Alexaは以下のディレクティブをスキルに送信します。

{
    "directive": {
        "header": {
            "namespace": "Alexa.PlaybackController",
            "name": "Play",
            "messageId": "一意のバージョン4 UUID",
            "correlationToken": "opaque相関トークン",
            "payloadVersion": "3"
        },
        "endpoint": {
            "scope": {
                "type": "BearerToken",
                "token": "OAuth2.0ベアラートークン"
            },
            "endpointId": "エンドポイントID",
            "cookie": {}
        },
        "payload": {}
    }
}

Playディレクティブのペイロード

Playディレクティブは、ペイロードパラメーターを定義しません。

Play応答

Playディレクティブを正しく処理したら、Alexa.Responseイベントを使用して応答します。

以下は、Play応答の例です。

クリップボードにコピーされました。

{
    "event": {
        "header": {
            "namespace": "Alexa",
            "name": "Response",
            "messageId": "一意の識別子、バージョン4 UUIDが望ましい",
            "correlationToken": "リクエストに一致するopaque相関トークン",
            "payloadVersion": "3"
        },
        "endpoint": {
            "endpointId": "エンドポイントID"
        },
        "payload": {}
    },
    "context": {
        "properties": [{
                "namespace": "Alexa.PlaybackStateReporter",
                "name": "playbackState",
                "value": {
                    "state": "PLAYING"
                },
                "timeOfSample": "2021-12-01T18:20:00.00Z",
                "uncertaintyInMilliseconds": 0
            },
            {
                "namespace": "Alexa.EndpointHealth",
                "name": "connectivity",
                "value": {
                    "value": "OK"
                },
                "timeOfSample": "2021-12-01T18:00:00.00Z",
                "uncertaintyInMilliseconds": 0
            }
        ]
    }
}

Playのエラー処理

Playディレクティブを正常に処理できず、エラーがビデオ固有のものである場合、Alexa.Video.ErrorResponseイベントで応答します。一般的なエラーの場合、汎用のAlexa.ErrorResponseイベントで応答します。

Previousディレクティブ

Previousディレクティブをサポートすると、ユーザーは再生コンテンツの前の項目に移動するようリクエストできます。

Previousディレクティブの例

ユーザーが「アレクサ、<デバイス名>で前にして」と言うと、Alexaは以下のディレクティブをスキルに送信します。

{
    "directive": {
        "header": {
            "namespace": "Alexa.PlaybackController",
            "name": "Previous",
            "messageId": "一意のバージョン4 UUID",
            "correlationToken": "opaque相関トークン",
            "payloadVersion": "3"
        },
        "endpoint": {
            "scope": {
                "type": "BearerToken",
                "token": "OAuth2.0ベアラートークン"
            },
            "endpointId": "エンドポイントID",
            "cookie": {}
        },
        "payload": {}
    }
}

Previousディレクティブのペイロード

Previousディレクティブは、ペイロードパラメーターを定義しません。

Previous応答

Previousディレクティブを正しく処理したら、Alexa.Responseイベントを使用して応答します。

以下は、Previous応答の例です。

クリップボードにコピーされました。

{
    "event": {
        "header": {
            "namespace": "Alexa",
            "name": "Response",
            "messageId": "一意の識別子、バージョン4 UUIDが望ましい",
            "correlationToken": "リクエストに一致するopaque相関トークン",
            "payloadVersion": "3"
        },
        "endpoint": {
            "endpointId": "エンドポイントID"
        },
        "payload": {}
    },
    "context": {
        "properties": [{
                "namespace": "Alexa.PlaybackStateReporter",
                "name": "playbackState",
                "value": {
                    "state": "STOPPED"
                },
                "timeOfSample": "2021-12-01T18:20:00.00Z",
                "uncertaintyInMilliseconds": 0
            },
            {
                "namespace": "Alexa.EndpointHealth",
                "name": "connectivity",
                "value": {
                    "value": "OK"
                },
                "timeOfSample": "2021-12-01T18:00:00.00Z",
                "uncertaintyInMilliseconds": 0
            }
        ]
    }
}

Previousのエラー処理

Previousディレクティブを正常に処理できず、エラーがビデオ固有のものである場合、Alexa.Video.ErrorResponseイベントで応答します。一般的なエラーの場合、汎用のAlexa.ErrorResponseイベントで応答します。

Rewindディレクティブ

Rewindディレクティブをサポートすると、ユーザーは現在のコンテンツを早戻しするようリクエストできます。

Rewindディレクティブの例

ユーザーが「アレクサ、<デバイス名>を早戻しして」と言うと、Alexaは以下のディレクティブをスキルに送信します。

{
    "directive": {
        "header": {
            "namespace": "Alexa.PlaybackController",
            "name": "Rewind",
            "messageId": "一意のバージョン4 UUID",
            "correlationToken": "opaque相関トークン",
            "payloadVersion": "3"
        },
        "endpoint": {
            "scope": {
                "type": "BearerToken",
                "token": "OAuth2.0ベアラートークン"
            },
            "endpointId": "エンドポイントID",
            "cookie": {}
        },
        "payload": {}
    }
}

Rewindディレクティブのペイロード

Rewindディレクティブは、ペイロードパラメーターを定義しません。

Rewind応答

Rewindディレクティブを正しく処理したら、Alexa.Responseイベントを使用して応答します。

以下は、Rewind応答の例です。

クリップボードにコピーされました。

{
    "event": {
        "header": {
            "namespace": "Alexa",
            "name": "Response",
            "messageId": "一意の識別子、バージョン4 UUIDが望ましい",
            "correlationToken": "リクエストに一致するopaque相関トークン",
            "payloadVersion": "3"
        },
        "endpoint": {
            "endpointId": "エンドポイントID"
        },
        "payload": {}
    },
    "context": {
        "properties": [{
                "namespace": "Alexa.PlaybackStateReporter",
                "name": "playbackState",
                "value": {
                    "state": "PAUSED"
                },
                "timeOfSample": "2021-12-01T18:20:00.00Z",
                "uncertaintyInMilliseconds": 0
            },
            {
                "namespace": "Alexa.EndpointHealth",
                "name": "connectivity",
                "value": {
                    "value": "OK"
                },
                "timeOfSample": "2021-12-01T18:00:00.00Z",
                "uncertaintyInMilliseconds": 0
            }
        ]
    }
}

Rewindのエラー処理

Rewindディレクティブを正常に処理できず、エラーがビデオ固有のものである場合、Alexa.Video.ErrorResponseイベントで応答します。一般的なエラーの場合、汎用のAlexa.ErrorResponseイベントで応答します。

StartOverディレクティブ

StartOverディレクティブをサポートすると、ユーザーはオーディオまたはビデオコンテンツを最初から再生するようリクエストできます。

StartOverディレクティブの例

ユーザーが「アレクサ、<デバイス名>で最初から再生して」と言うと、Alexaは以下のディレクティブをスキルに送信します。

{
    "directive": {
        "header": {
            "namespace": "Alexa.PlaybackController",
            "name": "StartOver",
            "messageId": "一意のバージョン4 UUID",
            "correlationToken": "opaque相関トークン",
            "payloadVersion": "3"
        },
        "endpoint": {
            "scope": {
                "type": "BearerToken",
                "token": "OAuth2.0ベアラートークン"
            },
            "endpointId": "エンドポイントID",
            "cookie": {}
        },
        "payload": {}
    }
}

StartOverディレクティブのペイロード

StartOverディレクティブは、ペイロードパラメーターを定義しません。

StartOver応答

StartOverディレクティブを正しく処理したら、Alexa.Responseイベントを使用して応答します。

以下は、StartOver応答の例です。

クリップボードにコピーされました。

{
    "event": {
        "header": {
            "namespace": "Alexa",
            "name": "Response",
            "messageId": "一意の識別子、バージョン4 UUIDが望ましい",
            "correlationToken": "リクエストに一致するopaque相関トークン",
            "payloadVersion": "3"
        },
        "endpoint": {
            "endpointId": "エンドポイントID"
        },
        "payload": {}
    },
    "context": {
        "properties": [{
                "namespace": "Alexa.PlaybackStateReporter",
                "name": "playbackState",
                "value": {
                    "state": "PLAYING"
                },
                "timeOfSample": "2021-12-01T18:20:00.00Z",
                "uncertaintyInMilliseconds": 0
            },
            {
                "namespace": "Alexa.EndpointHealth",
                "name": "connectivity",
                "value": {
                    "value": "OK"
                },
                "timeOfSample": "2021-12-01T18:00:00.00Z",
                "uncertaintyInMilliseconds": 0
            }
        ]
    }
}

StartOverのエラー処理

StartOverディレクティブを正常に処理できず、エラーがビデオ固有のものである場合、Alexa.Video.ErrorResponseイベントで応答します。一般的なエラーの場合、汎用のAlexa.ErrorResponseイベントで応答します。

Stopディレクティブ

Stopディレクティブをサポートすると、ユーザーはオーディオまたはビデオコンテンツの再生を停止するようリクエストできます。

Stopディレクティブの例

ユーザーが「アレクサ、<デバイス名>を止めて」と言うと、Alexaは以下のディレクティブをスキルに送信します。

{
    "directive": {
        "header": {
            "namespace": "Alexa.PlaybackController",
            "name": "Stop",
            "messageId": "一意のバージョン4 UUID",
            "correlationToken": "opaque相関トークン",
            "payloadVersion": "3"
        },
        "endpoint": {
            "scope": {
                "type": "BearerToken",
                "token": "OAuth2.0ベアラートークン"
            },
            "endpointId": "エンドポイントID",
            "cookie": {}
        },
        "payload": {}
    }
}

Stopディレクティブのペイロード

Stopディレクティブは、ペイロードパラメーターを定義しません。

Stop応答

Stopディレクティブを正しく処理したら、Alexa.Responseイベントを使用して応答します。

以下は、Stop応答の例です。

クリップボードにコピーされました。

{
    "event": {
        "header": {
            "namespace": "Alexa",
            "name": "Response",
            "messageId": "一意の識別子、バージョン4 UUIDが望ましい",
            "correlationToken": "リクエストに一致するopaque相関トークン",
            "payloadVersion": "3"
        },
        "endpoint": {
            "endpointId": "エンドポイントID"
        },
        "payload": {}
    },
    "context": {
        "properties": [{
                "namespace": "Alexa.PlaybackStateReporter",
                "name": "playbackState",
                "value": {
                    "state": "STOPPED"
                },
                "timeOfSample": "2021-12-01T18:20:00.00Z",
                "uncertaintyInMilliseconds": 0
            },
            {
                "namespace": "Alexa.EndpointHealth",
                "name": "connectivity",
                "value": {
                    "value": "OK"
                },
                "timeOfSample": "2021-12-01T18:00:00.00Z",
                "uncertaintyInMilliseconds": 0
            }
        ]
    }
}

Stopのエラー処理

Stopディレクティブを正常に処理できず、エラーがビデオ固有のものである場合、Alexa.Video.ErrorResponseイベントで応答します。一般的なエラーの場合、汎用のAlexa.ErrorResponseイベントで応答します。

状態レポート

Alexaはエンドポイントの状態についての情報をリクエストするために、ReportStateディレクティブを送信します。AlexaがReportStateディレクティブを送信したら、それに対する応答としてStateReportイベントを送信します。この応答には、contextオブジェクトのすべてのretrievableプロパティの現在の状態を含めます。retrievableプロパティは検出応答で特定します。状態レポートの詳細については、状態および変更レポートについてを参照してください。

StateReport応答の例

以下の例は、デバイスでコンテンツを再生するPlayディレクティブリクエスト後のエンドポイントの現在の状態を表しています。

クリップボードにコピーされました。

{
    "event": {
        "header": {
            "namespace": "Alexa",
            "name": "StateReport",
            "messageId": "一意の識別子、バージョン4 UUIDが望ましい",
            "correlationToken": "リクエストに一致するopaque相関トークン",
            "payloadVersion": "3"
        },
        "endpoint": {
            "endpointId": "エンドポイントID"
        },
        "payload": {}
    },
    "context": {
        "properties": [{
                "namespace": "Alexa.PlaybackStateReporter",
                "name": "playbackState",
                "value": {
                    "state": "PLAYING"
                },
                "timeOfSample": "2021-12-01T18:20:00.00Z",
                "uncertaintyInMilliseconds": 500
            },
            {
                "namespace": "Alexa.EndpointHealth",
                "name": "connectivity",
                "value": {
                    "value": "OK"
                },
                "timeOfSample": "2021-12-01T18:00:00.00Z",
                "uncertaintyInMilliseconds": 0
            }
        ]
    }
}

変更レポート

エンドポイントの状態の変化をプロアクティブに出力するには、Alexa.ChangeReportイベントを送信します。プロアクティブにレポートするプロパティは検出応答で指定します。変更レポートの詳細については、ビデオスキルの状態レポートを参照してください。

ChangeReportイベントの例

以下の例は、ユーザーがコンテンツの再生を停止したときに変更されたエンドポイントの再生状態を表しています。

クリップボードにコピーされました。

{
    "event": {
        "header": {
            "namespace": "Alexa",
            "name": "ChangeReport",
            "messageId": "一意の識別子、バージョン4 UUIDが望ましい",
            "payloadVersion": "3"
        },
        "endpoint": {
            "scope": {
                "type": "BearerToken",
                "token": "OAuth2.0ベアラートークン"
            },
            "endpointId": "エンドポイントID"
        },
        "payload": {
            "change": {
                "cause": {
                    "type": "PHYSICAL_INTERACTION"
                },
                "properties": [{
                    "namespace": "Alexa.PlaybackStateReporter",
                    "name": "playbackState",
                    "value": {
                        "state": "STOPPED"
                    },
                    "timeOfSample": "2021-12-01T18:20:00.00Z",
                    "uncertaintyInMilliseconds": 500
                }]
            }
        }
    },
    "context": {
        "properties": [{
            "namespace": "Alexa.EndpointHealth",
            "name": "connectivity",
            "value": {
                "value": "OK"
            },
            "timeOfSample": "2021-12-01T18:00:00.00Z",
            "uncertaintyInMilliseconds": 0
        }]
    }
}


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

最終更新日: 2024 年 12 月 09 日