APLドキュメントのインポートと書き出し
APLドキュメントを書き出して、ドキュメントとデータソースを含むJSONファイルを作成します。以前に書き出したドキュメントを読み込んで新しいドキュメントを作成することもできます。
以下のセクションでは、APLドキュメント全体を書き出したり読み込んだりする方法について説明します。また、Lottie形式のアニメーションをインポートすることもできます。Lottieの詳細については、Lottieアニメーションのインポートを参照してください。
APLドキュメントをJSONに書き出す
オーサリングツールからドキュメントを書き出すと、トップレベルのdocument
、datasources
、sources
のプロパティを使ってドキュメント、データ、ソースを1つのJSONファイルにまとめられます。
{
"document": {},
"datasources": {
"dataSourceName": {}
},
"sources": {
"sourceName": {}
}
}
このファイルにオーサリングツール以外で変更を加えた場合は、後でこのファイルを新規APLドキュメントとして再読み込みできます。
ドキュメントを書き出す
- 開発者コンソールで、ドキュメントを保存したスキルを開きます。
-
左側のナビゲーションから、マルチモーダルをクリックします。
新しいウィンドウまたはタブでオーサリングツールが開き、オーディオフィルターが表示されます。
- オーディオ、視覚のいずれかをクリックすると、既存のドキュメントのリストが表示されます。
- リストからドキュメントを探し、ダウンロードをクリックします。
ドキュメントの編集中にドキュメントを書き出すこともできます。右上隅のコードを書き出しボタン()をクリックします。
書き出したドキュメントをスキルコードに使用する
APLドキュメントをJSONファイルに書き出したら、JSONをスキルコードにコピーして、RenderDocument
ディレクティブにドキュメントを返すことができます。
RenderDocument
の詳細については、以下を参照してください。
JSONを書き出してコードにコピーする代わりに、RenderDocument
を返すときにオーサリングツールに保存したドキュメントへのリンクを指定できます。コードにJSONを組み込む代わりに応答にリンクすることで、コードが簡易化され、スキルデザイナーはコードに依存することなくオーサリングツールで応答を作成できます。詳細については、以下を参照してください。
- 視覚応答: RenderDocumentでリンクドキュメントを使用する(Alexa.Presentation.APL)
- オーディオ応答: リンクされたドキュメントを使用するスキルを更新する(Alexa.Presentation.APLA)
JSONファイルからAPLドキュメントをインポートする(視覚応答)
JSONファイルから既存のAPLドキュメントをインポートすると、オーサリングツールはそのファイルに基づいて新しいドキュメントを作成します。
JSONファイルから視覚応答のAPLドキュメントをインポートする
- 開発者コンソールで、ドキュメントをインポートするスキルを開きます。
- 左側のナビゲーションから、マルチモーダルをクリックします。
- 視覚をクリックします。
- 視覚応答を作成をクリックします。
- アップロードをクリックし、JSONファイルをダイアログボックスにドラッグするか、参照をクリックしてコンピューター上のJSONファイルを選択します。
- アップロードをクリックします。
APLドキュメントのインポート形式
アップロードするJSONファイルは次のような構造にする必要があります。
{
"document": {},
"datasources": {
"dataSourceName": {}
},
"sources": {
"sourceName": {}
}
}
プロパティ | 型 | 説明 | 必須 |
---|---|---|---|
document |
オブジェクト | APLドキュメントのJSONが含まれます。 | 〇 |
datasources |
データソースオブジェクトのマップ | ドキュメントでテストするデータソースのマップです。 | ✕ |
sources |
ソースオブジェクトのマップ | ドキュメントのtype がAPL の場合に適用されます。APL for AudioトランスフォーマーでテストするAPL for Audioドキュメントのマップです。sources の使い方の詳細については、APLとAPL for Audioの統合をテストするを参照してください。 |
✕ |
たとえば、以下のJSONファイルはデータソースやソースのないドキュメントをインポートしています。
{
"document": {
"type": "APL",
"version": "1.6",
"theme": "dark",
"import": [],
"resources": [],
"styles": {},
"layouts": {},
"mainTemplate": {
"parameters": [
"payload"
],
"items": [
]
}
}
}
この例は、document
とdatasources
のプロパティが両方含まれるファイルを示しています。
{
"document": {
"type": "APL",
"version": "1.6",
"theme": "dark",
"import": [
{
"name": "alexa-layouts",
"version": "1.3.0"
}
],
"mainTemplate": {
"parameters": [
"payload"
],
"item": [
{
"type": "AlexaHeadline",
"id": "PlantHeadline",
"primaryText": "${payload.headlineTemplateData.properties.textContent.primaryText.text}",
"headerBackButton": false,
"headerAttributionImage": "${payload.headlineTemplateData.properties.logoUrl}",
"headerAttributionPrimacy": true,
"footerHintText": "${payload.headlineTemplateData.properties.hintText}",
"backgroundImageSource": "${payload.headlineTemplateData.properties.backgroundImage.sources[0].url}",
"backgroundColorOverlay": false,
"speech": "${payload.headlineTemplateData.properties.welcomeSpeech}"
}
]
},
"onMount": [
{
"type": "SpeakItem",
"componentId": "PlantHeadline"
}
]
},
"datasources": {
"headlineTemplateData": {
"type": "object",
"objectId": "headlineSample",
"properties": {
"backgroundImage": {
"contentDescription": null,
"smallSourceUrl": null,
"largeSourceUrl": null,
"sources": [
{
"url": "https://d2o906d8ln7ui1.cloudfront.net/images/templates_v3/headline/HeadlineBackground_Dark.png",
"size": "large"
}
]
},
"textContent": {
"primaryText": {
"type": "PlainText",
"text": "今日の植物トリビアにようこそ"
}
},
"logoUrl": "https://d2o906d8ln7ui1.cloudfront.net/images/templates_v3/logo/logo-modern-botanical-white.png",
"hintText": "次のように言ってみてください。\"アレクサ、今日の植物トリビアを教えて。\"",
"welcomeSpeechSSML": "<speak><amazon:emotion name='excited' intensity='medium'>今日の植物トリビアにようこそ</amazon:emotion></speak>"
},
"transformers": [
{
"inputPath": "welcomeSpeechSSML",
"transformer": "ssmlToSpeech",
"outputName": "welcomeSpeech"
}
]
}
},
"sources": {}
}
この例では、APL for Audioドキュメントでテストするデータソースとソースを含むドキュメントを示しています。
別の方法として、オーサリングツールで直接データソースを作成または貼り付けることもできます。
関連トピック
最終更新日: 2021 年 05 月 17 日