モバイルアプリケーションの Amazon SNS アプリケーションイベント通知
Amazon SNS は、特定のアプリケーションイベントが発生する際のトリガー通知をサポートします。その場合、そのイベントでプログラムによるいくつかのアクションを実行することができます。アプリケーションには、Apple Push Notification Service (APN)、Firebase Cloud Messaging (FCM)、Windows Push Notification Service (WNS) などのプッシュ通知サービスのサポートが含まれている必要があります。アプリケーションイベント通知は、Amazon SNS コンソール、AWS CLI、または AWS SDK を使用して設定します。
使用可能なアプリケーションイベント
アプリケーションイベント通知は、個々のプラットフォームエンドポイントがいつ作成、削除、更新、配信エラーとなったかを追跡します。アプリケーションイベントの属性名は次のとおりです。
属性名 | 通知トリガー |
---|---|
EventEndpointCreated |
新しいエンドポイントがアプリケーションに追加されます。 |
EventEndpointDeleted |
アプリケーションに関連付けられたすべてのプラットフォームエンドポイントが削除されます。 |
EventEndpointUpdated |
アプリケーションに関連付けられたプラットフォームエンドポイントのすべての属性が変更されます。 |
EventDeliveryFailure |
アプリケーションに関連付けられた任意のプラットフォームエンドポイントへの配信は、永続的にエラーとなります。注記プラットフォームアプリケーション側で配信エラーを追跡するには、アプリケーションのメッセージ配信ステータスイベントにサブスクライブします。詳細については、「メッセージの配信ステータスの Amazon SNS アプリケーション属性を使用する」を参照してください。 |
アプリケーションには任意の属性を関連付けることができ、これでそのイベント通知を受け取れるようになります。
モバイルプッシュ通知を送信する
アプリケーションイベント通知を送信するには、各タイプのイベントの通知を受信できるよう、トピックを指定します。Amazon SNS が通知を送信する場合、トピックは、プログラムによるアクションを取るエンドポイントにそれらをルーティングすることができます。
重要
大容量アプリケーションは多数のアプリケーションイベント通知 (例えば、数万回) を作成するので、E メールアドレス、電話番号、モバイルアプリケーションなど、人間が使用するためのエンドポイントに負荷をかけます。アプリケーションイベント通知をトピックに送信する場合は、以下のガイドラインを検討してください。
-
通知を受信する各トピックは、HTTP または HTTPS エンドポイント、Amazon SQS キュー、AWS Lambda 関数などのプログラムによるエンドポイントのサブスクリプションのみが含まれます。
-
通知によってトリガーされる処理量を減らすために、各トピックのサブスクリプションを少数 (例えば、5 以下) に制限します。
Amazon SNS コンソール、AWS Command Line Interface (AWS CLI)、または AWS SDK を使用して、アプリケーションイベント通知を送信できます。
AWS Management Console
Amazon SNS コンソール
にサインインします。 -
ナビゲーションパネルで [モバイル]、[プッシュ通知] を選択します。
-
[モバイルプッシュ通知] ページの [プラットフォームアプリケーション] セクションでアプリケーションを選択したら、[編集] を選択します。
-
[イベント通知] セクションを展開します。
-
[アクション]、[イベントの設定] を選択します。
-
次のイベントで使用される ARN を入力します。
-
作成されたエンドポイント
-
削除されたエンドポイント
-
更新されたエンドポイント
-
配信失敗
-
-
[Save changes] (変更の保存) をクリックします。
AWS CLI
set-platform-application-attributes コマンドを実行します。
次の例では、4 つのアプリケーションすべてに対して同じ Amazon SNS トピックを設定します。
aws sns set-platform-application-attributes --platform-application-arn arn:aws:sns:us-east-1:12345EXAMPLE:app/FCM/MyFCMPlatformApplication --attributes EventEndpointCreated="arn:aws:sns:us-east-1:12345EXAMPLE:MyFCMPlatformApplicationEvents", EventEndpointDeleted="arn:aws:sns:us-east-1:12345EXAMPLE:MyFCMPlatformApplicationEvents", EventEndpointUpdated="arn:aws:sns:us-east-1:12345EXAMPLE:MyFCMPlatformApplicationEvents", EventDeliveryFailure="arn:aws:sns:us-east-1:12345EXAMPLE:MyFCMPlatformApplicationEvents"
AWS SDK
アプリケーションイベント通知を設定するには、AWS SDK を使用して、Amazon SNS API で SetPlatformApplicationAttributes
リクエストを送信します。
AWS SDK デベロッパーガイドとコード例の詳細なリストについては (開始時のヘルプ、以前のバージョンに関する情報など)、「AWS SDK での Amazon SNS の使用」を参照してください。