開発者コンソール

Alexa.ChannelControllerインターフェース


Alexa.ChannelControllerインターフェース

ユーザーがチャンネル変更の発話(「アレクサ、チャンネルをPBSに変えて」など)を行うと、Alexa.ChannelControllerインターフェースはChangeChannelディレクティブを送信して、チャンネル変更が必要であることを示します。これらのディレクティブが送信されるのは、ユーザーがチャンネル名、コールサイン、チャンネル番号のいずれかを指定したときです。

ChannelControllerディレクティブの発話

ユーザーが以下の発話をすると、AlexaはChannelControllerインターフェースを介してLambdaにChangeChannelディレクティブを送信します。

機能 サンプル発話 想定されるレスポンス
チャンネル名に移動

Go to Fox

start seite <channel>

Schalte auf <channel>

mets fox

mets la chaîne

change à radio canada

vai sulla fox

cambia sulla fox

cambiar al canal

cambia a Fox

cambia a t.v. Azteca

cámbiale a t.v. Azteca

{channel} に行って

{channel} を開いて

vá para t.v. globo

ir para t.v. globo

{channel name} पे जाओ

go to {channel name}

ビューがチャンネル名に切り替わり、チャンネルのコンテンツが再生されます。

チャンネル番号に移動

Go to channel thirteen

Schalte auf <channel number>

Schalte auf Kanal/Sender <channel number>

mets la 5

vas sur la 5

mets le 10

vas au 10

vai al canale 13

cambia sul canale 13

ve al canal 13

cambia al canal 13

ve al canal 13

cambia al canal 13

チャンネル {channel number} に行って

チャンネル {channel number} を開いて

vá para o canal cinco

ir para o canal cinco

channel thirteen पे जाओ

go to channel thirteen

ビューがチャンネル番号に切り替わり、チャンネルのコンテンツが再生されます。

チャンネルコールサインに移動

Go to channel k. c. p. q.

Schalte auf <channel callsign>

Umschalten auf <channel callsign>

mets la chaîne {channel code}

vas sur la chaîne {channel code}

mets {channel code}

vas à {channel code}

vai al canale {code}

cambia sul canale {code}

cambia al canal {channel code}

ve al canal {channel code}

cambia al canal {channel code}

ve al canal {channel code}

チャンネル {channel callsign} を開いて

チャンネル {channel callsign} に行って

vá para o {channel callsign}

ir para o <channel callsign}

ビューがチャンネルコールサインに切り替わり、チャンネルのコンテンツが再生されます。

チャンネル名を視聴

Watch fox

Zeige <channel name>

<channel name> anschauen

je veux voir/regarder fox

joue radio canada

fais jouer radio canada

vai sulla fox

cambia sulla fox

pon Fox

(quiero) ver Fox

pon t.v. Azteca

ponme t.v. Azteca

{channel name}を再生して

{channel name}を見せて

assistir a t.v. globo

assista a t.v. globo

{channel name} चलाओ

{channel name} लगाओ

ビューがチャンネル名に切り替わり、チャンネルのコンテンツが再生されます。

チャンネル番号を視聴

Watch channel thirteen

Zeige Kanal/Sender <channel number>

Kanal/Sender <channel number> anschauen

mets la 5

je veux voir/regarder la 5

mets le (canal) 10

va au/sur le

vai al canale 13

cambia sul canale 13

pon el canal 13

(quiero) ver el canal 13

mets le 10

mets le canal 10

チャンネル {channel number} を見せて

{channel number} チャンネル を見せて

assistir canal cinco

assista canal cinco

channel thirteen चलाओ

watch channel thirteen

ビューがチャンネル番号に切り替わり、チャンネルのコンテンツが再生されます。

ChangeChannelディレクティブの処理

ChangeChannelディレクティブを使用すると、ユーザーが音声コマンドを使用して特定のチャンネルに合わせることができます。ユーザーが「アレクサ、CNNに変えて」と言うと、LambdaでChangeChannelディレクティブを受け取ります。次に、ライブTVストリームを変更して、適切なチャンネルを表示する必要があります。

どのディレクティブがどのチャネルに対応しているかを理解するために、チャンネルリストのチャンネルごとに、使用される可能性のあるコールサインのリストを用意しました。

このリストに含まれていないチャンネルを追加でサポートする場合は、Amazonの担当者にお問い合わせください。適任者と協力して、その処理方法について必要な情報をご連絡します。

