Saltar al contenido principal
@capgo/capacitor-geolocalización de fondo Ubicación De código abierto

Geolocalización de fondo plugin de Capacitor

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

Instalar

bun add @capgo/capacitor-background-geolocation bunx cap sync
npm, pnpm o yarn
  • npm install @capgo/capacitor-background-geolocation
  • pnpm add @capgo/capacitor-background-geolocation
  • yarn add @capgo/capacitor-background-geolocation

Guía

Cómo usar la ubicación de fondo en Capacitor

Probar en dispositivo

Descargue la aplicación Capgo, luego escane el código QR code.

Previsualización del plugin de geolocalización de fondo code

Usando @capgo/background-geolocation

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

Instalar

bun add @capgo/background-geolocation
bunx cap sync

¿Qué expone este plugin?

  • start - Transmite actualizaciones de ubicación de fondo o de frente 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 Configura los valores predeterminados de geofence nativa y la entrega opcional de webhook de transición.
  • addGeofence - Monitorea una región circular de geofencado iOS o Android.
  • removeGeofence / removeAllGeofences - Detener la monitoreo de una o todas las regiones registradas.
  • getMonitoredGeofences - Listar identificadores de regiones monitoreadas.
  • geofenceTransition - listener - Recibe eventos de entrada y salida mientras la aplicación está activa.
  • geofenceError - listener - Maneja 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, llama 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íes 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

- Detiene actualizaciones de ubicación.

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

await BackgroundGeolocation.stop();

openSettings

- Abre 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

- Reproduce un archivo de sonido cuando el usuario se desvía del recorrido planificado. Esto se debe utilizar 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]]
});

- Geofencado nativo

Monitoree tiendas, sitios de trabajo, zonas de entrega, campus o áreas de registro con geofencos nativos de iOS y Android. url Permitir a code enviar 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, agregar ACCESS_BACKGROUND_LOCATION al manifiesto de tu aplicación solo cuando necesites geofencos 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 el detalle de implementación en @capgo/geolocalización de fondo Getting Started para el detalle de implementación en Iniciación Directorio de Plugins de Capgo para el flujo de trabajo del producto en Directorio de Plugins de 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

FAQ

Background Geolocation plugin FAQ

¿Cómo instalo el plugin de geolocalización de fondo en una aplicación Capacitor?

Ejecuta "bun add @capgo/capacitor-background-geolocation" (o "npm install @capgo/capacitor-background-geolocation"), luego ejecuta "bunx cap sync" para que los proyectos iOS y Android capturen el proyecto nativo code. Importa desde "@capgo/capacitor-background-geolocation" en tu aplicación code.

¿Funciona @capgo/capacitor-background-geolocation con React, Vue y Angular?

Sí. La geolocalización de fondo es un paquete Capacitor, por lo que funciona con cualquier framework web que se ejecute dentro de Capacitor, incluyendo Ionic, React, Vue, Angular, Svelte y JavaScript puro.

¿Qué versión de Capacitor soporta @capgo/capacitor-geolocalización de fondo?

Capgo plugins siguen la versión principal de Capacitor: utilice la versión principal del plugin que coincida con la versión principal de Capacitor (por ejemplo, plugin v8 con Capacitor 8). La tabla de compatibilidad en el README de GitHub lista las versiones mantenidas.

¿Es @capgo/capacitor-geolocalización de fondo gratuita y de código abierto?

Sí. El código fuente de code está público en GitHub en https://github.com/Cap-go/capacitor-geolocalización de fondo/ y el paquete es gratuito para instalar desde npm. Se aceptan informes de errores y solicitudes de extracción.

¿Puedo actualizar code que utiliza Geolocalización de fondo sin una revisión de la Tienda de Aplicaciones?

Instalar o actualizar el plugin cambia el code nativo, por lo que necesita una nueva compilación de la tienda. Después de eso, los cambios de JavaScript, HTML y CSS que llaman al plugin pueden enviar instantáneamente con Capgo actualizaciones en vivo.

Envíe cambios de ubicación de fondo sin esperar a la revisión de la aplicación

Una vez que el plugin esté en tu tienda de construcción, Capgo actualiza en vivo tus cambios de JavaScript, HTML y CSS a los usuarios en minutos.

Comienza con Capgo