APLバージョン1.2で導入された変更点
(これはAPLの最新バージョンではありません。APLの最新バージョンの資料を参照するには、その他のバージョンオプションをクリックしてください)
Alexa Presentation Language 1.2では、APLに新機能が追加されました。
更新情報
すべてのコンポーネントに、影の効果を表示するための新しいプロパティが追加されました。
すべてのコンポーネントに、カーソルハンドラー用の新しいプロパティが追加されました。
フィルターにNoiseが追加され、画像にノイズを追加できるようになりました。これは、Image
コンポーネントで使用できます。
APLでキーボードおよびキーボードイベントがサポートされました。コンポーネントレベルとドキュメントレベルの両方で、KeyUpイベントとKeyDownイベントのハンドラーを定義できます。キーボードを参照してください。
タッチ、カーソル、キーボードのイベントに応答できるコンポーネントに、onFocus
、handleKeyDown
などのアクション可能なコンポーネントのプロパティが追加されました。アクション可能なコンポーネントには、次のものがあります。
- Pager
- ScrollView
- Sequence
- TouchWrapper
これらのコンポーネントで使用できる新しいプロパティについては、アクション可能なコンポーネントのプロパティを参照してください。
APLのバージョンを指定する
APLドキュメントで、version
を"1.2"
に設定します。
APLの最新バージョンをサポートしていない古いデバイスで、スキルが呼び出される場合があります。特定のバージョンのAPLで導入された機能を使用する場合は、それ以前のバージョンのAPLを実行しているデバイス向けに代替機能を提供してください。データバインディングコンテキストのenvironment.aplVersion
プロパティを使用すると、デバイスのAPLのバージョンを取得できます。このプロパティでは、APL 1.0についてはnull
が、APL 1.1以降では実際のバージョン番号が返されます。このプロパティをwhen
ステートメントで使用すると、バージョンに基づく条件付きブロックを作成できます。
たとえば、次のようにすると、APL 1.1以降を使用しているデバイスではVectorGraphic
を、APL 1.0を使用しているデバイスでは画像(Image)をレンダリングできます。
[
{
"type": "Image",
"when": "${environment.aplVersion == null}",
"width": 100,
"height": 100,
"source": "https://example.com/alternate/image/for/older/versions.jpg"
},
{
"type": "VectorGraphic",
"when": "${environment.aplVersion != null}",
"source": "lightbulb",
"width": 100,
"height": 100,
"scale": "best-fit"
}
]
APLのバージョンは、スキルに送信されるリクエストにも含まれています。
context.System.device.supportedInterfaces.['Alexa.Presentation.APL'].runtime.maxVersion
次の例は、APL 1.2に対応したデバイスからのリクエストを示しています。短くするために、session
、request
、viewport
の各プロパティは省略しています。
{
"version": "1.0",
"session": {},
"context": {
"System": {
"application": {
"applicationId": "amzn1.ask.skill.1"
},
"user": {
"userId": "amzn1.ask.account.1"
},
"device": {
"deviceId": "amzn1.ask.device.1",
"supportedInterfaces": {
"Alexa.Presentation.APL": {
"runtime": {
"maxVersion": "1.2"
}
}
}
},
"apiEndpoint": "https://api.amazonalexa.com",
"apiAccessToken": "eyJ..."
},
"Viewport": {}
},
"request": {}
}