Gestire le notifiche dei recinti virtuali mediante un'attività in background (HTML)
[ Questo articolo è rivolto agli sviluppatori per Windows 8.x e Windows Phone 8.x che realizzano app di Windows Runtime. Gli sviluppatori che usano Windows 10 possono vedere Documentazione aggiornata ]
In questo argomento vengono illustrati i passaggi necessari per gestire notifiche di Geofence mediante un'attività in background in un'app.
Roadmap: che relazione c'è tra questo argomento e gli altri? Vedi:
Introduzione
Dopo aver creato i recinti virtuali, devi aggiungere la logica per gestire gli eventi dei recinti virtuali. A seconda del MonitoredStates configurato, può verificarsi un evento quando:
- L'utente entra in un'area di interesse.
- L'utente esce da un'area di interesse.
- Il recinto virtuale scade o viene rimosso. Tieni presente che le app in background non vengono attivate per gli eventi di rimozione.
In questo argomento viene descritto come gestire una notifica di recinto virtuale quando viene attivata un'attività in background. A questo scopo, si presuppone che sia già stato configurato un listener di eventi in background come descritto in Rilevare eventi di recinti virtuali in background. Puoi anche gestire gli eventi direttamente dall'app quando è in esecuzione. Per altre info, vedi Gestire le notifiche dei recinti virtuali in primo piano e Linee guida per i recinti virtuali.
Gestione della notifica in background
Le azioni eseguite per inviare una notifica all'utente dipendono dal funzionamento dell'app, tuttavia è possibile visualizzare una notifica di tipo avviso popup, riprodurre un suono o aggiornare un riquadro animato. Ecco il codice per gestire la notifica:
function onCompleted() {
try {
// Update the UI with the completion status of the background task
// The Run method of the background task sets the LocalSettings.
var settings = Windows.Storage.ApplicationData.current.localSettings;
// get status
if (settings.values.hasKey("Status")) {
WinJS.log && WinJS.log(settings.values["Status"].toString(), "sample", "status");
}
// do your apps work here
} catch (ex) {
// The background task had an error
WinJS.log && WinJS.log(ex.toString(), "sample", "error");
}
}
Argomenti correlati
Roadmap
Progettazione dell'esperienza utente per le app
Attività
Configurare un recinto virtuale
Gestire le notifiche dei recinti virtuali in primo piano
Rilevare eventi di recinti virtuali in background
Riferimenti
Altre risorse
Esempio di georilevazione per Windows 10