#はじめに
この記事はdevelper.amazon.comで公開されてるドキュメントをそのまま日本語訳したものです。
中の人が翻訳したものではないので、一部意訳をしていたり、表現や記述が異なる可能性があります。
その際は、コメントなどでご報告をよろしくお願いいたします。
#ドキュメント
APLTドキュメントは、明確に定義された構造を持つJSONオブジェクトです。
このドキュメントは、文字表示を備えたデバイスで表示するテンプレートを定義しています(echo dot with clockなど)
Alexa.Presentation.APLT.RenderDocument
を使用することで、デバイスで文字を表示させることができます。
#目次
#使用例
APLTは、次のようなシンプルなコンポーネントで追加できます。
APLTはディスプレイの左上角から描画されるようになります。
{
"type": "APLT",
"version": "1.0",
"mainTemplate": {
"items": [
{
"type": "Text",
"text": "HI."
}
]
}
}
さらにリッチなAPLTを表現したい場合は、複数のコンポーネントをネストすることで利用できます。
{
"type": "APLT",
"version": "1.0",
"description": "This is a more complex example",
"layouts": {},
"resources": [],
"mainTemplate": {
"items": [
{
"id": "myPager",
"type": "Pager",
"items": [
{
"type": "Text",
"text": "P9: 1"
},
{
"type": "Text",
"text": "P9: 2"
}
]
}
]
},
"onMount": {
"type": "AutoPage",
"componentId": "myPager",
"delay": 500,
"count": 2,
"duration": 500
},
"settings": {
"idleTimeout": 10000
}
}
#構成
APLTのトップレベルで使用できるプロパティは以下のようになります。
プロパティ | タイプ | 必要性 | 説明 |
---|---|---|---|
description | string | なくても可 | オプションの説明 |
layout | map | なくても可 | カスタムレイアウト |
mainTemplate | Array of components | 必須 | レイアウトの開始位置 |
onMount | Array of commands | なくても可 | ドキュメントが表示された時に最初に実行するコマンド |
resources | Array of resources | なくても可 | リソースの定義 |
setting | map | なくても可 | ドキュメント全体の設定 |
type | "APLT" | 必須 | この値は必ず"APLT"であること |
version | "1.0" | 必須 | APLTのバージョン。2019年10月時点は"1.0" |
##mainTemplate
mainTemplate
は、ドキュメントが最初に画面に表示されるときに拡大されるレイアウトです。
mainTemplateで定義されたパラメーターは、APLTドキュメントを表示を開始したRenderDocument
によって提供されます。
詳細については、APLTインターフェイスのRenderDocumentを参照してください。
##onMount
ドキュメントが最初に画面に表示されるときに実行するコマンドです。
このコマンドは、コンポーネントonMount
コマンドが実行された後に実行されます。
最初にドキュメントが画面に表示されるとき、次のアクションが実行されます。
- 全ての
onMount
コマンドを並列で処理します -
onMount
コマンドでドキュメントを表示していきます
これらのコマンドについては次のメタコマンドで効果的にまとめることができます。
{
"type": "Sequential",
"commands": [
{
"type": "Parallel",
"commands": "<COMPONENT_ON_MOUNT_COMMANDS>"
}
],
"finally": "<DOCUMENT_ON_MOUNT_COMMAND>"
}
##settings
settings
プロパティは、ドキュメント全体のプロパティを定義するキーと、値のペアのマップを保持します。
次のようなプロパティが定義されています
プロパティ | タイプ | デフォルト値 | 説明 |
---|---|---|---|
idolTimeout | Number | <system> |
ドキュメントの表示が終了するまでの時間 |
例として2分間でタイムアウトするような場合は、次のように書いていきます
idolTimeout
はミリ秒単位で設定します
{
"type": "APLT",
"version": "1.0",
"settings": {
"idleTimeout": 120000
}
}
###idolTimeout
上の例のようなタイムアウトの時間は推奨値であり、動作を保証する値ではありません。
特定のデバイスでは、idolTimeout
を無視、もしくは制限することが可能です。
ライフサイクルについてはlifecycle_session
を参照してください
##version
version
プロパティは、APLTのバージョンを指定します。
APLTレンダリングエンジンは、バージョンプロパティを使用して必要な機能を識別し、レンダリングの精度を確保します。
このバージョンプロパティについては、開発者自身で正しく設定されているか確認してください。
APLTレンダリングエンジンは、ドキュメントのバージョン番号をサポートしていない場合、ドキュメントの読み込みはしません。
なお、APLTレンダリングエンジンは後方互換性があるため、「1.1」をサポートするエンジンは「1.0」ドキュメントもサポートします。