Alexa.ChannelControllerインターフェース3
Alexa.ChannelController
インターフェースをAlexaスマートホームスキルに実装すると、ユーザーはエンターテイメントデバイスやビデオデバイスのチャンネルを変えたり増やしたりできます。エンターテイメントデバイスのスキルの詳細については、エンターテイメントデバイス用のスマートホームスキルを作成するおよびビデオスキルとはを参照してください。
ChannelController
インターフェースがサポートする言語については、Alexaインターフェースとサポートしている言語の一覧を参照してください。メッセージプロパティの定義については、Alexaインターフェースのメッセージとプロパティを参照してください。
発話
Alexa.ChannelController
インターフェースではプリビルド音声対話モデルを使用します。ユーザーが次のいずれかの発話をしたら、Alexaがそれに対応するディレクティブをスキルに送信します。
以下に、ユーザーの発話の例を示します。
أليكسا، حطّي قناة الإخباريّة
أليكسا، حطّي الإخباريّة
أليكسا، غيّري لقناة الإخبارية
أليكسا، حطّي القناة الثانية
أليكسا، غيّري للقناة الثانية
أليكسا، حطّي القناة اللي قبلها
أليكسا، حطّي القناة اللي بعدها
Alexa, go to discovery.
Alexa, go to channel A B C.
Alexa, go to channel thirteen.
Alexa, watch N B C.
Alexa, watch channel thirteen.
Alexa, channel up on the TV.
Alexa, channel down on the TV.
Alexa, schalt auf R T L.
Alexa, geh zum fernsehsender R T L.
Alexa, geh zu kanal drei.
Alexa, spiel R T L zwei ab.
Alexa, kanal drei anschauen.
Alexa, vorheriger Sender auf Wohnzimmer TV.
Alexa, einen Sender nach unten auf Wohnzimmer TV.
Alexa, cambia a E T B.
Alexa, cambia canal a T P D.
Alexa, cambia a canal dos.
Alexa, ver la sexta.
Alexa, pon canal dos.
Alexa, va sur france deux.
Alexa, va sur france cinq.
Alexa, va sur la treize.
Alexa, mets direct huit.
Alexa, mets la chaîne virgin radio T V.
Alexa, star plus पे जाओ
Alexa, channel sony पर जाओ
Alexa, channel दस पे जाओ
Alexa, fox देखो
Alexa, vai su italia uno.
Alexa, vai su animal planet.
Alexa, vai al canale venti.
Alexa, fammi vedere canale italia.
Alexa, metti il canale dieci.
Alexa, vá para globonews.
Alexa, vá para o canal globonews.
Alexa, vá para o canal dois.
Alexa, assistir globonews.
Alexa, assistir canal um.
アレクサ、nhkに行って
アレクサ、nhkに切り替えて
アレクサ、三チャンネルをつけて
アレクサ、at xを見せて
アレクサ、チャンネル十を見せて
アレクサ、次のチャンネル
アレクサ、前のチャンネルに戻って
プロパティとオブジェクト
Alexa.ChannelController
インターフェースには、次のプロパティとオブジェクトが含まれます。
出力可能なプロパティ
Alexa.ChannelController
インターフェースでは、プライマリプロパティとしてchannel
プロパティを使用します。検出応答で、サポートするプロパティを指定します。
Channelプロパティ
channel
プロパティは、数字、コールサインまたは系列コールサインでチャンネルを指定します。channel
プロパティ値はオブジェクトです。
以下は、channel
プロパティの例です。
{
"name":"channel",
"value": {
"number": "9",
"callSign": "KCTS-TV",
"affiliateCallSign": "KCTS"
}
}
次の表は、Channel
オブジェクトの定義を示しています。
プロパティ | 説明 | 型 | 必須 |
---|---|---|---|
|
TVチャンネルの番号(1や4など)です。 |
文字列 |
✕ |
|
チャネルのコールサイン(NHKなど)です。 |
文字列 |
✕ |
|
チャンネルの現地の系列コールサイン(JOBH-DTVなど)です。 |
文字列 |
✕ |
|
チャンネルのURI( |
文字列 |
✕ |
Channel
オブジェクトにフィールドは必要ありません。ただし、必ずchannel.number
、channel.callSign
、channel.affiliateCallSign
、channel.uri
、channelMetadata.name
をいずれか1つ以上指定する必要があります。ChannelMetadataオブジェクト
ChannelMetadata
プロパティにはチャンネルに関する追加情報を指定します。
以下は、ChannelMetadata
オブジェクトの例です。
{
"name":"channelMetadata",
"value": {
"name": "チャンネルの別名",
"image": "url for image"
}
}
以下の表は、channelMetadata
オブジェクト定義の一覧です。
プロパティ | 説明 | 型 | 必須 |
---|---|---|---|
|
チャンネルの別名(「The CW」など)です。 |
文字列 |
✕ |
|
チャンネルの画像またはロゴのURLです。 |
文字列 |
✕ |
Lineupオブジェクト
ライブTVプロバイダー(多チャンネル映像番組配信事業者(MVPD)など)は、Alexaスキルを作成してユーザーごとまたは郵便番号ごとに異なるチャンネルラインナップを提供することができます。ラインナップとは、TV局、アフィリエイト、チャンネル番号の組み合わせに基づいたTVチャンネルのセットです。
Alexaは、Lineup
オブジェクトに定義されたパラメーターに基づいて、TVチャンネルラインナップを探します。ラインナップ情報を、検出応答に指定します。ラインナップを変更した場合、AddOrUpdateReport
を送信する必要があります。
以下は、Lineup
オブジェクトの例です。
{
"lineup": {
"operatorName": "コム神戸社",
"type": "multiSystemOperator",
"lineupName": "コミュニケーション神戸南 - デジタル",
"postalCode": "6500000"
}
}
以下の表は、Lineup
オブジェクト定義の一覧です。
プロパティ | 説明 | 型 | 必須 |
---|---|---|---|
|
プロバイダーラインナップ名です。 |
文字列 |
✕ |
|
TVプロバイダー名です。 |
文字列 |
◯ |
|
ラインナップの種類です。 |
文字列 |
◯ |
|
ユーザーが住む場所の郵便番号を指定します。 |
文字列 |
✕ |
検出
Alexa.ChannelController
をサポートするエンドポイントを指定するには、Alexa.Discovery
の標準検出メカニズムを使用します。
Alexaからスキルに状態レポートリクエストが送信されたら、レポートするプロパティのretrievable
をtrue
に設定します。変更レポートでAlexaにプロアクティブにレポートするプロパティのproactivelyReported
をtrue
に設定します。
TV
、STREAMING_DEVICE
、GAME_CONSOLE
などの適切な表示カテゴリーを使用します。表示カテゴリーの一覧は、表示カテゴリーを参照してください。
Alexaにデバイスの健全性を通知する場合、Alexa.EndpointHealth
インターフェースも実装してください。
検出応答の例
以下は、Alexa.ChannelController
インターフェース、Alexa.PowerController
インターフェース、Alexa.EndpointHealth
インターフェースをサポートするテレビのDiscover.Response
メッセージの例です。テレビに推奨されるすべてのインターフェースの一覧については、スマートホームスキル用のデバイステンプレートを参照してください。
ラインナップを使用した検出応答の例
以下は、ユーザーや郵便番号ごとにさまざまなチャンネルラインナップをサポートするMVPDのDiscover.Response
メッセージの例です。この例では、Alexa.ChannelController
インターフェースにラインナップ情報が含まれています。
AddOrUpdateReport
ユーザーが新しいエンドポイントをアカウントに追加した場合や、既存のエンドポイントに変更を加えた場合、Alexaイベントゲートウェイに対してAlexa.Discovery.AddOrUpdateReport
メッセージをプロアクティブに送信します。ユーザーアカウントに関連付けられたすべてのエンドポイントか、新規または更新されたエンドポイントのみを含めることができます。スキルの実装内容に応じて選択できます。詳細については、AddOrUpdateReport
を参照してください。
AddOrUpdateReportの例
以下は、新しいエンドポイントに対するAddOrUpdateReport
メッセージの例です。
{
"event": {
"header": {
"namespace": "Alexa.Discovery",
"name": "AddOrUpdateReport",
"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.ChannelController",
"version": "3",
"properties": {
"supported": [{
"name": "channel"
}],
"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"
}
]
}],
"scope": {
"type": "BearerToken",
"token": "access-token-from-Amazon"
}
}
}
}
ディレクティブ
Alexaは次のAlexa.ChannelController
インターフェースディレクティブをスキルに送信します。
ChangeChannelディレクティブ
ChangeChannel
ディレクティブをサポートすることで、ユーザーはチャンネル番号やコールサインを指定してデバイスのチャンネルを変えることができます。
以下は、ユーザーの発話の例です。
Alexa, change channel to two hundred on Living Room TV.
Alexa, schalte den Wohnzimmer TV auf Kanal zweihundert.
アレクサ、チャンネル4に変えて
ChangeChannelディレクティブの例
以下は、Alexaがスキルに送信するChangeChannel
ディレクティブの例です。
{
"directive": {
"header": {
"namespace": "Alexa.ChannelController",
"name": "ChangeChannel",
"messageId": "一意のバージョン4 UUID",
"correlationToken": "opaque相関トークン",
"payloadVersion": "3"
},
"endpoint": {
"scope": {
"type": "BearerToken",
"token": "OAuth2.0ベアラートークン"
},
"endpointId": "エンドポイントID",
"cookie": {}
},
"payload": {
"channel": {
"number": "9",
"callSign": "KCTS-TV",
"affiliateCallSign": "KCTS",
"uri": "channel uri"
},
"channelMetadata": {
"name": "チャンネルの別名",
"image": "url for image"
}
}
}
}
ChangeChannelディレクティブのペイロード
次の表は、ChangeChannel
ディレクティブのペイロード詳細です。
プロパティ | 説明 | 型 |
---|---|---|
channel |
デバイスの変更後のチャンネルです。 | Channel オブジェクト |
channelMetadata |
デバイスの変更後のチャンネルに関する追加情報です。 | ChannelMetadata オブジェクト |
ChangeChannel応答
ChangeChannel
ディレクティブを正しく処理したら、Alexa.Response
イベントを使用して応答します。contextオブジェクトに、変更されたすべてのプロパティの値を含めます。
以下は、ChangeChannel
応答の例です。
{
"event": {
"header": {
"namespace": "Alexa",
"name": "Response",
"messageId": "一意の識別子、バージョン4 UUIDが望ましい",
"correlationToken": "リクエストに一致するopaque相関トークン",
"payloadVersion": "3"
},
"endpoint":{
"endpointId": "エンドポイントID"
},
"payload": {}
},
"context": {
"properties": [
{
"namespace": "Alexa.ChannelController",
"name": "channel",
"value": {
"number": "9",
"callSign": "KCTS-TV",
"affiliateCallSign": "KCTS"
},
"timeOfSample": "2017-02-03T16:20:50.52Z",
"uncertaintyInMilliseconds": 0
},
{
"namespace": "Alexa.PowerController",
"name": "powerState",
"value": "ON",
"timeOfSample": "2017-02-03T16:18:40.12Z",
"uncertaintyInMilliseconds": 500
}
]
}
}
ChangeChannelディレクティブのエラー処理
ChangeChannel
ディレクティブを正常に処理できず、エラーがビデオ固有のものである場合、Alexa.Video.ErrorResponse
イベントで応答します。一般的なエラーの場合、汎用のAlexa.ErrorResponse
イベントで応答します。
SkipChannelsディレクティブ
SkipChannels
ディレクティブをサポートすると、ユーザーは段階的にデバイスのチャンネルを変更できます。昇順に変更する場合は正の数、降順に変更する場合は負の数を使用できます。
以下は、ユーザーの発話の例です。
Alexa, next channel on Living Room TV
Alexa, channel up on Living Room TV
Alexa, channel down on Living Room TV
Alexa, nächster Sender auf Wohnzimmer TV.
Alexa, vorheriger Sender auf Wohnzimmer TV.
Alexa, einen Sender nach unten auf Wohnzimmer TV.
アレクサ、テレビを次のチャンネルにして
アレクサ、次のチャンネル
アレクサ、前のチャンネルに戻って
SkipChannelsディレクティブの例
以下は、Alexaがスキルに送信するSkipChannels
ディレクティブの例です。
{
"directive": {
"header": {
"namespace": "Alexa.ChannelController",
"name": "SkipChannels",
"messageId": "一意のバージョン4 UUID",
"correlationToken": "opaque相関トークン",
"payloadVersion": "3"
},
"payload": {
"channelCount" : 1
}
}
}
SkipChannelsディレクティブのペイロード
次の表は、SkipChannels
ディレクティブのペイロードの詳細を示しています。
プロパティ | 説明 | 型 |
---|---|---|
channelCount |
一度に変更するチャンネルの数です。負の数では降順、正の数では昇順に変更します。 有効な値は、–1と1です。 |
整数 |
SkipChannels応答
SkipChannels
ディレクティブを正しく処理したら、Alexa.Response
イベントを使用して応答します。contextオブジェクトに、変更されたすべてのプロパティの値を含めます。
以下は、SkipChannels
応答の例です。
{
"event": {
"header": {
"namespace": "Alexa",
"name": "Response",
"messageId": "一意の識別子、バージョン4 UUIDが望ましい",
"correlationToken": "リクエストに一致するopaque相関トークン",
"payloadVersion": "3"
},
"endpoint":{
"endpointId": "エンドポイントID"
},
"payload": {}
},
"context": {
"properties": [
{
"namespace": "Alexa.ChannelController",
"name": "channel",
"value": {
"number": "7",
"callSign": "KIRO-TV",
"affiliateCallSign": "KIRO"
},
"timeOfSample": "2017-02-03T16:25:50.52Z",
"uncertaintyInMilliseconds": 0
},
{
"namespace": "Alexa.PowerController",
"name": "powerState",
"value": "ON",
"timeOfSample": "2017-02-03T16:18:40.12Z",
"uncertaintyInMilliseconds": 500
}
]
}
}
SkipChannelsディレクティブのエラー処理
SkipChannels
ディレクティブを正常に処理できず、エラーがビデオ固有のものである場合、Alexa.Video.ErrorResponse
イベントで応答します。一般的なエラーの場合、汎用のAlexa.ErrorResponse
イベントで応答します。
状態レポート
Alexaはエンドポイントの状態についての情報をリクエストするために、ReportState
ディレクティブを送信します。AlexaがReportState
ディレクティブを送信したら、それに対する応答としてStateReport
イベントを送信します。この応答には、contextオブジェクトのすべてのretrievableプロパティの現在の状態を含めます。retrievableプロパティは検出応答で特定します。状態レポートの詳細については、状態および変更レポートについてを参照してください。
StateReport応答の例
{
"event": {
"header": {
"namespace": "Alexa",
"name": "StateReport",
"messageId": "一意の識別子、バージョン4 UUIDが望ましい",
"correlationToken": "リクエストに一致するopaque相関トークン",
"payloadVersion": "3"
},
"endpoint": {
"scope": {
"type": "BearerToken",
"token": "OAuth2.0ベアラートークン"
},
"endpointId": "エンドポイントID"
},
"payload": {}
},
"context": {
"properties": [
{
"namespace": "Alexa.ChannelController",
"name": "channel",
"value": {
"number": "7",
"callSign": "KIRO-TV",
"affiliateCallSign": "KIRO"
},
"timeOfSample": "2017-02-03T17:00:50.52Z",
"uncertaintyInMilliseconds": 0
},
{
"namespace": "Alexa.PowerController",
"name": "powerState",
"value": "ON",
"timeOfSample": "2017-02-03T16:18:40.12Z",
"uncertaintyInMilliseconds": 500
},
{
"namespace": "Alexa.EndpointHealth",
"name": "connectivity",
"value": {
"value": "OK"
},
"timeOfSample": "2017-02-03T16:15:00.00Z",
"uncertaintyInMilliseconds": 0
}
]
}
}
変更レポート
エンドポイントの状態の変化をプロアクティブにレポートするために、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": "VOICE_INTERACTION"
},
"properties": [{
"namespace": "Alexa.ChannelController",
"name": "channel",
"value": {
"number": "9",
"callSign": "KCTS-TV",
"affiliateCallSign": "KCTS"
},
"timeOfSample": "2017-02-03T16:20:50.52Z",
"uncertaintyInMilliseconds": 0
}]
}
}
},
"context": {
"properties": [{
"namespace": "Alexa.PowerController",
"name": "powerState",
"value": "ON",
"timeOfSample": "2017-02-03T16:18:40.12Z",
"uncertaintyInMilliseconds": 500
},
{
"namespace": "Alexa.EndpointHealth",
"name": "connectivity",
"value": {
"value": "OK"
},
"timeOfSample": "2017-02-03T16:15:00.00Z",
"uncertaintyInMilliseconds": 0
}
]
}
}
関連トピック
最終更新日: 2024 年 11 月 12 日