Guida
Tutorial sul geolocalizzazione di background
Utilizza @capgo/background-geolocation
Geolocalizzazione di background preciso e geofencing nativa per Capacitor app su iOS e Android. Utilizzalo per streamare aggiornamenti di posizione precisi, monitorare regioni circolari e inviare transizioni di ingresso/uscita di geofence a JavaScript o al tuo backend.
Installa
bun add @capgo/background-geolocation
bunx cap sync
Cosa Questo Plugin Espone
start- Ricevi aggiornamenti di posizione accurate in primo piano o in background.stop- Fermare la tracciatura attiva della posizione.openSettings- Aprire le impostazioni native quando gli utenti devono risolvere i permessi di posizione.setPlannedRoute- Riprodurre un suono nativo quando l'utente lascia un percorso pianificato.setupGeofencing- Configurare i valori di default di geofencing nativo e la consegna facoltativa di webhook di transizione.addGeofence- Monitorare una regione circolare di geofencing iOS o Android.removeGeofence/removeAllGeofences- Fermare la monitorazione di una o tutte le regioni registrate.getMonitoredGeofences- Elencare gli identificatori delle regioni monitorate.geofenceTransitionlistener - Ricevere eventi di ingresso e uscita mentre l'app è attiva.geofenceErrorlistener - Gestire gli errori di monitoraggio nativi separatamente dagli eventi di transizione.
Esempio di Utilizzo
start
Per iniziare ad ascoltare le modifiche della posizione del dispositivo, chiama questo metodo. Una promessa viene restituita per indicare che è terminata la chiamata. Il callback verrà chiamato ogni volta che sarà disponibile una nuova posizione, o se è stato verificato un errore durante la chiamata di questo metodo. Non si fidi della rifiutazione della promessa per questo.
import { BackgroundGeolocation } from '@capgo/background-geolocation';
await BackgroundGeolocation.start(
{
backgroundMessage: "App is using your location in the background",
backgroundTitle: "Location Service",
requestPermissions: true,
stale: false,
distanceFilter: 10
},
(location, error) => {
if (error) {
console.error('Location error:', error);
return;
}
if (location) {
console.log('New location:', location.latitude, location.longitude);
}
}
);
stop
Smette gli aggiornamenti della posizione.
import { BackgroundGeolocation } from '@capgo/background-geolocation';
await BackgroundGeolocation.stop();
openSettings
Apre la pagina di impostazioni della posizione del dispositivo. Utile per dirigere gli utenti a abilitare i servizi di posizione o regolare le autorizzazioni.
import { BackgroundGeolocation } from '@capgo/background-geolocation';
// Direct user to location settings
await BackgroundGeolocation.openSettings();
setPlannedRoute
Gioca un file di suono quando l'utente si allontana dal percorso pianificato. Questo dovrebbe essere utilizzato per riprodurre un suono (anche in background, solo per nativo).
import { BackgroundGeolocation } from '@capgo/background-geolocation';
await BackgroundGeolocation.setPlannedRoute({
soundFile: "notification.mp3",
route: [[-74.0060, 40.7128], [-118.2437, 34.0522]]
});
Geofencing nativo
Monitora negozi, siti di lavoro, zone di consegna, campus o aree di check-in con geofreni nativi iOS e Android. Aggiungi un HTTP o HTTPS url per consentire ai nativi code di inviare payload di transizione POST mentre il WebView è sospeso.
import { BackgroundGeolocation } from '@capgo/background-geolocation';
await BackgroundGeolocation.setupGeofencing({
url: 'https://api.example.com/geofences',
notifyOnEntry: true,
notifyOnExit: true,
payload: { userId: '123' },
});
await BackgroundGeolocation.addGeofence({
identifier: 'warehouse',
latitude: 40.7128,
longitude: -74.006,
radius: 200,
});
const listener = await BackgroundGeolocation.addListener(
'geofenceTransition',
(event) => console.log(event.identifier, event.transition),
);
const errorListener = await BackgroundGeolocation.addListener(
'geofenceError',
(event) => console.error(event.identifier, event.message),
);
await BackgroundGeolocation.removeGeofence({ identifier: 'warehouse' });
await listener.remove();
await errorListener.remove();
Su Android, aggiungi ACCESS_BACKGROUND_LOCATION solo quando hai bisogno di geofreni di background:
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
Riferimento completo
- GitHub: https://github.com/Cap-go/capacitor-geolocalizzazione-di-fondopiano/
- Documentazione: /docs/plugins/background-geolocation/
Continua da Utilizzo di @capgo/background-geolocation
Se stai utilizzando Utilizzo di @capgo/background-geolocation per pianificare il lavoro di plugin nativo, connettilo con @capgo/background-geolocation per i dettagli di implementazione in @capgo/background-geolocation, Avvio per i dettagli di implementazione in Avvio, Directory dei Plugin Capgo per il flusso di lavoro del prodotto in Directory dei Plugin Capgo, Plugin Capacitor di Capgo per i dettagli di implementazione in Capacitor Plugins da Capgo, e Aggiungere o Aggiornare Plugins per i dettagli di implementazione in Aggiungere o Aggiornare Plugins.