Memilih jenis saluran pemberitahuan push yang tepat

Artikel ini membahas tiga jenis Windows saluran pemberitahuan push (primer, sekunder, dan alternatif) yang membantu Anda mengirimkan konten ke aplikasi Anda.

(Untuk detail tentang cara membuat pemberitahuan push, lihat gambaran umum Windows Push Notification Services (WNS).)

Jenis saluran notifikasi push

Ada tiga jenis saluran push yang dapat digunakan untuk mengirim pemberitahuan ke aplikasi Windows. Mereka adalah:

Saluran utama - saluran push "tradisional". Dapat digunakan oleh aplikasi apa pun di toko untuk mengirim pemberitahuan toast, ubin, notifikasi mentah, atau lencana. Pelajari selengkapnya di sini.

saluran petak peta sekunder - digunakan untuk mendorong pembaruan petak peta ke petak sekunder. Hanya dapat digunakan untuk mengirim pemberitahuan ubin atau lencana ke ubin sekunder yang disematkan di layar Start pengguna.

Saluran alternatif - Tidak lagi didukung - Jenis saluran baru yang ditambahkan dalam Pembaruan Creators. Ini memungkinkan pemberitahuan mentah dikirim ke aplikasi Windows apa pun, termasuk yang tidak terdaftar di Store. Sekali lagi, perhatikan bahwa saluran alternatif tidak lagi didukung.

Note

Apa pun saluran push yang Anda gunakan, setelah aplikasi berjalan di perangkat, akan selalu dapat mengirim pesan toast, tile, atau lencana lokal. Ini dapat mengirim pemberitahuan lokal dari proses aplikasi latar depan atau dari tugas latar belakang.

Saluran utama

Ini adalah saluran yang paling umum digunakan di Windows saat ini, dan baik untuk hampir semua skenario di mana aplikasi Anda akan didistribusikan melalui Microsoft Store. Ini memungkinkan Anda mengirim semua jenis pemberitahuan ke aplikasi.

Apa yang dimungkinkan oleh saluran utama?

  • Mengirim pembaruan ubin atau lencana ke ubin utama. Jika pengguna telah memilih untuk menyematkan petak Anda pada layar mulai, ini adalah kesempatan Anda untuk memamerkan. Kirim pembaruan dengan informasi atau pengingat pengalaman yang berguna dalam aplikasi Anda.
  • Mengirim pemberitahuan toast. Pemberitahuan toast adalah kesempatan untuk menyampaikan beberapa informasi segera kepada pengguna. Ikon-ikon tersebut ditampilkan oleh antarmuka di atas lapisan sebagian besar aplikasi, dan disimpan di pusat tindakan sehingga pengguna dapat kembali dan berinteraksi dengan ikon tersebut nanti.
  • Mengirim pemberitahuan mentah untuk memicu tugas latar belakang. Terkadang Anda ingin melakukan beberapa pekerjaan atas nama pengguna berdasarkan pemberitahuan. Pemberitahuan mentah memungkinkan tugas latar belakang aplikasi Anda berjalan
  • Enkripsi pesan saat transit yang disediakan oleh Windows menggunakan TLS. Pesan dienkripsi pada kabel baik yang masuk ke WNS maupun masuk ke perangkat pengguna.

Batasan saluran utama

  • Memerlukan penggunaan WNS REST API untuk pemberitahuan push, yang tidak standar di seluruh vendor perangkat.
  • Hanya satu saluran yang dapat dibuat per aplikasi
  • Mengharuskan aplikasi Anda didaftarkan di Microsoft Store

Membuat saluran utama

PushNotificationChannel channel = 
	await PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync();

Saluran petak peta sekunder

Ini adalah saluran yang dapat digunakan untuk mendorong pembaruan petak peta dan lencana ke petak sekunder. Ini digunakan oleh aplikasi untuk memberi tahu pengguna tentang tindakan atau informasi menarik yang dapat mereka berinteraksi di aplikasi, seperti pesan baru dalam obrolan grup atau skor olahraga yang diperbarui.

Apa yang diaktifkan kanal ubin sekunder?

  • Mengirim pemberitahuan petak atau lencana ke petak sekunder. Petak sekunder adalah cara yang bagus untuk menarik pengguna kembali ke aplikasi Anda. Mereka adalah tautan mendalam ke informasi yang mereka pedulikan, dan menempatkan informasi yang relevan pada petak peta membantu membawanya kembali lagi dan lagi.
  • Pemisahan saluran (dan kedaluwarsa) antara berbagai ubin. Ini memungkinkan Anda untuk memisahkan logika di backend antara berbagai jenis petak sekunder yang mungkin disematkan pengguna ke layar awal mereka.
  • Enkripsi pesan saat transit yang disediakan oleh Windows menggunakan TLS. Pesan dienkripsi pada kabel baik yang masuk ke WNS maupun masuk ke perangkat pengguna.

