Amazon Pinpoint のジャーニーで Advance Quiet Time が設定出来るようになっていました

2022.08.10

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

いわさです。

先日 Amazon Pinpoint のジャーニーをパブリッシュした際の、クワイエットタイム設定について少し検証しました。

上記記事の発端なのですが、最近どうやらアップデートによってクワイエットタイムの Advance オプションが追加されたようなのです。
AWS API Changes では2022-08-08の更新となっています。

本日はこちらを検証してみました。

仕様の整理

ジャーニーのページにこの機能について言及されています。

Configure sending time to define each day of a week

まず、前回評価したクワイエットタイムは細かいタイムスケジュール(曜日や複数の時間枠など)を設定することは出来ませんでした。
Advance オプションでは曜日やチャネルごとに複数の時間枠を設定することが出来ます。
この時間枠は、「配信可能な時間帯」を設定します。配信しない時間帯ではないです。

時間枠は 1 つの曜日につき 4 件まで設定出来ますが、チャネル別の上限になっていますのでそれぞれ 4 件づつ枠を設定出来ることが出来ます。
また、いくつか上限というか入力制限があります。
送信可能時間枠は共通のクワイエットタイムと重ならないようにしたり、開始時間と終了時間が前後しないこと、あるいは複数の時間枠で重複がないことなどを満たす必要があります。

また、1 日の最後の時間枠は 23:30 となっています。
開始時間と終了時間を前後出来ないので 23:30 ~ 0:00 という設定は許容されていません。

23:30 ~ 24:00 が送信出来ないことになりますね...仕様の解釈間違っていなければこれは修正されそうな気がします。

例外の設定

さらに、送信可能な時間枠に対して、例外の時間枠を最大 20 件登録することが出来ます。
これは曜日などの繰り返しではなく年月日を指定した上で時間枠を設定します。こちらは日を跨ぐことが出来ます。

注意点として、過去日付を設定することは出来ません。

試してみた

さて、基本のクワイエットタイムがあって、さらに Advance クワイエットタイムがあり、さらにその中に例外時間枠設定があります。
だいぶ混乱しますよね。

ここでいくつかの組み合わせで実際に検証を行ってみましたので検証結果をご紹介します。
ただ、例外時間枠設定については思ってたのとちょっと挙動が違ったので少し使い方が違っているのかもしれません。
例外時間枠にフォーカスして掘り下げた調査結果をまた案内したいと思いますので、本日は例外時間枠については参考程度として頂ければと思います。

送信可能時間枠についてはドキュメントどおりの想定した動作となっていました。

# クワイエットタイム(JST) 送信可能時間枠 例外設定
A 14:00 ~ 14:30 00:00 ~ 14:00, 14:30 ~ 23:30 なし
B 00:00 ~ 00:30 14:00 ~ 14:30 なし
C 00:00 ~ 00:30 14:30 ~ 15:00 なし
D 14:00 ~ 15:00 00:00 ~ 14:00, 15:00 ~ 23:30 14:30 ~ 15:00
E 14:00 ~ 14:30 00:00 ~ 14:00, 14:30 ~ 23:30 14:30 ~ 15:00
F 00:00 ~ 00:30 14:00 ~ 15:00 14:30 ~ 15:00
G 00:00 ~ 00:30 14:30 ~ 16:00 14:30 ~ 15:00

上記のジャーニースケジュール設定を行って、14:15 に送信操作を行ってみました。

A.クワイエットタイムの直後に送信可能時間枠がある

前回の記事で、クワイエットタイム終了後に送信可能になってから 10 分後くらいに実際にメッセージが送信されていたことを紹介しました。
ここでは 14:15 にジャーニーを実行しますが、14:00 ~ 14:30 はクワイエットタイムなので送信されません。
そして、送信候補の 14:40 は送信可能時間枠なので、送信されそうですね。

14:40 にメッセージ送信されていました。
期待どおりの動作です。

B.ジャーニー発行タイミングがクワイエットタイム外かつ送信可能時間枠内

適当なクワイエットタイム(00:00 ~ 00:30)を設定した上で、送信可能時間枠(14:00 ~ 14:30)内にジャーニー発行を行います。
これは、すぐに送信されそうですね。

ジャーニー開始の 5 分後にすぐメッセージが発行されていました。
期待どおりの動作です。

C.クワイエットタイム外だが送信可能時間はもう少し先

先程と同じようにベースのクワイエットタイムは適当なものにしておいて、30分後に送信可能時間枠(14:30 ~ 15:00)が控えている場合、どうなるでしょうか。
クワイエットタイム外かつ送信可能時間枠外です。

クワイエットタイム外なので先程と同様に即送信されるでしょうか、それとも送信可能時間に入ってから送信されるでしょうか。

送信可能時間枠に入ってから 10 分後に送信されました。
この動作から送信可能時間枠以外はつまり、クワイエットタイムと解釈して良さそうですね。

D.クワイエットタイム内に「例外」時間が重なっているとき

ここからは例外を含めた検証です。
前述のとおり挙動が少し怪しいので、あくまでも本日時点の挙動として参考程度に留めて頂ければと存じます。

クワイエットタイム(14:00 ~ 15:00)に対して、例外(14:30 ~ 15:00)が重なっています。
そしてその後送信可能時間枠(15:00 ~ )が設定されています。

こちらは読めないですね。
例外は送信可能時間枠を上書きするという記述があったので、15:10 に送信されそうですが果たして。

結果は送信されませんでした。
送信可能時間枠自体が潰された形なのかとも思ったのですが、F の動作を見る限りは上書きってわけでもないみたいです。

E.クワイエットタイム外で例外と送信可能時間枠が重なっている場合

さて、次に例外と送信可能時間枠が重なっている場合はどうなるでしょうか。

この場合も送信されませんでした。
送信可能時間枠が 15:00 ~ 23:30 で上書きされるのかと思いきや送信されない形でした。

F.例外と送信可能時間枠が重なっているが、送信可能時間枠が先にくる

複雑すぎて嫌になってきましたが、もう少しだけ...
先程と同じように重なっているのですが、送信可能時間枠が先に来ているパターンです。

なんとこちらは送信されました。
必ずしも例外設定で無効になるわけではなくて、先に来ている場合は例外よりも先に評価されているような印象です。

G.クワイエットタイム外で、例外が終わってから送信可能時間

これも先程とちょっと似ているのですが、例外が終わったあとに余裕を以て送信可能時間枠を長めにとって見ました。

この場合送信されませんでした。

さいごに

本日は、Amazon Pinpoint のジャーニーで Advance Quiet Time が設定出来るようになっていたので試してみました。

Advance Quiet Time は概ね期待した動作をしていました。

一方で、例外設定がかなり難しいです。
ドキュメントに明記がないですがおそらく早いほうが先に評価されて、例外が先に評価された場合はその日の送信可能時間枠は無視されるような感じですかね。例外はドキュメントに明記がない上に検証データもまだ足りてない気がするのでもう少しデータを用意してフォーカスした記事を紹介したいと思います。