Pular al contenido principal
Volver a plugins
@capgo/capacitor-background-geolocalización
Tutoriales
@capgo/capacitor-background-geolocalización

Geolocalización de fondo

Seguimiento de ubicación de fondo preciso con geofenciamiento nativo de iOS y Android, además de webhooks de transición

Guía

Tutorial sobre ubicación de fondo

Usando @capgo/ubicación-de-fondo

Ubicación de fondo precisa y geofenciamiento nativo para aplicaciones Capacitor en iOS y Android. Utilízalo para transmitir actualizaciones de ubicación precisa, monitorear regiones circulares y entregar transiciones de geofenciamiento de entrada/salida a JavaScript o a su backend.

Instalar

bun add @capgo/background-geolocation
bunx cap sync

Qué esta plugin expone

  • start - Transmite actualizaciones de ubicación de fondo o de frente.
  • stop - Detener el seguimiento activo de ubicación.
  • openSettings - Abrir ajustes nativos cuando los usuarios necesitan corregir permisos de ubicación.
  • setPlannedRoute - Reproducir un sonido nativo cuando el usuario abandona un recorrido planificado.
  • setupGeofencing - Configurar geofenciamiento nativo por defecto y entrega de webhook de transición opcional.
  • addGeofence - Monitoree una región circular de iOS o Android.
  • removeGeofence / removeAllGeofences - Detener el monitoreo de una o todas las regiones registradas.
  • getMonitoredGeofences - Listar identificadores de regiones monitoreadas.
  • geofenceTransition listener - Recibir eventos de entrada y salida mientras la aplicación está activa.
  • geofenceError listener - Manejar errores de monitoreo nativo por separado de eventos de transición.

Uso de ejemplo

start

Iniciar la escucha de cambios en la ubicación del dispositivo, llame a este método. Se devuelve una Promesa para indicar que se ha completado la llamada. El callback se llamará cada vez que esté disponible una nueva ubicación, o si hubo un error al llamar a este método. No confíe en la rechazación de la promesa para esto.

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

Detener actualizaciones de ubicación.

import { BackgroundGeolocation } from '@capgo/background-geolocation';

await BackgroundGeolocation.stop();

openSettings

Abrir la página de ajustes de ubicación del dispositivo. Útil para dirigir a los usuarios a habilitar servicios de ubicación o ajustar permisos.

import { BackgroundGeolocation } from '@capgo/background-geolocation';

// Direct user to location settings
await BackgroundGeolocation.openSettings();

setPlannedRoute

Reproducir un archivo de sonido cuando el usuario se desvía del recorrido planificado. Debe usarse para reproducir un sonido (en segundo plano también, solo para nativo).

import { BackgroundGeolocation } from '@capgo/background-geolocation';

await BackgroundGeolocation.setPlannedRoute({
  soundFile: "notification.mp3",
  route: [[-74.0060, 40.7128], [-118.2437, 34.0522]]
});

Geofenciamiento nativo

Monitoree almacenes, sitios de trabajo, zonas de entrega, campus o áreas de registro con geofenciamientos nativos de iOS y Android. Agregue una HTTP o HTTPS 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();

En Android, agregue ACCESS_BACKGROUND_LOCATION a su manifiesto de la aplicación solo cuando necesite geolocalización de fondo:

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

Referencia completa

Siga adelante desde Usando @capgo/geolocalización-de-fondo

Si está utilizando Usando @capgo/geolocalización-de-fondo para planificar el trabajo de plugin nativo, conecte con @capgo/geolocalización-de-fondo para el detalle de implementación en @capgo/background-geolocation, Inicio para el detalle de implementación en Inicio, Directorio de Plugins Capgo para el flujo de trabajo del producto en Directorio de Plugins Capgo, Plugins de Capacitor por Capgo para el detalle de implementación en Plugins de Capacitor por Capgo, y Agregar o Actualizar Plugins para el detalle de implementación en Agregar o Actualizar Plugins.