基本コマンドプロパティ

基本コマンドプロパティ

Alexa Presentation Language(APL)コマンドは、画面上のコンテンツの視覚表現や音声表現を変更できるメッセージです。

共通プロパティ

1つのコマンドはJSONオブジェクトとしてエンコードされます。すべてのコマンドには、以下のプロパティを含めることができます。

プロパティ デフォルト 説明

type

文字列

必須

コマンドの型です。

description

文字列

このコマンドのオプションのドキュメントです。

delay

整数

0

このコマンドが実行されるまでの遅延時間(ミリ秒単位)です。負以外の値にする必要があります。デフォルトは0です。

screenLock

ブール値

false

trueの場合、対話タイマーは無効になります。

sequencer

文字列

このコマンドを実行するシーケンサーを指定します。

when

ブール値

true

条件式です。式がfalseと評価された場合、コマンドをスキップします。デフォルトはtrueです。

type

特定のコマンドを実行するように指定します。事前定義されたプリミティブコマンドタイプまたはユーザー定義コマンドの名前を使用できます。

delay

delayの値は、このコマンドが実行される前に挿入されるミリ秒単位の時間です。delayの値は正の整数で、指定されてない場合のデフォルト値は0です。whenプロパティがfalseに解決された場合、またはコマンドがイベントハンドラー内部で実行された場合、delayの値は無視されます。

screenLock

trueの場合、このコマンドが実行されている間は操作タイマーが無効になります。screenLock=trueのコマンドの実行が終了すると、操作タイマーは0にリセットされます。

screenLockは、定義されたdelayを含むコマンドの範囲全体に適用されます。たとえば、次のコマンドは画面ロックを30秒間保持します。

{
  "type": "Idle",
  "delay": 30000,
  "screenLock": true,
}

sequencer

指定されている場合、このコマンドで使用するシーケンサーの名前を示します。コマンドのシーケンサーは、以下のルールによって決定されます。APLは最初に該当するルールを適用します。

  1. sequencerプロパティに値がある場合、そのコマンドは指定されたシーケンサー上で通常モードで実行されます。これは、通常は高速モードで実行されるイベントハンドラーからコマンドが開始された場合でも同様です。
  2. コマンドが高速モードハンドラーから開始された場合、通常どおり高速モードで実行されます。高速モードで実行されている場合、コマンドにシーケンサーはありません。

    どのハンドラーが高速モードまたは通常モードで実行されるかの詳細については、高速モードを参照してください。

  3. コマンドが別のコマンドのサブコマンドである場合、親コマンドで指定されたシーケンサー上で通常モードで実行されます。

    以下のコマンドはサブコマンドを持つことができます。

    • OpenURL
    • Parallel
    • Select
    • Sequential
  4. 最後に、上記のルールがいずれも適用されない場合は、「MAIN」シーケンサー上で通常モードでコマンドが実行されます。

コマンドシーケンサーの詳細については、コマンドシーケンスを参照してください。

when

whentrueに設定されると、コマンドが実行されます。falseの場合、コマンドは無視されます。無視されたコマンドもscreenLockプロパティを無視します。

再インフレート時の処理方針

Reinflateコマンドは、ドキュメントを再インフレートし、デフォルトでは実行中のコマンドをすべて停止します。このデフォルトを変更するには、コマンドにsequencerを定義し、そのsequencerReinflateコマンドのpreservedSequencersプロパティで保持します。

どのコマンドでも、保持されたsequencer上でコマンドが実行されているときにReinflateコマンドが実行されると、そのコマンドの残りのdelayが保存されます。

たとえば、Idleコマンドのdelayが2000ミリ秒に設定されていて、再インフレートが発生した時点で1000ミリ秒が経過していたとします。再インフレート後、Idleコマンドはdelayで指定された残りの1000ミリ秒間実行を続けます。

すべてのコマンドにdelayを含めることができます。AutoPageSpeakItemなど、一部のコマンドは実行に時間がかかります。これらのコマンドは、保持されたシーケンサーで実行された場合、再インフレート後に再開されます。再インフレート中にコマンドが保持された場合の動作については、そのコマンドの「再インフレート時の処理方針」のセクションを参照してください。


このページは役に立ちましたか?

最終更新日: 2025 年 11 月 25 日