?
サポート

Alerts の概要

Alertsインターフェース

Alertsインターフェースは、タイマー、アラーム、リマインダーのセット、管理、キャンセルを行うのに使用するディレクティブとイベントを提供します。クライアントには、インターネット接続が失われた場合または製品に内蔵された時計がNTPと同期されない場合のために、タイマー、アラーム、リマインダーの管理に必要なロジックを実装する必要があります。実装に関するその他の詳細は、Alertsの概要および対話モデルを参照してください。

状態ダイアグラム

以下のダイアグラムは、Alertsコンポーネントによって制御される状態の変化を表しています。ボックスはAlertsの状態、コネクターは遷移を示します。

Alertsでは、以下の状態がサポートされます。

IDLE:以前にセットされたアラートが鳴動するまで、Alertsコンポーネントはidle状態である必要があります。また、アラートが停止/終了した際にも、idle状態に戻る必要があります。これは、ユーザー音声、物理ボタンの押下、GUIアフォーダンスの結果として発生する可能性があります。

FOREGROUND ALERT: クライアント上のアラートがすでにセットされているとした場合、Alertsは、アラートが開始され、AlertStartedイベントがAVSに送信されたら、idle状態からalert foreground状態に遷移する必要があります。

これは、Alertsチャネルがフォアグラウンドの場合、つまりDialogチャネルが非アクティブの場合にのみ該当します。チャネルおよびチャネルの優先順位付けの詳細については、対話モデルを参照してください。

アラートが音声、ボタン押下、GUIアフォーダンスにより停止されたら、Alertsコンポーネントはalert foreground状態からidle状態に遷移する必要があります。

アラートの鳴動中にDialogチャネルがアクティブになると、Dialogチャネルがアクティブな間、Alertsコンポーネントはforeground alert状態からbackground alert状態に遷移する必要があります。Dialogチャネルが非アクティブになったら、アラートが停止/終了するまでforeground alert状態に戻る必要があります。

BACKGROUND ALERT: Alertsコンポーネントがbackground alert状態になるのは、Dialogチャネルがアクティブになったときのみです。チャネルおよびチャネルの優先順位付けの詳細については、対話モデルを参照してください。

Alertsの状態ダイアグラム
クリックして拡大

SetAlertディレクティブ

このディレクティブはクライアントに、特定の時間または時刻のタイマー、アラーム、リマインダーをセットするよう指示します。クライアントは、アラートをセットする音声リクエストの結果として、またはAmazon Alexaアプリを使用して以前にセットされていたアラートが再度有効化されたときに、SetAlertディレクティブを受信することがあります。

サンプルメッセージ

{
    "directive": {
        "header": {
            "namespace": "Alerts",
            "name": "SetAlert",
            "messageId": "{{STRING}}",
            "dialogRequestId": "{{STRING}}"
        },
        "payload": {
            "token": "{{STRING}}",
            "type": "{{STRING}}",
            "scheduledTime": "{{STRING}}",
            "assets": [
                {
                    "assetId": "{{STRING}}",
                    "url": "{{STRING}}"
                },
                {
                    "assetId": "{{STRING}}",
                    "url": "{{STRING}}"
                },
            ],
            "assetPlayOrder": [ {{LIST}} ],
            "backgroundAlertAsset": "{{STRING}}",
            "loopCount": {{LONG}},
            "loopPauseInMilliseconds": {{LONG}}
        }
    }
}

ヘッダーのパラメーター

パラメーター 説明
messageId 特定のメッセージを表すのに使用される一意のID。 string
dialogRequestId 特定のRecognizeイベントの応答として送信されるディレクティブとの関連付けに使用される一意のID。 string

ペイロードのパラメーター

パラメーター 説明
token アラートを一意に識別する参照トークン。 string
type アラートの種類を示します。認識されない値がクライアントに送信された場合、デフォルトのALARMに設定する必要があります。
有効な値は以下のとおりです。TIMERALARMREMINDERです。
string
scheduledTime ISO 8601形式のアラートの設定時刻。 string
assets ユーザーに再生するオーディオアセットを含むリスト。 list
assets[i].assetId オーディオアセットの一意の識別子。 string
assets[i].url クラウド内のアセットの場所を識別します。アセットはクライアントによってダウンロードされキャッシュされることがあります。提供されるURLは、scheduledTimeの後60分間有効です。 string
assetPlayOrder オーディオアセットを再生する必要のある順序。assetIdで構成されるリスト。

