Guía
Tutorial sobre Geolocalización de Fondo
Usando @capgo/geolocalizació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 precisas, monitorear regiones circulares y entregar transiciones de geofenciamiento de entrada/salida a JavaScript o a tu backend.
Instalar
bun add @capgo/background-geolocation
bunx cap sync
¿Qué Esta Plugin Exposa
start- Transmite actualizaciones de ubicación de frente o fondo con precisión.stop- Detener el seguimiento de ubicación activo.openSettings- Abrir ajustes nativos cuando los usuarios necesitan corregir permisos de ubicación.setPlannedRoute- Reproducir un sonido nativo cuando el usuario abandona una ruta planificada.setupGeofencing- Configurar valores por defecto de geofence nativa y entrega de webhook opcional de transición.addGeofence- Monitorear una región circular de geofence iOS o Android.removeGeofence/removeAllGeofences- Detener el monitoreo de una o todas las regiones registradas.getMonitoredGeofences- Listar identificadores de regiones monitoreadas.geofenceTransitionlistener - Recibir eventos de entrada y salida mientras la aplicación está activa.geofenceErrorlistener - Manejar errores de monitoreo nativo por separado de eventos de transición.
Ejemplo de Uso
start
To comience escuchando cambios en la ubicación del dispositivo, llame a este método. Una Promesa se devuelve 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
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. Este 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 tiendas, sitios de trabajo, zonas de entrega, campus o áreas de registro con geofenciamientos nativos de iOS y Android. Agregue 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();
En Android, agregue ACCESS_BACKGROUND_LOCATION a su manifiesto de la aplicación solo cuando necesite geofenciamiento 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/background-geolocation/
Sigue adelante desde Usando @capgo/background-geolocation
Si estás utilizando Usando @capgo/background-geolocation para planificar el trabajo de plugin nativo, conecta con @capgo/background-geolocation para obtener detalles de implementación en @capgo/background-geolocation, Inicio para obtener detalles de implementación en Inicio, Directorio de Plugins Capgo para el flujo de trabajo del producto en Directorio de Plugins Capgo, Plugins de Capgo de Capacitor 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.