Batasan saluran ubin sekunder

  • Tidak ada toast atau pemberitahuan mentah yang diizinkan. Notifikasi toast atau notifikasi mentah yang dikirim ke ubin sekunder diabaikan oleh sistem.
  • Mengharuskan aplikasi Anda didaftarkan di Microsoft Store

Membuat jalur ubin sekunder

PushNotificationChannel channel = 
	await PushNotificationChannelManager.CreatePushNotificationChannelForSecondaryTileAsync(tileId);

Saluran alternatif

Saluran alternatif memungkinkan aplikasi mengirim pemberitahuan push tanpa mendaftar ke Microsoft Store atau membuat saluran push di luar saluran utama yang digunakan untuk aplikasi.

Note

Mulai 1 Juli 2021 aplikasi yang ingin menggunakan saluran push web atau saluran alternatif untuk mengirim pemberitahuan berbasis browser melalui WNS perlu di-onboard ke Microsoft Store.

Apa yang dimungkinkan oleh saluran alternatif?

  • Kirim pemberitahuan push mentah ke Windows yang berjalan di perangkat Windows apa pun. Saluran alternatif hanya memungkinkan pemberitahuan mentah (tetapi Anda tetap dapat membangunkan tugas latar belakang untuk menampilkan pemberitahuan toast atau petak secara lokal).
  • Memungkinkan aplikasi membuat beberapa saluran push mentah untuk berbagai fitur dalam aplikasi. Aplikasi dapat membuat hingga 1000 saluran alternatif, dan masing-masing berlaku selama 30 hari. Masing-masing saluran ini dapat dikelola atau dicabut secara terpisah oleh aplikasi.
  • Saluran push alternatif dapat dibuat tanpa mendaftarkan aplikasi dengan Microsoft Store. Jika aplikasi Anda akan diinstal pada perangkat tanpa mendaftarkannya di Microsoft Store, aplikasi tersebut masih akan dapat menerima pemberitahuan push.
  • Server-server dapat mendorong pemberitahuan menggunakan API REST standar W3C dan protokol VAPID. Saluran alternatif menggunakan protokol standar W3C, ini memungkinkan Anda menyederhanakan logika server yang perlu dipertahankan.
  • Enkripsi pesan menyeluruh dan end-to-end. Meskipun saluran utama menyediakan enkripsi saat transit, jika Anda ingin lebih aman, saluran alternatif memungkinkan aplikasi Anda melewatkan header enkripsi untuk melindungi pesan.

Batasan saluran alternatif

  • Server aplikasi Anda tidak dapat mengirim pemberitahuan jenis push toast, tile, atau lencana. Anda hanya dapat mengirim pemberitahuan mentah push. Aplikasi Anda masih dapat mengirim pemberitahuan lokal dari tugas latar belakang Anda.
  • Memerlukan REST API yang berbeda dibandingkan dengan kanal tile primer atau sekunder. Menggunakan REST API W3C standar berarti aplikasi Anda harus memiliki logika yang berbeda untuk mengirim toast push atau pembaruan petak peta

Membuat saluran alternatif

PushNotificationChannel webChannel = 
	await PushNotificationChannelManager.GetDefault().CreateRawPushNotificationChannelWithAlternateKeyForApplicationAsync(applicationServerKey, appChannelId);

Perbandingan jenis saluran

Berikut adalah perbandingan cepat antara berbagai jenis saluran:

Type Dorong roti panggang? Tekan ubik/lencana? Push notifikasi mentah? Authentication API Haruskah pendaftaran Toko dilakukan? Channels Encryption
Primary Yes Ya - ubin utama saja Yes OAuth WNS REST API Yes Satu per aplikasi Dalam Proses Transit
Petak Peta Sekunder No Ya - ubin sekunder saja No OAuth WNS REST API Yes Satu per ubin sekunder Dalam Proses Transit
Alternate No No Yes VAPID Standar W3C WebPush No 1.000 per aplikasi Saat transit + enkripsi ujung ke ujung dimungkinkan dengan header pass through (memerlukan kode aplikasi)

Memilih saluran yang tepat

Secara umum, sebaiknya gunakan saluran utama di aplikasi Anda, dengan beberapa pengecualian:

  1. Jika Anda mendorong pembaruan petak peta ke petak sekunder, gunakan saluran pendorongan petak sekunder.
  2. Jika Anda meneruskan saluran ke layanan lain (seperti dalam kasus browser) gunakan saluran alternatif.
  3. Jika Anda membuat aplikasi yang tidak akan tercantum di penyimpanan Windows (seperti aplikasi LOB) gunakan saluran alternatif.
  4. Jika Anda memiliki kode push web yang ada di server, Anda ingin menggunakan kembali atau memerlukan beberapa saluran di layanan backend Anda, gunakan saluran alternatif.