Guía
Tutorial sobre ubicación de fondo
Usando @capgo/background-geolocation
Geolocalización de fondo precisa y geofenciamiento nativo para aplicaciones Capacitor en iOS y Android. Utilícelo para transmitir actualizaciones de ubicación precisas, monitorear regiones circulares y entregar transiciones de geofenciamiento de entrada/salida a JavaScript o su backend.
Instalar
bun add @capgo/background-geolocation
bunx cap sync
¿Qué expone este plugin?
start- Transmitir actualizaciones de ubicación de fondo o de frente precisas.stop- Detener el seguimiento activo de ubicación.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 predeterminados de geofenciamiento nativo y entrega de webhook de transición opcional.addGeofence- Monitorear una región circular de geofenciamiento de iOS o Android.removeGeofence/removeAllGeofences- Detener el monitoreo de una o todas las regiones registradas.getMonitoredGeofences- Identifica los identificadores de la región monitoreada.geofenceTransitionlistener - Recibe eventos de entrada y salida mientras la aplicación está activa.geofenceErrorlistener - Maneja errores de monitoreo nativo por separado de eventos de transición.
Ejemplo de uso
start
Para comenzar a escuchar cambios en la ubicación del dispositivo, llama 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í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. Debe usarse para reproducir un sonido (también en segundo plano, 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
Monitorea almacenes, sitios de trabajo, zonas de entrega, campus o áreas de registro con geofencas nativas de iOS y Android. Agrega un HTTP o HTTPS url para permitir que el nativo code envíe payloads de transición POST 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();
On Android, agrega ACCESS_BACKGROUND_LOCATION To tu manifesto de la aplicación solo cuando necesites geolocalización de fondo:
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
Referencia completa
- GitHub: https://github.com/Cap-go/capacitor-geolocalización-de-fondo/
- Documentación: /docs/plugins/geolocalización-de-fondo/
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, conecta con @capgo/geolocalización-de-fondo para los detalles de implementación en @capgo/geolocalización-de-fondo, Inicio rápido para los detalles de implementación en Getting Started, Capgo Directorio de Plugins para el flujo de trabajo del producto en Capgo Directorio de Plugins, Capacitor Plugins por Capgo para los detalles de implementación en Capacitor Plugins por Capgo, y Agregar o Actualizar Plugins para los detalles de implementación en Agregar o Actualizar Plugins.