Saltar al contenido principal
Volver a plugins
@capgo/capacitor-geolocalización de fondo
Tutoriales
@capgo/capacitor-geolocalización de fondo

Geolocalización de fondo

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

Guía

Tutoriales sobre Geolocalización de Fondo

Probar en dispositivo

Descargar la aplicación Capgo, luego escanea el código QR code.

Enlace QR de vista previa del plugin de geolocalización de fondo code

Usando @capgo/background-geolocation

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

Instalar

bun add @capgo/background-geolocation
bunx cap sync

¿Qué este plugin expone

  • start - Transmite actualizaciones de ubicación de fondo o de primer plano precisas.
  • stop - Detener el seguimiento de ubicación activo.
  • openSettings - Abrir ajustes nativos cuando los usuarios necesiten corregir permisos de ubicación.
  • setPlannedRoute - Reproducir un sonido nativo cuando el usuario abandona un recorrido planificado.
  • setupGeofencing - Configurar valores por defecto de geofencimiento nativo y entrega de webhook de transición opcional.
  • addGeofence - Monitore un área circular de geofenciamiento iOS o Android.
  • removeGeofence / removeAllGeofences - Detener la 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.

- Ejemplo de uso

start

- Para empezar a escuchar cambios en la ubicación del dispositivo, llame a este método. Se devuelve una Promesa para indicar que terminó 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íe del recorrido planificado. Esto 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

- Monitorear tiendas, sitios de trabajo, zonas de entrega, campus o áreas de registro con geofenciamientos nativos iOS y Android. Agregue un HTTP o HTTPS url para permitir que el code envíe payloads de transición nativas mientras el WebView está suspendido.

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, agrega ACCESS_BACKGROUND_LOCATION al manifiesto de tu aplicación solo cuando necesites geofencing de fondo:

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

Referencia completa

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

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