: i)assetIdがリスト内に複数回出現する場合があります。この場合、すべてのassetIdを再生する必要があります。ii) クライアントがアセットのダウンロードとキャッシュに失敗した場合、デバイスはAmazonにより提供されるオーディオファイルを使用する必要があります。
list
backgroundAlertAsset 存在する場合、backgroundAlertAssetの値はassetsリストのassetIdと一致します。ペイロードにbackgroundAlertAssetが含まれない場合は、デフォルトでAVS用のAlexaサウンドライブラリにあるAmazon提供のサウンドが使用されます。開発者コンソール「Alexa Voice Service」>「Resources」セクションからダウンロード可能です。 string
loopCount アセットの各シーケンスを再生する必要のある回数。例: 値が2の場合、クライアントはassetPlayOrderを通しで2回ループする必要があります。

: ペイロードにloopCountがない場合、assetsを1時間、またはアラートがユーザーによって停止されるまでの間、ループする必要があります。
long
loopPauseInMilliseconds 各アセットループ間の一時停止時間。例: loopPauseInMilliseconds300で、loopCount3の場合、クライアントは各アセットループ間に300ミリ秒一時停止する必要があります。

: この値が指定されない場合、または0に設定されている場合、アセットループ間に一時停止してはなりません。
long

SetAlertSucceededイベント

クライアントがアラートを正常にセットし、SetAlertディレクティブを受信した後、SetAlertSucceededイベントをAVSに送信する必要があります。

サンプルメッセージ

{
    "event": {
        "header": {
            "namespace": "Alerts",
            "name": "SetAlertSucceeded",
            "messageId": "{{STRING}}"
        },
        "payload": {
            "token": "{{STRING}}"
        }
    }
}

ヘッダーのパラメーター

パラメーター 説明
messageId 特定のメッセージを表すのに使用される一意のID。 string

ペイロードのパラメーター

パラメーター 説明
token SetAlertディレクティブで提供される参照トークン。 string

SetAlertFailedイベント

クライアントがアラートのセットに失敗した場合は、SetAlertディレクティブを受信した後、SetAlertFailedイベントをAVSに送信する必要があります。

サンプルメッセージ

{
    "event": {
        "header": {
            "namespace": "Alerts",
            "name": "SetAlertFailed",
            "messageId": "{{STRING}}"
        },
        "payload": {
            "token": "{{STRING}}"
        }
    }
}

ヘッダーのパラメーター

パラメーター 説明
messageId 特定のメッセージを表すのに使用される一意のID。 string

ペイロードのパラメーター

パラメーター 説明
token SetAlertディレクティブで提供される参照トークン。 string

DeleteAlertディレクティブ

このディレクティブは、既存のアラートを削除するようAVSからクライアントに送信されます。クライアントは、タイマー、アラーム、またはリマインダーをキャンセル/削除する音声リクエストの結果として、またはAmazon Alexaアプリを使用して以前にセットされていたアラートが削除されたときに、DeleteAlertディレクティブを受信することがあります。

サンプルメッセージ

{
    "directive": {
        "header": {
            "namespace": "Alerts",
            "name": "DeleteAlert",
            "messageId": "{{STRING}}",
            "dialogRequestId": "{{STRING}}"
        },
        "payload": {
            "token": "{{STRING}}"
        }
    }
}

ヘッダーのパラメーター

パラメーター 説明
messageId 特定のメッセージを表すのに使用される一意のID。 string
dialogRequestId 特定のRecognizeイベントの応答として送信されるディレクティブとの関連付けに使用される一意のID。 string

ペイロードのパラメーター

パラメーター 説明
token アラートを一意に識別する参照トークン。 string

DeleteAlertSucceededイベント

クライアントが既存のアラートを正常に削除またはキャンセルすると、DeleteAlertディレクティブを受信した後、DeleteAlertSucceededイベントをAVSに送信する必要があります。

サンプルメッセージ

{
    "event": {
        "header": {
            "namespace": "Alerts",
            "name": "DeleteAlertSucceeded",
            "messageId": "{{STRING}}"
        },
        "payload": {
            "token": "{{STRING}}"
        }
    }
}

ヘッダーのパラメーター

