Guide
Tutoriel sur la géolocalisation de fond
Utilisation de @capgo/background-geolocation
Géolocalisation de fond précise et geofencing natif pour les applications Capacitor sur iOS et Android. Utilisez-le pour diffuser des mises à jour de localisation précises, surveiller des régions circulaires et transmettre des transitions d'entrée/sortie de geofence à JavaScript ou à votre backend.
Installation
bun add @capgo/background-geolocation
bunx cap sync
Ce Qu'Exposent Ce Plugin
start- Recevez des mises à jour de localisation précises en avant-plan ou en arrière-plan.stop- Arrêtez la suivi de localisation actif.openSettings- Ouvrez les paramètres natifs lorsque les utilisateurs doivent résoudre les autorisations de localisation.setPlannedRoute- Jouez un son natif lorsque l'utilisateur quitte un itinéraire planifié.setupGeofencing- Configurez les paramètres de geofence natifs par défaut et la livraison facultative d'une notification de transition.addGeofence- Surveillez une région circulaire iOS ou Android.removeGeofence/removeAllGeofences- Arrêtez la surveillance d'une ou de toutes les régions enregistrées.getMonitoredGeofences- Affichez les identificateurs des régions surveillées.geofenceTransition- listener - Recevez des événements d'entrée et de sortie tout en maintenant l'application active.geofenceError- listener - Gérez les erreurs de suivi natif séparément des événements de transition.
Exemple d'Utilisation
start
To commencer à écouter les changements de la localisation du dispositif, appelez cette méthode. Une promesse est retournée pour indiquer que la méthode a terminé l'appel. Le callback sera appelé chaque fois qu'une nouvelle localisation est disponible, ou si une erreur est survenue lors de l'appel de cette méthode. N'attendez pas la rejet de la 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 localisation.
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 parcours planifié. Cela devrait être utilisé pour jouer un son (en arrière-plan également, uniquement pour natif).
import { BackgroundGeolocation } from '@capgo/background-geolocation';
await BackgroundGeolocation.setPlannedRoute({
soundFile: "notification.mp3",
route: [[-74.0060, 40.7128], [-118.2437, 34.0522]]
});
Geofencing natif
Surveillez les magasins, les sites de travail, les zones de livraison, les campus ou les zones de vérification d'entrée avec des geofences iOS et Android natifs. Ajoutez un HTTP ou HTTPS url to let native code POST transition payloads while the WebView is suspended.
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 fichier de manifeste d'application uniquement lorsque vous avez besoin de geofencing en arrière-plan :
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
Référence complète
- GitHub: https://github.com/Cap-go/capacitor-geolocalisation-en-arrière-plan/
- Docs: /docs/plugins/background-geolocation/
Continuez à partir de l'utilisation de @capgo/background-geolocation
Si vous utilisez L'utilisation de @capgo/background-geolocation pour planifier le travail de plugin natif, connectez-le à @capgo/background-geolocation pour les détails d'implémentation dans @capgo/background-geolocation, Démarrage pour les détails d'implémentation dans Démarrage, Capgo Répertoire des plugins pour le flux de travail du produit dans Capgo Répertoire des plugins, Capacitor Plugins par Capgo Détails d'implémentation dans les Capacitor Plugins par Capgo, et Ajouter ou Mettre à Jour les Plugins Détails d'implémentation dans Ajouter ou Mettre à Jour les Plugins.