APL 2022.1の新機能

APL 2022.1の新機能

Alexa Presentation Language(APL)2022.1では、APLに新機能が追加されました。

Alexa Live 2022最新情報(2022年7月20日)

Alexa Live 2022で新たに公開された機能には、APLの新たなツールやドキュメント作成など、さまざまなものがあります。

マルチモーダル応答ビルダー

マルチモーダル応答ビルダーでは、APLの知識がない開発者でも、ガイダンスに従って視覚応答を作成できます。幅広いデバイスで見栄えよく表示されるようデザインされたテンプレートから選択し、テンプレート内に表示するコンテンツを指定して応答をカスタマイズできます。その後、開発者コンソールとデバイスの両方で、応答をプレビューできます。

応答のカスタマイズが完了したら、マルチモーダル応答ビルダーがコードサンプルを生成します。このサンプルをスキルのリクエストハンドラーにコピーして、応答を表示できます。

マルチモーダル応答ビルダーは、従来のAPLオーサリングツールに代わるものではありません。オーサリングツールは、カスタムドキュメントの作成に使用します。まず、マルチモーダル応答ビルダーを使ってドキュメントを作成し、複雑なカスタマイズが必要な場合に、フル機能を備えたオーサリングツールで編集することもできます。

詳しくは、マルチモーダル応答ビルダーを参照してください。

コードサンドボックス

コードサンドボックスでは、ライブのAPLプレビューペインとコードエディター内のAPLサンプルを並べて表示できます。プレビューペインに変更内容をレンダリングしながら、コードの変更を試すことができます。


ほとんどのインタラクティブ機能はサンドボックスでシミュレーションできます。たとえば、APLコマンドを実行するインタラクティブコンポーネントをテストできます。ただし、サンドボックスには、次のような制限事項があります。

  • サンドボックスは、Videoコンポーネントをサポートしません。
  • サンドボックスはスキルに接続できないため、SendEventコマンドのテストはできません。
  • サンドボックスは、textToHintトランスフォーマーやssmlToSpeechトランスフォーマーなど、APLトランスフォーマーのテストをサポートしません。
  • コードエディターでは変更内容が保存されません。ページを更新したり、Reset allボタンをクリックしたりすると、エディター内のコードが元の状態に戻ります。Reset allボタンは、APLドキュメントデータソースタブをリセットします。

コードサンドボックスに関するトピックについては、以下を参照してください。

新しいベストプラクティスガイド

新しいAPL Best Practices for Developersガイドでは、APLスキルの開発プロセスを合理化し、Alexaスキルにおけるインタラクティブな音声および視覚エクスペリエンスの品質を向上させる方法を紹介しています。このガイドでは、視覚デザインやユーザーエクスペリエンス(UX)というよりは、主に技術的な観点からAPL実装について説明しています。

こちらからAPL Best Practices for Developersを参照してください。

新しいアクセシビリティガイド

新しいAPLアクセシビリティガイドでは、制約や障がいを持つユーザーに向けてアクセシビリティを確保したAPL視覚要素を作成する方法を紹介しています。APLは、目の不自由なユーザー向けにスクリーンリーダーをサポートしています。このガイドでは、APLによるアクセシビリティサポートの詳細と、よりアクセシビリティに優れたエクスペリエンスを作成するためのベストプラクティスを紹介しています。

こちらからAPLアクセシビリティガイドを参照してください。

APL for Audioテンプレート

オーサリングツールで新しいAPL for Audioドキュメントを作成する際、あらかじめ用意されたテンプレートセットから選択して、よく使うタスクを実現することができます。

詳細については、APL for Audioテンプレートを参照してください。

APLバージョン

現在のAPLバージョン番号は、バージョン2022.1のまま、変更されません。

APL 2022.1リリース機能(2022年6月7日)

APLバージョン番号の形式変更

最新のAPLリリースから、APLバージョン番号に西暦形式(<YEAR>.<RELEASE>)を使うことになりました。このため、最新APLのバージョンは2022.1となります。APLドキュメントのversionプロパティを2022.1に設定し、ドキュメントの条件ステートメントで2022.1を使用します。

オーサリングツールの更新

Lottieコンバーターで、サポートされるLottie形式の機能が追加されました。

  • ベジェ補間
  • リニア補間
  • アルファマット/マスク
  • 空間補間法ベジェ
  • 線端
  • パスのトリミング(個別)
  • グラデーションの塗り
  • グラデーションのストローク

サポートされているLottie機能の詳細については、Lottieアニメーションのインポートを参照してください。

ランタイム中にビデオ音声をミュート/ミュート解除する

Videoコンポーネントに動的なmutedプロパティが追加されました。このプロパティをtrueに設定すると、ビデオのaudioTrackをミュートにできます。mutedは動的なプロパティのため、ランタイム中に音声のミュートとミュート解除を切り替えることができます。ランタイム中にこのプロパティを変更するには、SetValueコマンドを使用します。

この更新の一環として、Videoコンポーネントがイベントのソースまたはターゲットの場合、event.sourceイベント、event.targetイベントのいずれかにmutedプロパティが含まれ、ビデオの現在のミュート状態を報告できます。

APLのバージョンを指定する

APLドキュメントで、version"2022.1"に設定します。

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 2022.1に対応したデバイスからのリクエストを示しています。短くするために、sessionrequestviewportの各プロパティは省略しています。

{
  "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": "2022.1"
            }
          }
        }
      },
      "apiEndpoint": "https://api.amazonalexa.com",
      "apiAccessToken": "eyJ..."
    },
    "Viewport": {}
  },
  "request": {}
}

最終更新日:2022年7月20日