プラットフォーム固有のペイロードを使用したパブリッシュ - Amazon Simple Notification Service

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

プラットフォーム固有のペイロードを使用したパブリッシュ

「」AWS Management Consoleまたは Amazon SNS API を使用して、プラットフォーム固有のペイロードとともにカスタムメッセージをモバイルデバイスに送信します。Amazon SNS API の使用については、「」を参照してください。モバイルプッシュAPIアクションSNSMobilePush.javaファイルのsnsmobilepush.zip

JSON 形式のメッセージの送信

プラットフォーム固有のペイロードを送信する場合、データは引用符をエスケープした、JSON 形式のキーと値のペア文字列である必要があります。

以下の例は、FCM プラットフォーム用のカスタムメッセージを示しています。

{ "GCM":"{ \"notification\": { \"body\": \"Sample message for Android endpoints\", \"title\":\"TitleTest\" } }" }

プラットフォーム固有のメッセージの送信

カスタムデータをキーと値のペアとして送信することに加えて、プラットフォーム固有のキーと値のペアを送信できます。

以下の例は、FCM パラメータtime_to_liveおよびcollapse_keyFCM に、カスタムデータのキーと値のペアの後にdataパラメータ。

{ "GCM":"{ \"notification\": { \"body\": \"Sample message for Android endpoints\", \"title\":\"TitleTest\" }, \"data\": {\"time_to_live\": 3600,\"collapse_key\":\"deals\"}" } }

Amazon SNS でサポートされている各プッシュ通知サービスでサポートされているキーと値のペアのリストについては、以下を参照してください。

複数プラットフォーム上のアプリケーションへのメッセージ送信

FCM や APN など、複数プラットフォーム向けのデバイスにインストールされたアプリケーションにメッセージを送信するには、Amazon SNS のトピックにモバイルエンドポイントを受信登録してから、トピックにメッセージを発行します。

次の例は、APN、FCM、および ADM で受信登録したモバイルエンドポイントに送信するメッセージを示しています。

{ "default": "This is the default message which must be present when publishing a message to a topic. The default message will only be used if a message is not present for one of the notification platforms.", "APNS": "{\"aps\":{\"alert\": \"Check out these awesome deals!\",\"url\":\"www.amazon.com\"} }", "GCM": "{\"data\":{\"message\":\"Check out these awesome deals!\",\"url\":\"www.amazon.com\"}}", "ADM": "{\"data\":{\"message\":\"Check out these awesome deals!\",\"url\":\"www.amazon.com\"}}" }

アラートまたはバックグラウンド通知として APNs にメッセージを送信する

Amazon SNS は APN にメッセージをalertまたはbackground通知 (詳細については、」バックグラウンドアップデートをアプリにプッシュするAPNs のドキュメントで).

  • アンalertAPNs 通知では、ユーザーに通知する方法として、アラートメッセージを表示するか、サウンドを再生するか、アプリケーションのアイコンにバッジを追加します。

  • AbackgroundAPNs Notification は、ユーザーに通知することなく、ウェイクアップするか、通知の内容に基づいて動作するようにアプリケーションに指示します。

カスタム APNs ヘッダー値の指定

カスタム値を指定することをお勧めします、AWS.SNS.MOBILE.APNS.PUSH_TYPE 予約済みメッセージ属性Amazon SNS の使用PublishAPI アクションAWSSDK、またはAWS CLI。次の CLI の例では、指定したトピックの content-available1 に設定し、apns-push-typebackground に設定します。

aws sns publish \ --endpoint-url https://sns.us-east-1.amazonaws.com \ --target-arn arn:aws:sns:us-east-1:123456789012:endpoint/APNS_PLATFORM/MYAPP/1234a567-bc89-012d-3e45-6fg7h890123i \ --message '{"APNS_PLATFORM":"{\"aps\":{\"content-available\":1}}"}' \ --message-attributes '{ \ "AWS.SNS.MOBILE.APNS.TOPIC":{"DataType":"String","StringValue":"com.amazon.mobile.messaging.myapp"}, \ "AWS.SNS.MOBILE.APNS.PRIORITY":{"DataType":"String","StringValue":"10"}}', \ "AWS.SNS.MOBILE.APNS.PUSH_TYPE":{"DataType":"String","StringValue":"background"} \ --message-structure json

ペイロードからの APNs プッシュタイプヘッダーの推論値

設定しない場合apns-push-typeAPNs ヘッダー、Amazon SNS はヘッダーをalertまたはbackgroundに応じて、content-availableキーをapsJSON 形式の APN ペイロード設定の辞書。

注記

Amazon SNS は推論のみ可能ですalertまたはbackgroundヘッダーを使用しますが、apns-push-typeヘッダーを他の値に設定できます。

  • apns-push-type は、alert に設定されます。

    • aps ディクショナリで content-available1 に設定されていて、ユーザーの操作をトリガーする 1 つ以上のキーが含まれている場合。

    • aps ディクショナリで content-available0 に設定されているか、または content-available キーが存在しない場合。

    • content-available キーの値が整数またはブール値でない場合。

  • apns-push-type は、background に設定されます。

    • そのファイルにaps辞書のみcontainscontent-availableは、に設定されます。1およびその他のキーはありませんユーザーとのやりとりをトリガーします。

      重要

      Amazon SNS が APN の raw 設定オブジェクトをバックグラウンドのみの通知として送信する場合は、content-availableは、に設定されます。1()apsdictionary カスタムキーを含めることもできますが、ユーザー操作をトリガーするキー (アラート、バッジ、サウンドなど) を aps ディクショナリに含めることはできません。

raw 設定オブジェクトの例を次に示します。

{ "APNS": "{\"aps\":{\"content-available\":1},\"Foo1\":\"\Bar\",\"Foo2\":123}" }

この例では、Amazon SNS はapns-push-typeへのメッセージの APNs ヘッダーbackground。Amazon SNS が検出すると、apnディクショナリcontent-availableキーは、に設定されます。1に設定され、ユーザーの対話を引き起こす他のキーは含まれていません。ヘッダーをbackground