パラメーター 説明
messageId 特定のメッセージを表すのに使用される一意のID。 string

ペイロードのパラメーター

パラメーター 説明
token DeleteAlertディレクティブで提供される参照トークン。 string

DeleteAlertFailedイベント

クライアントが既存のアラートの削除またはキャンセルに失敗した場合、DeleteAlertディレクティブを受信した後、DeleteAlertFailedイベントをAVSに送信する必要があります。

サンプルメッセージ

{
    "event": {
        "header": {
            "namespace": "Alerts",
            "name": "DeleteAlertFailed",
            "messageId": "{{STRING}}"
        },
        "payload": {
            "token": "{{STRING}}"
        }
    }
}

ヘッダーのパラメーター

パラメーター 説明
messageId 特定のメッセージを表すのに使用される一意のID。 string

ペイロードのパラメーター

パラメーター 説明
token DeleteAlertディレクティブで提供される参照トークン。 string

AlertStartedイベント

アラートが設定された時刻にトリガーされると、AlertStartedイベントをAVSに対して送信する必要があります。

サンプルメッセージ

{
    "event": {
        "header": {
            "namespace": "Alerts",
            "name": "AlertStarted",
            "messageId": "{{STRING}}"
        },
        "payload": {
            "token": "{{STRING}}"
        }
    }
}

ヘッダーのパラメーター

パラメーター 説明
messageId 特定のメッセージを表すのに使用される一意のID。 string

ペイロードのパラメーター

パラメーター 説明
token SetAlertディレクティブで提供される参照トークン。 string

AlertStoppedイベント

AlertStoppedイベントは、アクティブなアラートが停止した場合にAVSに送信される必要があります。アラートは、以下のいずれかの方法で停止する可能性があります。

  1. DeleteAlertディレクティブを受信した場合。AlertStoppedイベントの送信後、クライアントは、DeleteAlertSucceededイベント、DeleteAlertFailedイベントのどちらでアラートが正常に削除されたかどうかをAVSに知らせる必要があります。この対話については、Alertsの概要で説明されています。
  2. 物理コントロール(ハードウェアボタンまたはGUI)。
{
    "event": {
        "header": {
            "namespace": "Alerts",
            "name": "AlertStopped",
            "messageId": "{STRING}"
        },
        "payload": {
            "token": "{{STRING}}"
        }
    }
}

ヘッダーのパラメーター

パラメーター 説明
messageId 特定のメッセージを表すのに使用される一意のID。 string

ペイロードのパラメーター

パラメーター 説明
token SetAlertディレクティブで提供される参照トークン。 string

AlertEnteredForegroundイベント

AlertEnteredForegroundイベントは、アラートがフォアグラウンドになったとき(フル音量で再生)、または同時に発生したDialogチャネル上の対話が完了したときに、クライアントからAVSに送信される必要があります。チャネルでの対話についての具体的な詳細は、対話モデルを参照してください。

サンプルメッセージ

{
    "event": {
        "header": {
            "namespace": "Alerts",
            "name": "AlertEnteredForeground",
            "messageId": "{{STRING}}"
        },
        "payload": {
            "token": "{{STRING}}"
        }
    }
}

ヘッダーのパラメーター

パラメーター 説明
messageId 特定のメッセージを表すのに使用される一意のID。 string

ペイロードのパラメーター

パラメーター 説明
token SetAlertディレクティブで提供される参照トークン。 string

AlertEnteredBackgroundイベント

AlertEnteredBackgroundイベントは、Dialogチャネル上で同時に対話が行われている間にアラートがフォアグラウンドではなくなったとき(音量が下がる、または一時停止する)に、クライアントからAVSに送信される必要があります。チャネルでの対話についての具体的な詳細は、対話モデルを参照してください。

サンプルメッセージ

{
    "event": {
        "header": {
            "namespace": "Alerts",
            "name": "AlertEnteredBackground",
            "messageId": "{{STRING}}"
        },
        "payload": {
            "token": "{{STRING}}"
        }
    }
}

ヘッダーのパラメーター

パラメーター 説明
messageId 特定のメッセージを表すのに使用される一意のID。 string

ペイロードのパラメーター

パラメーター 説明
token SetAlertディレクティブで提供される参照トークン。 string

その他のインターフェース

このドキュメントの最初に戻り、サイドバーから、その他のインターフェースを参照してください。

リソース