Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menerbitkan notifikasi Amazon SNS dengan muatan khusus platform
Anda dapat menggunakan Amazon SNS AWS Management Console atau APIs untuk mengirim pesan khusus dengan muatan khusus platform ke perangkat seluler. Untuk informasi tentang menggunakan Amazon SNS APIs, lihat Tindakan API push seluler dan SNSMobilePush.java file di. snsmobilepush.zip
Mengirim pesan berformat JSON
Saat Anda mengirim muatan khusus platform, data harus diformat sebagai string pasangan nilai kunci JSON, dengan tanda kutip diloloskan.
Contoh berikut menunjukkan pesan khusus untuk platform FCM.
{ "GCM": "{\"fcmV1Message\": {\"message\": {\"notification\": {\"title\": \"Hello\", \"body\": \"This is a test.\"}, \"data\": {\"dataKey\": \"example\"}}}}" }
Mengirim pesan khusus platform
Selain mengirim data khusus sebagai pasangan nilai kunci, Anda dapat mengirim pasangan nilai kunci khusus platform.
Contoh berikut menunjukkan penyertaan parameter FCM time_to_live dan collapse_key setelah pasangan nilai kunci data kustom dalam parameter data FCM.
{ "GCM": "{\"fcmV1Message\": {\"message\": {\"notification\": {\"title\": \"TitleTest\", \"body\": \"Sample message for Android or iOS endpoints.\"}, \"data\":{\"time_to_live\": 3600,\"collapse_key\":\"deals\"}}}}" }
Untuk daftar pasangan kunci-nilai yang didukung oleh masing-masing layanan notifikasi push yang didukung di Amazon SNS, lihat berikut ini:
penting
Amazon SNS sekarang mendukung Firebase Cloud Messaging (FCM) HTTP v1 API untuk mengirimkan notifikasi push seluler ke perangkat Android.
26 Maret 2024 - Amazon SNS mendukung FCM HTTP v1 API untuk perangkat Apple dan tujuan Webpush. Kami menyarankan Anda memigrasikan aplikasi push seluler yang ada ke FCM HTTP v1 API terbaru pada atau sebelum 1 Juni 2024 untuk menghindari gangguan aplikasi.
-
Referensi Kunci Payload
dalam dokumentasi APNs -
Protokol HTTP Firebase Cloud Messaging
dalam dokumentasi FCM -
Kirim Pesan
di dokumentasi ADM
Mengirim pesan ke aplikasi di berbagai platform
Untuk mengirim pesan ke aplikasi yang diinstal pada perangkat untuk beberapa platform, seperti FCM dan APNs, Anda harus terlebih dahulu berlangganan titik akhir seluler ke topik di Amazon SNS dan kemudian mempublikasikan pesan ke topik tersebut.
Contoh berikut menunjukkan pesan untuk dikirim ke endpoint seluler berlangganan pada APNs, FCM, dan 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\"}}" }
Mengirim pesan ke APNs sebagai peringatan atau pemberitahuan latar belakang
Amazon SNS dapat mengirim pesan ke APNs as alert atau background notifikasi (untuk informasi selengkapnya, lihat Mendorong Pembaruan Latar Belakang ke Aplikasi Anda
-
alertAPNs Pemberitahuan menginformasikan pengguna dengan menampilkan pesan peringatan, memutar suara, atau menambahkan lencana ke ikon aplikasi Anda. -
backgroundAPNs Pemberitahuan bangun atau menginstruksikan aplikasi Anda untuk bertindak atas konten pemberitahuan, tanpa memberi tahu pengguna.
Menentukan nilai APNs header kustom
Sebaiknya tentukan nilai kustom untuk atribut pesan yang AWS.SNS.MOBILE.APNS.PUSH_TYPE dicadangkan menggunakan tindakan Amazon Publish SNS API AWS SDKs, atau. AWS CLI Contoh CLI berikut menyetel content-available ke 1 dan apns-push-type ke background untuk topik yang ditentukan.
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
catatan
Pastikan bahwa struktur JSON valid. Tambahkan koma setelah setiap pasangan kunci-nilai, kecuali yang terakhir.
Menyimpulkan header tipe APNs push dari payload
Jika Anda tidak menyetel apns-push-type APNs header, Amazon SNS menetapkan header ke alert atau background bergantung pada content-available kunci dalam aps kamus konfigurasi payload berformat APNs JSON Anda.
catatan
Amazon SNS hanya dapat menyimpulkan header alert atau background, meskipun header apns-push-type dapat diatur ke nilai lain.
-
apns-push-typediatur kealert-
Jika kamus
apsberisicontent-availableyang diatur ke1dan satu atau beberapa kunci yang memicu interaksi pengguna. -
Jika kamus
apsberisicontent-availableyang diatur ke0atau jika kuncicontent-availabletidak ada. -
Jika nilai kunci
content-availablebukan bilangan bulat atau Boolean.
-
-
apns-push-typediatur kebackground-
Jika kamus
apshanya berisicontent-availableyang diatur ke1dan tidak ada kunci lain yang memicu interaksi pengguna.penting
Jika Amazon SNS mengirimkan objek konfigurasi mentah APNs sebagai notifikasi khusus latar belakang, Anda harus menyertakan
content-availableset ke dalam kamus.1apsMeskipun Anda dapat menyertakan kunci kustom, kamusapstidak boleh berisi kunci apa pun yang memicu interaksi pengguna (misalnya, peringatan, lencana, atau suara).
-
Berikut ini adalah contoh objek konfigurasi mentah.
{ "APNS": "{\"aps\":{\"content-available\":1},\"Foo1\":\"Bar\",\"Foo2\":123}" }
Dalam contoh ini, Amazon SNS menyetel apns-push-type APNs header untuk pesan tersebut. background Saat Amazon SNS mendeteksi bahwa kamus apn berisi kunci content-available yang diatur ke 1—dan tidak berisi kunci lain yang dapat memicu interaksi pengguna—itu menyetel header ke background.