기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
플랫폼별 페이로드를 사용하여 Amazon SNS 알림 게시
AWS Management Console 또는 Amazon SNS APIs를 사용하여 플랫폼별 페이로드를 사용하여 사용자 지정 메시지를 모바일 디바이스로 전송할 수 있습니다. 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 설명서의 앱에 백그라운드 업데이트 푸시
-
alert
APNS 알림은 경보 메시지를 표시하거나 사운드를 재생하거나 애플리케이션 아이콘에 배지를 추가하여 사용자에게 알립니다. -
background
APNS 알림은 사용자에게 알리지 않고 알림의 내용을 실행하도록 애플리케이션을 가동하거나 명령합니다.
사용자 지정 APNS 헤더 값 지정
Amazon SNS Publish
API 작업, AWS SDKs 또는를 사용하여 AWS.SNS.MOBILE.APNS.PUSH_TYPE
예약 메시지 속성에 대한 사용자 지정 값을 지정하는 것이 좋습니다 AWS CLI. 다음 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
로 설정합니다.