または、チャンネルを任意のチャンネルに変更するようにAlexa搭載デバイスに要求してから、Lambdaログで受け取ったディレクティブを調べて、コールサインを確認してください。その場合でも、Amazonの担当者にこれらのチャンネルについて連絡していただけると、そのチャンネルのAmazonの音声モデルにおける優先順位を判断できるため助かります。チャンネルのコールサインは、チャンネル変更ディレクティブのペイロード内のcallSignフィールドに格納されています。

ディレクティブではローカルチャンネルに関する情報は受け取りません。トップレベル名とコールサイン(たとえば「ABC」など)だけです。 ユーザー向けのローカリゼーションを実行するかどうかは、開発者しだいです。

ChangeChannelの例

ChangeChannelディレクティブの例を以下に示します。

{
  "directive": {
    "header": {
      "namespace": "Alexa.ChannelController",
      "name": "ChangeChannel",
      "messageId": "abc-123-def-456",
      "correlationToken": "dFMb0z+PgpgdDmluhJ1LddFvSqZ/jCc8ptlAKulUj90jSqg==",
      "payloadVersion": "3"
    },
    "endpoint": {
      "scope": {
        "type": "BearerToken",
        "token": "access-token-from-skill"
      },
      "endpointId": "device-001",
      "cookie": {

      }
    },
    "payload": {
      "channel": {
          "number": "1234",
          "callSign": "KSTATION1",
          “affiliateCallSign”: “KSTATION2”,
          "uri": "someUrl"
      },
      "channelMetadata": {
          "name": "代替チャンネル名",
          "image": "urlToImage"
      }
    }
  }
}

ペイロードの詳細

フィールド 説明 必須
channel チャンネルの説明です。 オブジェクト
channel.number 指定されたチャンネルを識別する番号です(「5」や「12.1」など)。 文字列 ×
ただし、channel.numberchannelMetadata.namechannel.callSign
affiliateCallSignuriのいずれかを指定する必要があります。
channel.callSign PBSなどのコールサインでチャンネルを指定します。 文字列 ×
ただし、channel.numberchannelMetadata.namechannel.callSign
affiliateCallSignまたはuriのいずれかを指定する必要があります。
channel.affiliateCallSign KCTS9といった地方系列局のコールサインでチャンネルを指定します。 文字列 ×
ただし、channel.numberchannelMetadata.namechannel.callSign
channel.affiliateCallSignまたはchannel.uriのいずれかを指定する必要があります。
channel.uri チャンネルのURIです(「entity://provider/channel/12307」など)。 文字列 ×
ただし、channel.numberchannelMetadata.namechannel.callSign
channel.affiliateCallSignまたはchannel.uriのいずれかを指定する必要があります。
channelMetadata 指定されたチャンネルの追加情報を指定します。 オブジェクト ×
channelMetadata.name チャンネルを識別する別の値です(「FOX」など)。 文字列 ×
ただし、channel.numberchannelMetadata.namechannel.callSign
channel.affiliateCallSignまたはchannel.uriのいずれかを指定する必要があります。
channelMetadata.image チャンネルを表すイメージのURLです。 文字列 ×

レスポンスの例

チャンネル変更のリクエストが成功した場合は、 Responseイベントを送信する必要があります。レスポンスには、リクエスト完了後のチャンネルを報告するコンテキストオブジェクトを含める必要があります。

{
  "context": {
    "properties": [
      {
        "namespace": "Alexa.ChannelController",
        "name": "channel",
        "value": {
          "number": "1234",
          "callSign": "callsign1",
          "affiliateCallSign": "callsign2"
        },
        "timeOfSample": "2017-02-03T16:20:50.52Z",
        "uncertaintyInMilliseconds": 0
      }
    ]
  },
  "event": {
    "header": {
      "messageId": "abc-123-def-456",
      "correlationToken": "dFMb0z+PgpgdDmluhJ1LddFvSqZ/jCc8ptlAKulUj90jSqg==",
      "namespace": "Alexa",
      "name": "Response",
      "payloadVersion": "3"
    },
    "endpoint":{
      "endpointId":"appliance-001"
    },
    "payload":{ }
 }
}

エラーレスポンス

何らかの理由でユーザーのリクエストを完了できない場合は、エラーレスポンスを返す必要があります。詳細については、エラー処理を参照してください。