LoginSignup
2
1

More than 3 years have passed since last update.

Echodot with clockで使えるAPLTのドキュメントを和訳した

Last updated at Posted at 2019-10-24

はじめに

この記事は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コマンドが実行された後に実行されます。

最初にドキュメントが画面に表示されるとき、次のアクションが実行されます。

  1. 全てのonMountコマンドを並列で処理します
  2. 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」ドキュメントもサポートします。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1