Passer à la navigation principale
Retour aux plugins
@capgo/capacitor-geolocalisation-de-fond
Tutoriel
@capgo/capacitor-geolocalisation-de-fond

Geolocalisation de fond

Suivi de la localisation de fond précis avec la geolocalisation native iOS et Android ainsi que les webhooks de transition

Guide

Tutoriel sur la géolocalisation en arrière-plan

Tester sur appareil

Téléchargez l'application Capgo, puis scannez le code QR code.

Background Geolocation plugin preview QR code

Utilisation de @capgo/background-geolocation

Une géolocalisation de fond précise et un géofencing natif pour les applications Capacitor sur iOS et Android. Utilisez-la pour diffuser des mises à jour de localisation précises, surveiller des régions circulaires et transmettre les transitions d'entrée/sortie de géofence à JavaScript ou à votre backend.

Installation

bun add @capgo/background-geolocation
bunx cap sync

Ce que cette extension expose

  • start - Diffuser des mises à jour de localisation précises en mode arrière-plan ou en mode avant-plan.
  • stop - Arrêter la traçabilité de localisation active.
  • openSettings - Ouvrir les paramètres natifs lorsque les utilisateurs doivent corriger les autorisations de localisation.
  • setPlannedRoute - Jouer un son natif lorsque l'utilisateur quitte un itinéraire planifié.
  • setupGeofencing - Configurer les paramètres de géofencing natifs par défaut et la livraison facultative d'un webhook de transition.
  • addGeofence - Surveiller une région circulaire de géofence iOS ou Android.
  • removeGeofence / removeAllGeofences - Arrêter la surveillance d'une ou de toutes les régions enregistrées.
  • getMonitoredGeofences - Liste des identificateurs de région surveillée.
  • geofenceTransition - listener - Recevoir les événements d'entrée et de sortie tout en gardant l'application active.
  • geofenceError - listener - Gérer les erreurs de surveillance native séparément des événements de transition.

- Exemple d'utilisation

start

- Pour commencer à écouter les changements de la position du dispositif, appelez cette méthode. Une promesse est renvoyée pour indiquer qu'elle a terminé l'appel. Le callback sera appelé chaque fois qu'une nouvelle position sera disponible, ou si une erreur est survenue lors de l'appel de cette méthode. N'ayez pas confiance dans la rejet de promesse pour cela.

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

- Arrête les mises à jour de la position.

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

await BackgroundGeolocation.stop();

openSettings

- Ouvre la page de paramètres de localisation du dispositif. Utile pour diriger les utilisateurs pour activer les services de localisation ou ajuster les permissions.

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

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

setPlannedRoute

- Joue un fichier audio lorsque l'utilisateur dévie du plan de route prévu. Cela devrait être utilisé pour jouer un son (en arrière-plan également, uniquement pour native).

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

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

- Geofencing natif

- Surveiller les magasins, les sites de travail, les zones de livraison, les campus ou les zones de vérification avec des geofences iOS et Android natifs. Ajoutez un HTTP ou HTTPS url - pour permettre aux code POST de transition de natif tout en gardant la WebView suspendue.

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();

- Sur Android, ajoutez ACCESS_BACKGROUND_LOCATION à votre manifeste d'application uniquement lorsque vous avez besoin de la géolocalisation de fond :

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

Référence complète

Continuez de l'étape Utilisation de @capgo/geolocalisation-de-fond

Si vous utilisez Utilisation de @capgo/geolocalisation-de-fond pour planifier le travail du plugin natif, connectez-l’avec @capgo/geolocalisation-de-fond pour les détails d'implémentation dans @capgo/geolocalisation-de-fond, Prise en main Pour les détails d'implémentation dans Getting Started, Capgo Répertoire des plugins Pour les détails du flux de travail du produit dans Capgo Répertoire des plugins, Capacitor Plugins par Capgo Pour les détails d'implémentation dans Capacitor Plugins par Capgo, et Ajouter ou Mettre à Jour les Plugins Pour les détails d'implémentation dans Ajouter ou Mettre à Jour les Plugins.