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

Testare sul dispositivo

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

Anteprima del plugin di geolocalizzazione in background QR code

Utilizzo di @capgo/background-geolocation

Geolocalizzazione in background precisa e geofencing nativo per le Capacitor app 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

Cosa questo plugin espone

  • start - Flusso di aggiornamenti di posizione precisi 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 una rotta pianificata.
  • 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 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. Non si deve affidarsi alla rifiuto 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

- 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

- Gioca un file audio quando l'utente si allontana dalla rotta pianificata. Questo dovrebbe essere utilizzato per riprodurre un suono (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 nativo 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 aggiungere al tuo manifesto dell'app solo quando hai bisogno di geofencing in background:

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

Riferimento completo

Continua da Utilizzo di @capgo/geolocalizzazione-di-fondo

Se stai utilizzando Utilizzo di @capgo/geolocalizzazione-di-fondo per pianificare il lavoro del plugin nativo, connettilo con @capgo/geolocalizzazione-di-fondo per i dettagli di implementazione in @capgo/geolocalizzazione-di-fondo, 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.