翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
プラットフォーム固有のペイロードを使用した Amazon SNS通知の発行
AWS Management Console または Amazon を使用してSNSAPIs、プラットフォーム固有のペイロードを含むカスタムメッセージをモバイルデバイスに送信できます。Amazon の使用の詳細についてはAPIs、「」のSNSモバイルプッシュAPIアクション「」および「」のSNSMobilePush.java
「」ファイルを参照してくださいsnsmobilepush.zip
。
トピック
JSON形式のメッセージの送信
プラットフォーム固有のペイロードを送信する場合、データはJSONキーと値のペア文字列としてフォーマットされ、引用符はエスケープされている必要があります。
次の例は、FCMプラットフォームのカスタムメッセージを示しています。
{ "GCM": "{\"fcmV1Message\": {\"message\": {\"notification\": {\"title\": \"Hello\", \"body\": \"This is a test.\"}, \"data\": {\"dataKey\": \"example\"}}}}" }
プラットフォーム固有のメッセージの送信
カスタムデータをキーと値のペアとして送信することに加えて、プラットフォーム固有のキーと値のペアを送信できます。
次の例は、 FCMパラメータにカスタムデータキーと値のペアのtime_to_live
collapse_key
後に FCMdata
パラメータを含める方法を示しています。
{ "GCM": "{\"fcmV1Message\": {\"message\": {\"notification\": {\"title\": \"TitleTest\", \"body\": \"Sample message for Android or iOS endpoints.\"}, \"data\":{\"time_to_live\": 3600,\"collapse_key\":\"deals\"}}}}" }
Amazon でサポートされている各プッシュ通知サービスでサポートされているキーと値のペアのリストについてはSNS、以下を参照してください。
重要
Amazon は、Android デバイスにモバイルプッシュ通知を送信APIするための Firebase Cloud Messaging (FCM) HTTP v1 をサポートするSNSようになりました。
2024 年 3 月 26 日 – Amazon は Apple デバイスと Webpush 送信先API用の FCM HTTP v1 SNSをサポートしています。アプリケーションの中断を避けるため、2024 年 6 月 1 日API以前に既存のモバイルプッシュアプリケーションを最新の FCM HTTP v1 に移行することをお勧めします。
-
APNs ドキュメントのペイロードキーリファレンス
-
FCM ドキュメントの「Firebase Cloud Messaging HTTP Protocol
」 -
ADM ドキュメント内のメッセージを送信
する
複数プラットフォーム上のアプリケーションへのメッセージ送信
FCM や など、複数のプラットフォームのデバイスにインストールされているアプリケーションにメッセージを送信するにはAPNs、まずモバイルエンドポイントを Amazon のトピックにサブスクライブSNSしてから、そのトピックにメッセージを公開する必要があります。
次の例は、APNs、、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は、 alert
または background
通知APNsとして にメッセージを送信できます (詳細については、APNsドキュメントの「アプリへのバックグラウンド更新のプッシュ
-
alert
APNs 通知は、アラートメッセージの表示、音声の再生、またはアプリケーションのアイコンへのバッジの追加によってユーザーに通知します。 -
background
APNs 通知は、ユーザーに通知することなく、通知の内容に基づいて行動するようにアプリケーションを起動または指示します。
APNs ヘッダーのカスタム値の指定
Amazon SNSPublish
APIアクション、または を使用して AWS SDKs、AWS.SNS.MOBILE.APNS.PUSH_TYPE
予約済みメッセージ属性のカスタム値を指定することをお勧めします AWS CLI。次のCLI例ではcontent-available
、指定されたトピックbackground
について を に1
、 を apns-push-type
に設定します。
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.PUSH_TYPE":{"DataType":"String","StringValue":"background"}, \ "AWS.SNS.MOBILE.APNS.PRIORITY":{"DataType":"String","StringValue":"5"}}' \ --message-structure json
注記
JSON 構造が有効であることを確認します。最後のキーと値のペアを除き、各キーと値のペアの後にカンマを追加します。
ペイロードからAPNsプッシュタイプヘッダーを推測する
apns-push-type
APNs ヘッダーを設定しない場合、Amazon は JSON形式のAPNsペイロード設定のaps
ディクショナリのcontent-available
キーbackground
に応じて、ヘッダーを alert
または SNSに設定します。
注記
Amazon SNSは alert
または background
ヘッダーのみを推測できますが、apns-push-type
ヘッダーは他の値に設定することができます。
-
apns-push-type
は、alert
に設定されます。-
aps
ディクショナリでcontent-available
が1
に設定されていて、ユーザーの操作をトリガーする 1 つ以上のキーが含まれている場合。 -
aps
ディクショナリでcontent-available
が0
に設定されているか、またはcontent-available
キーが存在しない場合。 -
content-available
キーの値が整数またはブール値でない場合。
-
-
apns-push-type
は、background
に設定されます。-
aps
ディクショナリに1
に設定されたcontent-available
のみが含まれ、ユーザーの操作をトリガーする他のキーが含まれていない場合。重要
Amazon がバックグラウンドのみの通知APNsとして の raw 設定オブジェクトSNSを送信する場合は、
aps
ディクショナリ1
にcontent-available
を に設定する必要があります。カスタムキーを含めることもできますが、ユーザー操作をトリガーするキー (アラート、バッジ、サウンドなど) をaps
ディクショナリに含めることはできません。
-
raw 設定オブジェクトの例を次に示します。
{ "APNS": "{\"aps\":{\"content-available\":1},\"Foo1\":\"Bar\",\"Foo2\":123}" }
この例では、Amazon はメッセージのapns-push-type
APNsヘッダーを SNSに設定しますbackground
。Amazon は、apn
ディクショナリに に設定されたcontent-available
キーが含まれ、ユーザーインタラクションをトリガーできる他のキーが含まれていないことSNSを検出する1
と、ヘッダーを に設定しますbackground
。