Volba správného typu kanálu nabízených oznámení

Tento článek popisuje tři typy kanálů nabízených oznámení Windows (primární, sekundární a alternativní), které vám pomůžou doručovat obsah do aplikace.

(Podrobnosti o vytváření nabízených oznámení najdete v přehledu služby WNS (Windows Push Notification Services.)

Typy push kanálů

Existují tři typy push kanálů, které lze použít k odesílání oznámení do aplikace pro Windows. Mezi ně patří:

Primární kanál – tradiční "push" kanál. Může být použita libovolnou aplikací v obchodě k odesílání informačních zpráv, dlaždic, nezpracovaných oznámení nebo oznámení odznaků. Další informace najdete tady.

Kanál pro sekundární dlaždici – slouží k zasílání aktualizací do sekundární dlaždice. Dá se použít jenom k odesílání oznámení dlaždic nebo oznámení odznáček na sekundární dlaždici připnutou na úvodní obrazovce uživatele.

Alternativní kanál - Už se nepodporuje – nový typ kanálu přidaný do Creators Update. Umožňuje odesílat nezpracovaná oznámení do libovolné aplikace Windows, včetně těch, které nejsou zaregistrované ve Storu. Znovu si všimněte, že alternativní kanál už není podporovaný.

Note

Bez ohledu na to, který push kanál používáte, jakmile bude vaše aplikace spuštěna na zařízení, bude vždy moci odesílat místní oznámení, dlaždice nebo odznaky. Může odesílat místní oznámení z procesů aplikace na popředí nebo z úlohy na pozadí.

Primární kanály

Jedná se o nejčastěji používané kanály v Windows právě teď a jsou vhodné pro téměř jakýkoli scénář, ve kterém se vaše aplikace bude distribuovat prostřednictvím Microsoft Store. Umožňují odesílat do aplikace všechny typy oznámení.

Co umožňují primární kanály?

  • Odesílání aktualizací dlaždic nebo odznáčků na primární dlaždici. Pokud se uživatel rozhodl připnout dlaždici na úvodní obrazovku, je to vaše šance se ukázat. Odešlete aktualizace s užitečnými informacemi nebo připomenutím zážitků ve vaší aplikaci.
  • Odesílání informačních oznámení Vyskakovací upozornění jsou příležitostí, jak okamžitě zobrazit informace uživateli. Jsou zobrazovány rozhraním nad většinou aplikací a jsou uchovávány v centru akcí, aby se uživatel mohl později vrátit a interagovat s nimi.
  • Odesílání nezpracovaných oznámení pro aktivaci úlohy na pozadí Někdy chcete jménem uživatele udělat nějakou práci na základě oznámení. Nezpracovaná oznámení umožňují spouštění úloh na pozadí vaší aplikace.
  • Šifrování zpráv při přenosu poskytované Windows pomocí protokolu TLS. Zprávy se šifrují na drátě, jak přicházejí do WNS, tak do zařízení uživatele.

Omezení primárních kanálů

  • Vyžaduje použití rozhraní WNS REST API pro posílání oznámení, což není standardem u všech výrobců zařízení.
  • Pro každou aplikaci je možné vytvořit pouze jeden kanál.
  • Vyžaduje, aby byla vaše aplikace zaregistrovaná v Microsoft Store

Vytvoření primárního kanálu

PushNotificationChannel channel = 
	await PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync();

Sekundární kanály dlaždic

Jedná se o kanály, které se dají použít k zasílání aktualizací dlaždic a odznaků na sekundární dlaždici. Aplikace je používají k upozorňování uživatelů na zajímavé akce nebo informace, se kterými můžou v aplikaci pracovat, jako jsou nové zprávy ve skupinovém chatu nebo aktualizované sportovní skóre.

Co umožňují sekundární kanály dlaždic?

  • Odesílání oznámení o dlaždici nebo odznáček sekundárním dlaždicím Sekundární dlaždice představují skvělý způsob, jak uživatele vrátit do aplikace. Jedná se o hluboký odkaz na informace, o které se zajímají, a vložení relevantních informací na dlaždice pomáhá jejich opětovnému návratu.
  • Oddělení kanálů (a expiračních dob) mezi různými dlaždicemi. To vám umožní oddělit logiku v back-endu mezi různými typy sekundárních dlaždic, které uživatel může připnout na úvodní obrazovku.
  • Šifrování zpráv při přenosu poskytované Windows pomocí protokolu TLS. Zprávy se šifrují na drátě, jak přicházejí do WNS, tak do zařízení uživatele.

Omezení sekundárních kanálů dlaždic

  • Nejsou povolena žádná toastová ani surová oznámení. Systém ignoruje oznámení typu toast nebo nevyřízená oznámení odesílaná na sekundární dlaždici.
  • Vyžaduje, aby byla vaše aplikace zaregistrovaná v Microsoft Store

Vytvoření sekundárního kanálu dlaždice

PushNotificationChannel channel = 
	await PushNotificationChannelManager.CreatePushNotificationChannelForSecondaryTileAsync(tileId);

Alternativní kanály

Alternativní kanály umožňují aplikacím odesílat nabízená oznámení bez registrace do Microsoft Store nebo vytváření nabízených kanálů mimo primární kanál používaný pro aplikaci.

Note

Od 1. července 2021 budou aplikace, které chtějí používat webový nabízený kanál nebo alternativní kanál k odesílání oznámení založených na prohlížeči prostřednictvím služby WNS, muset být nasazeny do Microsoft Store.

Co umožňují alternativní kanály?

  • Odesílat nezpracovaná push oznámení na libovolné zařízení s Windows. Alternativní kanály umožňují jenom nezpracovaná oznámení (přesto můžete úlohu na pozadí probudit, aby se místně zobrazovala informační zpráva nebo oznámení dlaždic).
  • Umožňuje aplikacím vytvářet více surových push kanálů pro různé funkce v aplikaci. Aplikace může vytvořit až 1 000 alternativních kanálů a každá z nich je platná po dobu 30 dnů. Každý z těchto kanálů může aplikaci spravovat nebo odvolávat samostatně.
  • Alternativní push kanály je možné vytvořit bez registrace aplikace v Microsoft Store. Pokud se aplikace nainstaluje na zařízení bez registrace v Microsoft Store, bude stále moct přijímat nabízená oznámení.
  • Servery mohou odesílat oznámení pomocí standardních rozhraní REST API W3C a protokolu VAPID. Alternativní kanály používají standardní protokol W3C, což vám umožní zjednodušit logiku serveru, kterou je potřeba udržovat.
  • Úplné, kompletní šifrování zpráv. Zatímco primární kanál poskytuje šifrování během přenosu, pokud chcete být bezpečnější, alternativní kanály umožňují vaší aplikaci předávat prostřednictvím hlaviček šifrování, aby chránila zprávu.

Omezení alternativních kanálů

  • Server vaší aplikace nemůže odesílat oznámení typu toast, dlaždice nebo odznak. Můžete posílat pouze nezpracovaná push oznámení. Vaše aplikace stále může odesílat místní oznámení z úlohy na pozadí.
  • Vyžaduje jiné rozhraní REST API než primární nebo sekundární kanály dlaždic. Použití standardního rozhraní W3C REST API znamená, že vaše aplikace bude muset mít odlišnou logiku pro odesílání push oznámení nebo aktualizací dlaždic.

Vytvoření alternativního kanálu

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

Porovnání typů kanálů

Tady je rychlé porovnání různých typů kanálů:

Type Nasdílení informačních toastů? Nasdílet dlaždici nebo odznáček? Poslat nezpracovaná oznámení jako push? Authentication API Je vyžadována registrace obchodu? Channels Encryption
Primary Yes Ano – pouze primární dlaždice Yes OAuth WNS REST API Yes Jedna na aplikaci V přepravě
Sekundární dlaždice No Ano – pouze sekundární dlaždice No OAuth WNS REST API Yes Jedna na sekundární dlaždici V přepravě
Alternate No No Yes VAPID WebPush W3C Standard No 1 000 na aplikaci Během přenosu + možné koncové šifrování s předáním hlavičky (vyžaduje kód aplikace).

Výběr správného kanálu

Obecně doporučujeme používat primární kanál ve vaší aplikaci s několika výjimkami:

  1. Pokud odesíláte aktualizaci dlaždice do sekundární dlaždice, použijte kanál pro aktualizaci sekundární dlaždice.
  2. Pokud předáváte kanály jiným službám (například v případě prohlížeče), použijte alternativní kanál.
  3. Pokud vytváříte aplikaci, která nebude uvedená v Windows Storu (například obchodní aplikace), použijte alternativní kanál.
  4. Pokud máte na serveru existující kód pro odesílání webových oznámení nebo potřebujete více kanálů v back-endové službě, použijte alternativní kanály.