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

Roadmap per app in JavaScript

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

Geoshape

Geofence

Geolocator

Altre risorse

Esempio di georilevazione per Windows 10

Esempio di georilevazione per Windows 8.1

Linee guida per la funzionalità per i recinti virtuali