Saltare al contenuto principale
Indietro ai plugin
@capgo/capacitor-geolocalizzazione-di-fondo
Tutorial
@capgo/capacitor-geolocalizzazione-di-fondo

Geolocalizzazione di fondo

Tracciamento di posizione di fondo preciso con geofencing nativo iOS e Android e webhook di transizione web

Guida

Tutorial sulla geolocalizzazione in background

Testa sul dispositivo

Scarica l'app Capgo, poi scansa il codice QR code.

Previsualizzazione plugin di geolocalizzazione in background QR code

Utilizzo di @capgo/background-geolocation

Geolocalizzazione precisa in background e geofencing nativo per le app Capacitor su iOS e Android. Utilizzalo per streamare aggiornamenti di posizione precisi, monitorare regioni circolari e inviare transizioni di ingresso/uscita di geofence al JavaScript o al backend.

Installa

bun add @capgo/background-geolocation
bunx cap sync

Cos'è che questo plugin espone

  • start - Flusso di aggiornamenti di posizione precisi in background o in primo piano.
  • 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 le impostazioni 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 monitoraggio di una o tutte le regioni registrate.
  • getMonitoredGeofences - Elenco degli identificatori delle regioni monitorate.
  • geofenceTransition - listener - Ricevi eventi di ingresso e uscita mentre l'app è attiva.
  • geofenceError - listener - Gestisci gli errori di monitoraggio nativo separatamente dagli eventi di transizione.

- Esempio di utilizzo.

start

To start listening for changes in the device's location, call this method. A Promise is returned to indicate that it finished the call. The callback will be called every time a new location is available, or if there was an error when calling this method. Don't rely on promise rejection for this.

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

- Ferma 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

- Reproduce un file audio quando l'utente si allontana dalla rotta pianificata. 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 geofence iOS e Android nativi. 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 alla tua manifestazione dell'app solo quando hai bisogno di geofencing di sfondo:

<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />

Riferimento Completo

Continua da Utilizzare @capgo/geolocalizzazione-di-sfondo

Se stai utilizzando Utilizzare @capgo/geolocalizzazione-di-sfondo per pianificare il lavoro del plugin nativo, connettilo con @capgo/geolocalizzazione-di-sfondo per i dettagli di implementazione in @capgo/geolocalizzazione-di-sfondo, Iniziare per i dettagli di implementazione in Getting Started, Capgo Directory dei Plugin per il flusso di lavoro del prodotto in Capgo Directory dei Plugin, Capacitor Plugin da Capgo per i dettagli di implementazione in Capacitor Plugin da Capgo, e Aggiungere o Aggiornare Plugin per i dettagli di implementazione in Aggiungere o Aggiornare Plugin.