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

Geolocalizzazione di background

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

Guida

Tutorial sulla geolocalizzazione in background

Esegui il test sul dispositivo

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

Anteprima del plugin di geolocalizzazione in background QR code

Utilizza @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 geofence di ingresso/uscita 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 una rotta pianificata.
  • setupGeofencing - Configurare le impostazioni di geofencing nativo e l'invio facoltativo di webhook per le transizioni.
  • addGeofence - Monitorare una regione circolare di geofencing iOS o Android.
  • removeGeofence / removeAllGeofences - Fermare la monitorazione 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

Stoppa 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 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 geofreni nativi iOS e Android. Aggiungi un url to let native code POST transition payloads while the WebView is suspended.

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();

per consentire ai nativi di inviare payload di transizione POST mentre il WebView è sospeso. 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 workflow 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.