Amazon Simple Notification Service
開発者ガイド

アプリケーションイベント通知

Amazon SNS は、特定のアプリケーションイベントが発生する際のトリガー通知をサポートします。その場合、そのイベントでプログラムによるいくつかのアクションを実行することができます。アプリケーションには、Apple Push Notification Service (APNS)、Firebase クラウドメッセージング (FCM)、Windows プッシュ通知サービス (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 マネジメントコンソール

  1. Amazon SNS コンソールにサインインします。

  2. ナビゲーションパネルで [Mobile (モバイル)]、[Push notifications (プッシュ通知)] を選択します。

  3. [Mobile push notifications (モバイルプッシュ通知)] ページの [Platform applications (プラットフォームアプリケーション)] セクションでアプリケーションを選択したら、[Edit (編集)] を選択します。

  4. [Event notifications (イベント通知)] セクションを展開します。

  5. [アクション]、[イベントの設定] を選択します。

  6. つぎのイベントで使用される ARN を入力します。

    • 作成されたエンドポイント

    • 削除されたエンドポイント

    • 更新されたエンドポイント

    • 配信失敗

  7. [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

ターゲットのプログラミング言語またはプラットフォームに応じて、次のいずれかの API を呼び出します。