Alexa.Presentation.APLAインターフェースのリファレンス



Alexa.Presentation.APLAインターフェースのリファレンス

Alexa.Presentation.APLAインターフェースは、 APLドキュメントで定義されたオーディオクリップをレンダリングするためのディレクティブを提供します。

RenderDocumentディレクティブ

指定したドキュメントで定義されたオーディオクリップを再生するようにデバイスに命令します。オプションで、1つまたは複数のdatasourcesを指定してコンテンツをドキュメントにバインドすることもできます。

次の例では、オーディオクリップを再生するためのドキュメント全体を渡します。

{
  "type": "Alexa.Presentation.APLA.RenderDocument",
  "token": "developer-provided-string",
  "document": {
    "version": "0.8",
    "type": "APLA",
    "mainTemplate": {
      "parameters": [
        "payload"
      ],
      "item": {
        "type": "Selector",
        "items": [
          {
            "type": "Speech",
            "when": "${payload.user.name == ''}",
            "content": "こんにちは"
          },
          {
            "type": "Speech",
            "content": "${payload.user.name}さん、こんにちは!"
          }
        ]
      }
    }
  },
  "datasources": {
    "user": {
      "name": "太郎"
    }
  }
}

次の例では、ドキュメントのsrcでオーディオクリップのリンク先を指定します。

{
   "type": "Alexa.Presentation.APLA.RenderDocument",
   "token": "developer-provided-string",
   "document": {
     "version": "0.8",
     "type": "Link",
     "src":  "doc://alexa/apla/documents/<RESPONSE-NAME>",
   },
   "datasources": {
     "user": {
       "name": "太郎"
     }
   }
 }

プロパティ

名前 説明 必須

datasources

ドキュメントにデータを指定するためのデータソースオブジェクトのマップです。データをテンプレートと分けるために使用します。データバインディングの評価データバインディングの構文を参照してください。

オブジェクト

document

オーディオ応答に変換し、ユーザーのデバイスで再生するAPLドキュメントです。

オブジェクト

document.src

APLAオーサリングツールで作成し、スキルで保存したリンクドキュメントのURLを指定します。パスのdocuments部分は、ドキュメントを保存するときに指定した名前です。開発者コンソールでスキルを再ビルドし、スキルの変更を反映してください。

doc://alexa/apla/documents/

document.type

ドキュメントのタイプをLinkに指定します。

APLA

token

プレゼンテーションの一意のIDです。各ドキュメントは独立したプレゼンテーションと見なされます。これは今後のイベントやディレクティブを適切なプレゼンテーションと関連付けるために使用されます。

文字列

type

常にAlexa.Presentation.APLA.RenderDocumentです。

文字列

リンクされたドキュメントを使用するスキルを更新する

オーサリングツールでAPLAドキュメントを作成したら、Alexa開発者コンソールでスキルをビルドしてリンク参照を有効にする必要があります。また、変更を本番環境に適用するには、参照ドキュメントを編集して保存した後にスキルを再ビルドする必要があります。

RenderDocumentをoutputSpeechと再プロンプトに組み合わせる

APL for Audioは、既存のoutputSpeechプロパティおよびrepromptプロパティと併用できます。

応答にoutputSpeechRenderDocumentディレクティブの両方が含まれている場合、デバイスは最初にoutputSpeechをレンダリングし、続いてAPLドキュメントで定義されているオーディオをレンダリングします。Alexaがユーザーの応答をリッスンするインタラクション中(shouldEndSessionfalseの場合)、ユーザーが数秒以内に応答しない場合、repromptが再生されます。

次の例は、outputSpeechrepromptRenderDocumentを含むレスポンスを示しています。ドキュメントの内容は、簡潔に示すために省略しています。

クリップボードにコピーされました。

このサンプルコードはAlexa Skills Kit SDK for Node.js(v2)を使用しています。

return handlerInput.responseBuilder
     .speak("こんにちは")
     .addDirective({
            "type": "Alexa.Presentation.APLA.RenderDocument",
            "token": "launch_a",
            "document": {
                 "version": "0.8",
                 "type": "APLA",
                 "mainTemplate": {
                      "parameters": [
                           "payload"
                      ],
                     "item": {}
                 }
            }
     })
     .reprompt("これは再プロンプトです")
     .getResponse();

サービスインターフェースのリファレンス(JSON)

リクエストの形式と標準のリクエストタイプ:

インターフェース: