Saltare al contenuto principale
Torna ai plugin
@capgo/capacitor-background-geolocation
Tutorial
@capgo/capacitor-geolocalizzazione-di-fondo

Geolocalizzazione di background

Geolocalizzazione di background precisa con geofencing nativo iOS e Android e webhook di transizione

Guida

Tutorial sul Background Geolocation

Testa sul dispositivo

Scarica l'app Capgo, poi scansione il QR code.

Collegamento QR di anteprima del plugin di geolocalizzazione di background code

Utilizza @capgo/background-geolocation

Geolocalizzazione di background precisa 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 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.
  • geofenceTransition listener - Ricevere eventi di ingresso e uscita mentre l'app è attiva.
  • geofenceError listener - Gestire gli errori di monitoraggio nativi separatamente dagli eventi di transizione.

Esempio di Utilizzo

start

To iniziare l'ascolto delle modifiche nella posizione del dispositivo, chiamare questo metodo. Una promessa viene restituita per indicare che è terminata la chiamata. Il callback verrà chiamato ogni volta che è 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 audio 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 geofenci nativi di 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();

Sul sistema Android, aggiungi ACCESS_BACKGROUND_LOCATION 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/background-geolocation

Se stai utilizzando Utilizzo di @capgo/background-geolocation per pianificare il lavoro del 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 Plugin da Capgo, e Aggiungi o Aggiorna Plugin per i dettagli di implementazione in Aggiungi o Aggiorna Plugin.