Alexa.Presentation.APLTインターフェースリファレンス
Alexa.Presentation.APLT
インターフェースには、キャラクターディスプレイ機能(Echo Dot with clockに搭載されている7セグメントLEDの英数字クロックディスプレイなど)を持つデバイスにコンテンツを表示するためのディレクティブが用意されています。
- supportedInterfacesのAlexa.Presentation.APLT
- RenderDocumentディレクティブ
- ExecuteCommandsディレクティブ
- スキルリクエストのViewportオブジェクト
- サービスインターフェースのリファレンス(JSON)
- 関連トピック
supportedInterfacesのAlexa.Presentation.APLT
ユーザーのデバイスにAPL対応のキャラクターディスプレイ機能がある場合は、context.System.device.supportedInterfaces
オブジェクトに[Alexa.Presentation.APLT]
が含まれています。
{
"version": "1.0",
"session": {},
"context": {
"System": {
"device": {
"deviceId": "amzn1.ask.device.1",
"supportedInterfaces": {
"AudioPlayer": {},
"Alexa.Presentation.APLT": {
"runtime": {
"maxVersion": "1.0"
}
}
}
},
"apiEndpoint": "https://api-amazonalexa.amazon.com",
"apiAccessToken": ""
},
"Viewports": [
{
"id": "main",
"type": "APLT",
"supportedProfiles": [
"FOUR_CHARACTER_CLOCK"
],
"lineLength": 4,
"lineCount": 1,
"format": "SEVEN_SEGMENT",
"interSegments": [
{
"x": 2,
"y": 0,
"characters": "':."
}
]
}
]
},
"request": {
"type": "LaunchRequest",
"requestId": "amzn1.echo-api.request.1",
"timestamp": "2019-06-27T15:52:19Z",
"locale": "ja-JP",
"shouldLinkResultBeReturned": false
}
}
Alexa.Presentation.APLT
ディレクティブを返す前に、必ずsupportedInterfaces
を確認してください。
RenderDocumentディレクティブ
指定されたdocument
に含まれているAPLコンテンツを表示するようデバイスに命令します。オプションで、1つまたは複数のdatasources
を指定してコンテンツをドキュメントにバインドすることもできます。
outputSpeech
ディレクティブとRenderDocument
ディレクティブが応答に含まれている場合、AlexaはoutputSpeech
のテキスト全体を読み上げてからドキュメントを表示します。{
"type": "Alexa.Presentation.APLT.RenderDocument",
"token": "developer-provided-string",
"targetProfile": "FOUR_CHARACTER_CLOCK",
"document": {
"version": "1.0",
"type": "APLT",
"mainTemplate": {
"item": {
"type": "Text",
"id": "myTextId",
"textAlign": "right",
"text": "GOOd dAy",
"overflow": "marquee"
}
}
},
"datasources": {}
}
名前 | 説明 | 型 | 必須 |
---|---|---|---|
|
ドキュメントにデータを指定するためのデータソースオブジェクトのマップです。データをテンプレートと分けるために使用します。データバインディングの評価とデータバインディングの構文を参照してください。 |
オブジェクト |
✕ |
|
表示するAPLドキュメントです。 |
オブジェクト |
◯ |
|
ターゲットとなるデバイスプロファイルです。ユーザーのデバイスでサポートされているデバイスプロファイルを、リクエストの |
列挙 |
✕ |
|
プレゼンテーションの一意のIDです。各ドキュメントは独立したプレゼンテーションと見なされます。これは今後のイベントやディレクティブを適切なプレゼンテーションと関連付けるために使用されます。 |
文字列 |
◯ |
|
常に |
文字列 |
◯ |
ExecuteCommandsディレクティブ
指定されたcommands
を実行するようデバイスに命令します。
RenderDocument
ディレクティブのtoken
と一致するtoken
をExecuteCommands
ディレクティブに指定する必要があります。{
"type": "Alexa.Presentation.APLT.ExecuteCommands",
"token": "developer-provided-string",
"commands": [
{
"type": "SetValue",
"description": "「myTextId」コンポーネントのテキストプロパティ値を変更します。",
"componentId": "myTextId",
"property": "text",
"value": "New text value!",
"delay": 3000
}
]
}
名前 | 説明 | 型 | 必須 |
---|---|---|---|
|
実行するコマンドオブジェクト配列です。複数のコマンドを指定すると、 |
コマンドの配列 |
◯ |
|
現在のプレゼンテーションの一意のIDです。現在表示中のドキュメントのレンダリングに使用されているRenderDocumentディレクティブのトークンと一致する必要があります。このトークンは、スキルが指定します。 |
文字列 |
◯ |
|
常に |
文字列 |
◯ |
スキルリクエストのViewportオブジェクト
スキルに送信されるリクエストには必ず、ユーザーのデバイスでサポートされているviewportに関する情報が含まれています。この情報をコードで使用して、適切な応答を作成できます。
キャラクターディスプレイ付きデバイスの場合、viewport情報はcontext.Viewports
配列にあります。この配列には、デバイスでサポートされているviewportを示す1つまたは複数のviewport
オブジェクトが格納されています。type
プロパティは、オブジェクトが画面付きデバイス用APL(APL
)とキャラクターディスプレイ付きデバイス用APL(APLT
)のどちらをサポートするデバイスを表しているかを示します。
キャラクターディスプレイ付きデバイスのViewports
配列の例を次に示します。
{
"version": "1.0",
"session": {},
"context": {
"system": {
"device": {
"deviceId": "String",
"supportedInterfaces": {
"AudioPlayer": {},
"Alexa.Presentation.APLT": {
"runtime": {
"maxVersion": "1.0"
}
}
}
}
},
"Viewports": [
{
"id": "main",
"type": "APLT",
"supportedProfiles": ["FOUR_CHARACTER_CLOCK"],
"lineLength": 4,
"lineCount": 1,
"format": "SEVEN_SEGMENT",
"interSegments": [
{
"x": 2,
"y": 0,
"characters": "':."
}
]
}
]
},
"request": {}
}
viewport
オブジェクトのプロパティは次のとおりです。
名前 | 説明 | 型 |
---|---|---|
|
ディスプレイの文字の形状です。現状では |
列挙 |
|
viewportの一意のIDです。 |
文字列 |
|
ディスプレイでサポートされているセグメント間の文字の配列です。たとえば、4文字クロックのコロン( |
interSegmentオブジェクトの配列 |
|
ディスプレイの高さ(文字単位)です。Echo Dot with clockのような4x1デバイスの場合、値は1です。 |
整数 |
|
ディスプレイの幅(文字単位)です。Echo Dot with clockのような4x1デバイスの場合、 |
整数 |
|
デバイスでサポートされているディスプレイタイプのリストです。現状では |
列挙の配列 |
|
キャラクターディスプレイ付きデバイスの場合は |
列挙 |
サービスインターフェースのリファレンス(JSON)
リクエストの形式と標準のリクエストタイプ:
インターフェース:
- Alexa.Presentation.APLインターフェース
- Alexa.Presentation.APLTインターフェース(このドキュメント)
- Alexa.Presentation.HTMLインターフェースのリファレンス
- AudioPlayerインターフェース
- Connectionsインターフェース
- Dialogインターフェース
- PlaybackControllerインターフェース
- VideoAppインターフェース