플랫폼별 페이로드를 사용하여 Amazon SNS 알림 게시
AWS Management 콘솔 또는 Amazon SNS API를 사용하여 메시지의 플랫폼별 페이로드가 포함된 사용자 지정 메시지를 모바일 디바이스에 전송할 수 있습니다. Amazon SNS API 사용에 대한 자세한 내용은 모바일 푸시 API 작업 및 snsmobilepush.zip의 SNSMobilePush.java 파일을 참조하세요.
JSON 형식 메시지 전송 중
플랫폼별 페이로드를 전송할 때 데이터는 JSON 키-값 쌍 문자열 형식이어야 하며, 따옴표가 이스케이프되어 있어야 합니다.
다음 예제는 FCM 플랫폼에 대한 사용자 지정 메시지를 보여줍니다.
{ "GCM": "{\"fcmV1Message\": {\"message\": {\"notification\": {\"title\": \"Hello\", \"body\": \"This is a test.\"}, \"data\": {\"dataKey\": \"example\"}}}}" }
플랫폼별 메시지 전송 중
사용자 지정 데이터를 키-값 쌍으로 전송할 수 있을 뿐 아니라, 플랫폼별 키-값 쌍을 전송할 수도 있습니다.
FCM data 파라미터에서 사용자 지정 데이터 키-값 쌍 뒤에 FCM 파라미터 time_to_live 및 collapse_key가 포함되어 있음을 보여줍니다.
{ "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 SNS는 이제 Android 디바이스로 모바일 푸시 알림을 보내기 위해 Firebase Cloud Messaging(FCM) HTTP v1 API를 지원합니다.
2024년 3월 26일 - Amazon SNS는 Apple 디바이스 및 Webpush 대상에 대한 FCM HTTP v1 API를 지원합니다. 애플리케이션 중단을 방지하려면 2024년 6월 1일 또는 그 이전에 기존 모바일 푸시 애플리케이션을 최신 FCM HTTP v1 API로 마이그레이션하는 것이 좋습니다.
-
APNS 설명서의 페이로드 키 참조
-
FCM 설명서의 Firebase Cloud Messaging HTTP 프로토콜
-
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 설명서의 앱에 백그라운드 업데이트 푸시
-
alertAPNS 알림은 경보 메시지를 표시하거나 사운드를 재생하거나 애플리케이션 아이콘에 배지를 추가하여 사용자에게 알립니다. -
backgroundAPNS 알림은 사용자에게 알리지 않고 알림의 내용을 실행하도록 애플리케이션을 가동하거나 명령합니다.
사용자 지정 APNS 헤더 값 지정
Amazon SNS Publish API 작업, AWS SDK 또는 AWS CLI를 사용하여 AWS.SNS.MOBILE.APNS.PUSH_TYPE 예약된 메시지 속성에 대한 사용자 지정 값을 지정하는 것이 좋습니다. 다음 CLI 예제는 지정된 주제에 content-available을 1로 설정하고 apns-push-type을 background로 설정합니다.
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 SNS에서 JSON 형식 APNS 페이로드 구성의 aps 사전에 있는 content-available 키에 따라 헤더를 alert 또는 background로 설정합니다.
참고
Amazon SNS는 alert 또는 background 헤더만 유추할 수 있지만 apns-push-type 헤더는 다른 값으로 설정할 수 있습니다.
-
apns-push-type를 (으)로 설정합니다.alert-
aps사전에1로 설정된content-available과 사용자 상호 작용을 트리거하는 하나 이상의 키가 포함되어 있는 경우. -
aps사전에0으로 설정된content-available이 포함되어 있거나 또는content-available키가 없는 경우. -
content-available키의 값이 정수 또는 부울이 아닌 경우.
-
-
apns-push-type다음의 경우 이 로 설정됩니다.background-
aps사전에1로 설정된content-available만 포함되어 있고 사용자 상호 작용을 트리거하는 다른 키가 없는 경우입니다.중요
Amazon SNS에서 APNS에 대한 원시 구성 객체를 백그라운드 전용 알림으로 전송하는 경우,
1로 설정된content-available을aps사전에 포함해야 합니다. 사용자 지정 키를 포함할 수 있지만aps사전에는 사용자 상호 작용을 트리거하는 키(예: 경보, 배지 또는 사운드)를 포함할 수 없습니다.
-
다음은 원시 구성 객체의 예입니다.
{ "APNS": "{\"aps\":{\"content-available\":1},\"Foo1\":\"Bar\",\"Foo2\":123}" }
이 예에서 Amazon SNS는 메시지에 대한 apns-push-type APNS 헤더를 background로 설정합니다. Amazon SNS는 apn 사전에 1로 설정된 content-available 키가 포함되어 있고 사용자 상호 작용을 트리거할 수 있는 다른 키가 포함되어 있지 않음을 감지하면 헤더를 background로 설정합니다.