Delen via


Overzicht van periodieke meldingen

Periodieke meldingen, die ook wel polled meldingen worden genoemd, werken tegels en badges op een vast interval bij door inhoud te downloaden van een cloudservice. Als u periodieke meldingen wilt gebruiken, moet uw client-app-code twee stukjes informatie verstrekken:

  • De URI (Uniform Resource Identifier) van een weblocatie voor Windows om te peilen naar tegel- of badge-updates voor uw app
  • Hoe vaak die URI moet worden opgevraagd

Met periodieke meldingen kan uw app live-tegelupdates krijgen met minimale investeringen in de cloudservice en client. Periodieke meldingen zijn een goede leveringsmethode voor het distribueren van dezelfde inhoud naar een breed publiek.

Notitie Meer informatie vindt u door het voorbeeld van pushmeldingen en periodieke meldingen voor Windows 8.1 te downloaden en de broncode opnieuw te gebruiken in uw Windows 10-app.

 

Hoe het werkt

Periodieke meldingen vereisen dat uw app als host fungeert voor een cloudservice. De service wordt periodiek gepeild door alle gebruikers die de app hebben geïnstalleerd. Bij elk pollinginterval, zoals eenmaal per uur, verzendt Windows een HTTP GET-aanvraag naar de URI, downloadt Windows de aangevraagde tegel- of badge-inhoud (als XML) die wordt opgegeven als reactie op de aanvraag, en geeft de inhoud weer op de tegel van de app.

Houd er rekening mee dat periodieke updates niet kunnen worden gebruikt met toastmeldingen. Toastmelding wordt het beste geleverd via geplande of pushmeldingen.

URI-locatie en XML-inhoud

Elk geldig HTTP- of HTTPS-webadres kan worden gebruikt als de URI die moet worden gepolerd.

Het antwoord van de cloudserver bevat de gedownloade inhoud. De inhoud die door de URI wordt geretourneerd, moet voldoen aan de Tile of Badge XML-schema specificatie en moet UTF-8 gecodeerd zijn. U kunt gedefinieerde HTTP-headers gebruiken om de verlooptijd of tag voor de melding op te geven.

Pollinggedrag

Roep een van deze methodes aan om te beginnen met polling:

Wanneer u een van deze methoden aanroept, wordt de URI onmiddellijk gepeild en wordt de tegel of badge bijgewerkt met de ontvangen inhoud. Na deze eerste poll blijft Windows updates leveren met het aangevraagde interval. Polling wordt voortgezet totdat u deze expliciet stopt (met TileUpdater.StopPeriodicUpdate), uw app wordt verwijderd, of als het om een secundaire tegel gaat, de tegel wordt verwijderd. Anders blijft Windows peilen naar updates voor uw tegel of badge, zelfs als uw app nooit meer wordt gestart.

Het terugkeerinterval

U geeft het terugkeerinterval op als een parameter van de hierboven vermelde methoden. Houd er rekening mee dat het interval niet nauwkeurig is, terwijl Windows het best doet om te peilen zoals aangevraagd. Het aangevraagde poll-interval kan worden vertraagd tot 15 minuten naar eigen goeddunken van Windows.

De begintijd

U kunt desgewenst een bepaald tijdstip van de dag opgeven om te beginnen met peilen. Overweeg een app die de tegelinhoud één keer per dag wijzigt. In dat geval raden we u aan dicht bij het tijdstip te peilen dat u uw cloudservice bijwerkt. Als een dagelijkse winkel bijvoorbeeld de aanbiedingen van de dag om 8:00 uur publiceert, moet u kort na 8:00 uur een poll uitvoeren naar nieuwe tegelinhoud.

Als u een begintijd opgeeft, vraagt de eerste aanroep van de methode de inhoud onmiddellijk op. Vervolgens begint regelmatige polling binnen 15 minuten na de opgegeven begintijd.

Gedrag voor automatisch opnieuw proberen

De URI wordt alleen gepeild als het apparaat online is. Als het netwerk beschikbaar is, maar de URI om welke reden dan ook niet kan worden gecontacteerd, wordt deze iteratie van het polling-interval overgeslagen en wordt de URI opnieuw gepolerd met het volgende interval. Als het apparaat de status Uit, Slaapstand of sluimerstand heeft wanneer een polling-interval is bereikt, wordt de URI opgevraagd wanneer het apparaat terugkeert uit zijn uit- of slaapstand.

App-updates verwerken

