動的パラメーターの例


動的パラメーターの例

動的パラメーターでは、カスタムトリガーや、トリガー定義ファイルにあらかじめ定義されていないパラメーターを使用できます。これらのパラメーターは、スキルがサポートするインターフェースを介して返されます。一般的な使用例の1つとして、動的パラメーターを使用してユーザー固有のオプションを表示できます。

以下に、動的パラメーターを使用して定型アクションスキルでトリガーを送信する例を示します。

バッテリー残量低下アラートのトリガー

次の例は、ラジオのバッテリー残量低下をカスタムトリガーとして設定する方法を示しています。この例では、架空のラジオ名をMyRadioPlayerとします。このトリガーでは、バッテリー残量が少なくなったときにトリガーインスタンスを公開するデバイスを指定する必要があるため、トリガーに動的パラメーターを使用する必要があります。

トリガー定義

次の例は、MyRadioPlayerBatteryLowのトリガー定義を示しています。

Routines.TriggerParameter.Getサービスプロバイダーインターフェース(SPI)ハンドラー

Routines.Trigger.CreateリクエストとRoutines.Trigger.Deleteリクエストを処理するためのUNICASTスキルのスキルマニフェスト内のエンドポイントでも、Routines.TriggerParameter.Getリクエストを処理できる必要があります。

このトリガーでは、カスタムトリガープラットフォームが次のリクエストを送信して、MyRadioPlayerデバイスIDに指定できる値を取得します。

これに対し、次の応答を送信します。

Routines.Trigger.Create SPIコールバック

ユーザーが動的パラメーターを使用するカスタムトリガーを含む定型アクションを保存すると、SPIコールバックのパラメーターにそれらの動的値が代入されます。以下に例を示します。

トリガーインスタンスの公開

ユーザーが定型アクションを保存したら、 Routines.Trigger.Create SPIコールバックの内容と同じパラメーター値を含むトリガーインスタンスを送信します。次の例は、Routines.Trigger.Create SPIコールバックの内容と同じ値を含むインスタンスを示しています。

メンテナンスリマインダーのトリガー

次の例は、メンテナンスリマインダーをカスタムトリガーとして設定する方法を示しています。このトリガーでは、トリガーインスタンスを公開するデバイスを指定する必要があり、メンテナンスタイプを指定する2番目のパラメーターがデバイスに依存するため、トリガーに動的パラメーターを使用する必要があります。

トリガー定義

次の例は、MyRadioPlayerMaintenanceReminderのトリガー定義を示しています。

Routines.TriggerParameter.Get SPIハンドラー

Routines.Trigger.CreateリクエストとRoutines.Trigger.Deleteリクエストを処理するためのUNICASTスキルのスキルマニフェスト内のエンドポイントでも、Routines.TriggerParameter.Getリクエストを処理できる必要があります。

このトリガーにより、カスタムトリガープラットフォームから2つのリクエストが送信されます。1つはデバイスに使用可能なDeviceIdを取得するためのリクエストで、もう1つはユーザーが選択したデバイスのメンテナンスリマインダーオプションを取得するためのリクエストです。

1. 次の例は、MyRadioPlayerDeviceIdに指定できる値を取得するリクエストを示しています。

これに対し、次の応答を送信します。

2. 次の例は、ユーザーが選択したamzn1.alexa.endpoint.uniqueMyRadioPlayerId2の値に基づいて、maintenanceReminderTypeに指定できる値を取得するリクエストを示しています。

これに対し、次の応答を送信します。

充電ステータス変更アラートのトリガー

次の例は、充電ステータスの変更をカスタムトリガーとして設定する方法を示しています。このトリガーでは、トリガーインスタンスを公開するデバイスを指定する必要があるため、トリガーに動的パラメーターを使用する必要があります。2番目のパラメーターchargingStatusは、利用可能な充電ステータスを示す静的な列挙型パラメーターです。

トリガー定義

次の例は、 MyRadioPlayerChargingStatusChangedのトリガー定義を示しています。

Routines.TriggerParameter.Get SPIハンドラー

Routines.Trigger.CreateリクエストとRoutines.Trigger.Deleteリクエストを処理するためのUNICASTスキルのスキルマニフェスト内のエンドポイントでも、Routines.TriggerParameter.Getリクエストを処理できる必要があります。

このトリガーでは、カスタムトリガープラットフォームが次のリクエストを送信して、MyRadioPlayerDeviceIdに指定できる値を取得します。chargingStatusフィールドは静的な列挙型であり、指定できる値は同じなので、リクエストは不要です。

これに対し、次の応答を送信します。

天気メッセージを送信するトリガー

次の例は、天気メッセージを送信するメカニズムの設定方法を示しています。メッセージの特定の条件に従ってトリガーを設定できますが、すべてのユーザーがすべての条件を利用できるわけではありません。一部の条件は、プレミアムサブスクリプションのユーザーのみが利用できます。このトリガーではユーザーのサブスクリプションに基づいて利用可能なオプションを動的に制限する必要があるため、動的パラメーターを使用する必要があります。

トリガー定義

次の例は、MyWeatherMessagePostedのトリガー定義を示しています。

Routines.TriggerParameter.Get SPIハンドラー

Routines.Trigger.CreateリクエストとRoutines.Trigger.Deleteリクエストを処理するためのUNICASTスキルのスキルマニフェスト内のエンドポイントでも、Routines.TriggerParameter.Getリクエストを処理できる必要があります。

このトリガーでは、カスタムトリガープラットフォームが次のリクエストを送信して、MyWeatherサブスクリプションを利用しているかどうかに基づいてユーザーがアクセスできる値を取得します。

MyWeatherのプレミアムサブスクリプションを利用しているユーザーに次の応答を送信します。

MyWeatherのサブスクリプションを利用していないユーザーには、次の応答を送信します。


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

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