画面付きデバイス用APLリファレンス
Alexa Presentation Language(APL)を使用すると、スキルに追加する視覚エクスペリエンスを作成できます。視覚エクスペリエンスには、アニメーション、グラフィック、画像、スライドショー、ビデオを含めることができます。このようなエクスペリエンスを作成するには、APL
ドキュメント形式を使用します。
利用可能なAPLリファレンスについては、以下のセクションを参照してください。
ドキュメントとパッケージ
APLドキュメントは、画面付きのデバイスに表示するテンプレートを定義するJSONオブジェクトです。APLパッケージは、ドキュメントにインポートできる再利用可能なレイアウトやその他のリソースを含むAPLドキュメントです。パッケージを使用すると、異なるAPLドキュメント間でレイアウトを共有できます。
APLドキュメント形式や、ドキュメント内の最上位プロパティの詳細については、以下のトピックを参照してください。
スタイル
APLスタイルは、一連の視覚プロパティを定義します。スタイルをコンポーネントに適用すると、コンポーネントのプロパティを一貫して設定できます。スタイルでは、条件付きロジックを含めたり、コンポーネントの状態を使用したりできます。たとえば、コンポーネントの状態がchecked
に設定されているかどうかに応じて、スタイルでテキストの色を変更できます。
スタイルの定義と使用について詳しくは、以下のトピックを参照してください。
データソースとデータバインディング
APLはデータバインディングをサポートしています。これにより、ドキュメントは、指定した別のデータソースからデータを取得できます。データバインディングを使用すると、ソースデータからプレゼンテーションロジック(APLドキュメント)を分離できます。
データソースの定義とデータバインディングの使用について詳しくは、以下のトピックを参照してください。
コンポーネント
APLコンポーネントは、Viewportに表示されるプリミティブなUI要素です。たとえば、テキストボックスなどがあります。コンポーネントは、ドキュメントを構築する基本的な構成要素です。
- すべてのコンポーネントには、同じ基本コンポーネントのプロパティがあります。
- タップ、カーソル、キーボードのイベントから入力を受け取るコンポーネントには、アクション可能なコンポーネントのプロパティがあります。
- タップまたはポインターのイベントから入力を受け取るコンポーネントには、タッチ可能なコンポーネントのプロパティがあります。
- 複数の子コンポーネントをレンダリングできるコンポーネントには、複数子コンポーネントのプロパティがあります。
使用可能なコンポーネントのリストについては、 コンポーネントを参照してください。
コマンド
APLコマンドは、APLドキュメントにメッセージを送信します。コマンドを使用すると、ランタイムで視覚エクスペリエンスを変更したり、対話中にスキルサービスと通信したりできます。
コマンドは、APLドキュメントのイベントハンドラーから直接実行できます。スキルでは、Alexa.Presentation.APL.ExecuteCommandsディレクティブを使用してデバイスにコマンドを送信できます。
コマンドの詳細については、以下のトピックを参照してください。
フィルター
APLフィルターは、画像に視覚効果を適用します。フィルターの詳細については、フィルターを参照してください。
Vector Graphics形式
Alexa Vector Graphics(AVG)形式は、APLドキュメントで使用できるベクターグラフィックを定義します。AVGは、VectorGraphic
コンポーネントを使って表示できます。
AVGの詳細については、Alexa Vector Graphics形式を参照してください。
キーボードハンドラー
APLではキーボードイベントがサポートされています。キーボードハンドラーを定義すると、キーの押下をキャプチャして応答することができます。詳細については、キーボードイベントとハンドラーを参照してください。
ティックイベントハンドラー
ティックイベントハンドラーは、時間の経過に応じて一連のコマンドを実行します。たとえば、ティックハンドラーを使用して、プログレスバーを数秒ごとに塗りつぶすようにアニメーション化できます。ティックイベントとティックハンドラーの詳細については、ティックイベントハンドラーを参照してください。
ジェスチャー
APLでは、コンポーネントのドラッグ、スワイプによるアイテムの削除、画面の長押しなどのジェスチャーがサポートされています。これらのイベントをキャプチャしてコマンドを実行するために定義可能なジェスチャーハンドラーの詳細については、ジェスチャーを参照してください。
Extensions
Extensionsは、APLランタイムに追加のデータソース、コマンド、イベントハンドラーを提供するオプションの拡張機能です。Extensionsの詳細については、Extensionsを参照してください。
関連トピック
最終更新日: 2021 年 11 月 01 日