Windows.Devices.Geolocation.Geofencing Spazio dei nomi
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Un geofence è un'area virtuale intorno a un punto geografico. Le API di geofencing consentono alle applicazioni di fornire esperienze contestuali geograficamente in modo tempestivo senza la necessità che l'app sia in esecuzione continua e che consuma le risorse del dispositivo. Il geofencing consente scenari come l'inserimento di un promemoria per un utente quando lasciano il lavoro o la casa o visualizzano i coupon quando l'utente si trova all'interno di un archivio.
Le app definiscono aree di interesse (geofences) e le condizioni di trigger corrispondenti, ad esempio l'attivazione quando l'utente entra o chiude il geofence. Infine, l'app registra per ricevere una notifica quando vengono soddisfatte le condizioni del trigger. Windows e Windows Phone supportano centinaia di geofences per app. Il sistema operativo gestisce in modo efficiente il rilevamento geofence per tutte le app. Quando vengono soddisfatte le condizioni di trigger per uno o più geofences, l'app associata viene avvisata anche quando non è in esecuzione attivamente. Questo sistema di rilevamento di geofence adattivo e con capacità elevata consente di aggiungere rapidamente e facilmente funzionalità attivate dalla posizione all'app.
Per una guida completa sull'uso del geofencing, vedere Geofencing, iniziare a terminare.
Le API di geofencing consentono all'app di eseguire le operazioni seguenti:
- Creare uno o più geofences o aree di interesse.
- Richiedere di ricevere una notifica quando il dispositivo entra in un geofence.
- Richiedere di ricevere una notifica quando il dispositivo lascia un geofence.
- Specificare un intervallo di tempo durante il quale il geofence è attivo.
- Specificare un tempo di attesa per ogni geofence: la quantità di tempo in cui il dispositivo deve trovarsi o fuori dal geofence prima che venga attivata la notifica.
- Aggiungere e rimuovere dinamicamente un geofences dalla raccolta di geofences monitorati dell'app.
- Ricevere eventi geofence mentre l'app è attiva.
- Registrare con il sistema per avviare un'attività in background quando lo stato di uno dei geofences dell'app cambia. Le app devono chiamare RequestAccessAsync prima che vengano eseguite attività in background.
- Usare il simulatore per simulare lo spostamento dei dispositivi e testare le funzionalità di geofencing dell'app.
Se si vuole che l'app venga avviata in background quando viene soddisfatta la condizione di trigger per uno dei relativi geofences, è necessario usare un'attività in background e configurare un LocationTrigger per avviarlo.
Importante
A partire da Windows 10, chiamare il metodo RequestAccessAsync dell'oggetto Geolocator prima di accedere alla posizione dell'utente. A questo punto, l’app deve essere in primo piano e RequestAccessAsync deve essere chiamato dal thread dell’interfaccia utente. Fino a quando l'utente concede l'autorizzazione dell'app per accedere alla propria posizione, l'app non può accedere ai dati di posizione.
Classi
Geofence |
Contiene la funzionalità per definire un geofence (un'area geografica di interesse) da monitorare. |
GeofenceMonitor |
Contiene le informazioni sugli oggetti Geofence monitorati. |
GeofenceStateChangeReport |
Contiene le informazioni sulle modifiche dello stato per un geofence. |
Enumerazioni
GeofenceMonitorStatus |
Indica lo stato corrente di un GeofenceMonitor. |
GeofenceRemovalReason |
Indica il motivo per cui è stato rimosso un geofence . |
GeofenceState |
Indica lo stato corrente di un geofence. |
MonitoredGeofenceStates |
Indica lo stato o gli stati dei Geofences attualmente monitorati dal sistema. |
Commenti
I servizi di posizione devono essere in esecuzione per consentire il funzionamento del geofencing. Se questo servizio è disabilitato, le chiamate geofencing avranno esito negativo e genereranno un'eccezione.
L'app deve dichiarare la funzionalità di posizione nel manifesto dell'app per usare il geofencing.