※このブログはBuild Skills on Echo Dot with Clock with Alexa Presentation Language (APL)の翻訳です。
Alexa Presentation Language(APL)を使用して、Amazonの最新Echoデバイスの1つであるEcho Dot with clockに対応したスキルを開発できるようになりました。この機能によって、APLを使うと、文字ベースのディスプレイのある新しいデバイスに、視覚的なエクスペリエンスを開発することができます。また、APLはEcho Show、Echo Spot、Fire TV、LG TV、Lenovo Smart Tabデバイスなど、既にさまざまなデバイスでサポートされています。APLの改良は今後も継続され、さらに多くのデバイスで使用できるようになる予定です。
Echo Dot with clockには7つに分割された英数字用ディスプレイが搭載されており、通常はデジタル時計のデザインが表示されます。このデバイスで、画像やビデオを表示することはできません。ユーザーがEcho Dot with clockでAlexaと対話すると、スキルの実行中に、その端末固有の方法で情報が表示されます。たとえばユーザーが温度をたずねると、対話中はデバイスに現在の温度が表示され、対話が終わるとデジタル時計のデザインに戻ります。
Echo Dot with clockのスキルの開発を始めるには、スキルマニフェストでALEXA_PRESENTATION_APLインターフェースを有効にするか、スキル開発者コンソールからスキルを開き、「ビルド」タブ中の「インターフェース」を使用します。
Echo Dot with clockなどの文字表示デバイスを使用していることを検出するには、スキルのリクエストでAlexa.Presentation.APLTがサポートされているインターフェースを探します。このインターフェースは、ユーザーがEcho Show、Fire TV、Fireタブレットなどのデバイスを使用している場合にスキルリクエストに含まれるAlexa.Presentation.APLインターフェースとは異なります。このスキルリクエストには、デバイスの文字表示に関するViewport情報(表示する情報の形状、向き、サイズなど)も含まれます。SEVEN_SEGMENTなどのフォーマットでは、k、m、v、w、xなどの特定の文字がサポートされないため、これは特に重要です。SEVEN_SEGMENTフォーマットの詳細については、Viewportのドキュメントをご覧ください。このフォーマットでサポートされていないすべての文字は、スペース文字(' ')として扱われます。
{
"version": "1.0",
"session": {
...
},
"context": {
"system": {
"device": {
"deviceId": String,
"supportedInterfaces": {
"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": "':."
}
]
}
],
...
}
Alexa.Presentation.APLTインターフェースをサポートするデバイスでAPLをレンダリングするには、Alexa.Presentation.APLT.RenderDocumentディレクティブを使用してAPLTドキュメントで応答します。以下のコードサンプルは、‘overflow’と’msPerCharacter’プロパティ(APLTドキュメントでのみ使用可能)を使用したシンプルなAPLTドキュメントを示しています。
Echo Dot with clockは、Alexa.Presentation.APLT.ExecuteCommandsディレクティブを使用してデバイスに送信できる一部のAPLコマンドについてもサポートしています。
{
"outputSpeech": {
"type": "SSML",
"ssml": "<speak>This is APL on an Echo Dot with Clock!</speak>"
},
"directives": [
{
"type": "Alexa.Presentation.APLT.RenderDocument",
"document": {
"type": "APLT",
"version": "1.0",
"mainTemplate": {
"items": [
{
"type": "Text",
"text" : "thIS IS yOUr APL ",
"overflow": "marquee",
"msPerCharacter": 500
}
]
}
},
"datasources": {}
}
]
}
Echo Dot with clockのAPLTドキュメントでは、下記に紹介するAPLコンポーネントとコマンドがサポートされています。
既にスキルでAPLインターフェースが有効になっている場合、スキルのLambda関数またはウェブサービスのコードを更新してEcho Dot with clockのAlexa.Presentation.APLTインターフェース向けにAPLTドキュメントを送信することができます。スキルのLambda関数やウェブサービスコードを更新しない場合、スキルはEcho Dotなどのスピーカーデバイスで使用する音声のみのインターフェースを提供します。
開発者の皆さまにこのブログで紹介した機能をご活用いただき、これまでになかったスキル開発を期待しています。ご質問があれば、私(Twitterで@aruntalkstech)までご連絡ください。
さらに詳しいドキュメントが必要である場合はこちらをご覧ください。