Als u een app-update vrijgeeft waarmee uw polling-URI wordt gewijzigd, moet u een dagelijkse tijdstriggertaak toevoegen die StartPeriodicUpdate aanroept met de nieuwe URI om ervoor te zorgen dat uw tegels de nieuwe URI gebruiken. Anders, als gebruikers uw app-update ontvangen maar uw app niet starten, blijven hun tegels de oude URI gebruiken, die mogelijk niet kan worden weergegeven als de URI nu ongeldig is of als de geretourneerde payload verwijst naar lokale afbeeldingen die niet meer bestaan.

Vervaldatum van tegel- en badgemeldingen

Standaard verlopen periodieke tegel- en badgemeldingen drie dagen vanaf het moment dat ze worden gedownload. Wanneer een melding verloopt, wordt de inhoud verwijderd uit de badge, tegel of wachtrij en wordt deze niet meer weergegeven aan de gebruiker. Het is een aanbevolen procedure om een expliciete verlooptijd in te stellen op alle periodieke tegel- en badgemeldingen, met behulp van een tijd die zinvol is voor uw app of melding, om ervoor te zorgen dat de inhoud niet langer bewaard blijft dan relevant is. Een expliciete verlooptijd is essentieel voor inhoud met een gedefinieerde levensduur. Het zorgt er ook voor dat verouderde inhoud wordt verwijderd als uw cloudservice onbereikbaar wordt of als de gebruiker voor een langere periode de verbinding met het netwerk verbreekt.

Uw cloudservice stelt een vervaldatum en -tijd voor een melding in door de X-WNS-Expires HTTP-header in de nettolading van het antwoord op te slaan. De X-WNS-Expires HTTP-header voldoet aan het HTTP-datumformaat . Zie StartPeriodicUpdate of StartPeriodicUpdateBatch voor meer informatie.

Tijdens de actieve handelsdag van een beurs kunt u bijvoorbeeld de vervaldatum voor een aandelenkoersupdate instellen op twee keer dat van uw polling-interval (bijvoorbeeld één uur na ontvangst als u elke half uur pollt). Een andere voorbeeld: een nieuws-app kan bepalen dat een dag een geschikte verlooptijd is voor een dagelijkse update van een nieuwstegel.

Periodieke meldingen in de meldingswachtrij

U kunt periodieke tegelupdates gebruiken met notificatiecycli. Standaard toont een tegel op het startscherm de inhoud van één melding totdat deze wordt vervangen door een nieuwe melding. Wanneer u de cyclus inschakelt, worden maximaal vijf meldingen in een wachtrij bewaard en doorloopt de tegel deze meldingen.

Als de wachtrij de capaciteit van vijf meldingen heeft bereikt, vervangt de volgende nieuwe melding de oudste melding in de wachtrij. Door tags in te stellen voor uw meldingen, kunt u echter van invloed zijn op het vervangende beleid van de wachtrij. Een tag is een app-specifieke, niet-hoofdlettergevoelige tekenreeks van maximaal 16 alfanumerieke tekens, die is opgegeven in de X-WNS-Tag HTTP-header in de nettolading van het antwoord. Windows vergelijkt de tag van een binnenkomende melding met de tags van alle meldingen die al in de wachtrij staan. Als er een overeenkomst wordt gevonden, vervangt de nieuwe melding de melding in de wachtrij door dezelfde tag. Als er geen overeenkomst wordt gevonden, wordt de standaard vervangende regel toegepast en vervangt de nieuwe melding de oudste melding in de wachtrij.

U kunt notification queuing en tagging gebruiken om verschillende uitgebreide meldingsscenario's te implementeren. Een aandelen-app kan bijvoorbeeld vijf meldingen verzenden, elk over een ander aandeel en elk voorzien van een aandelennaam. Dit voorkomt dat de wachtrij ooit twee meldingen bevat voor hetzelfde aandeel, waarvan de oudere verouderd is.

Zie voor meer informatie De meldingswachtrij gebruiken.

De meldingswachtrij inschakelen

Als u een meldingswachtrij wilt implementeren, moet u eerst de wachtrij voor uw tegel inschakelen (zie De meldingswachtrij gebruiken met lokale meldingen). De aanroep om de wachtrij in te schakelen, hoeft slechts één keer in de levensduur van uw app te worden uitgevoerd, maar er is geen kwaad om de wachtrij aan te roepen telkens wanneer uw app wordt gestart.

Peilen voor meer dan één melding tegelijk

U moet een unieke URI opgeven voor elke melding die u wilt dat Windows voor uw tegel downloadt. Met behulp van de methode StartPeriodicUpdateBatch kunt u maximaal vijf URI's tegelijk opgeven voor gebruik met de meldingswachtrij. Elke URI wordt gepeild voor één enkele meldingsinhoud, op hetzelfde moment of bijna tegelijkertijd. Elke polled URI kan een eigen verloop- en tagwaarde retourneren.