Guide
Tutoriel sur la géolocalisation de fond
Utilisation de @capgo/background-geolocation
Une géolocalisation précise de fond et une délimitation géographique native 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 de délimitation géographique entrée/sortie vers JavaScript ou votre serveur backend.
Installer
bun add @capgo/background-geolocation
bunx cap sync
Ce que ce plugin expose
start- Diffuser des mises à jour de localisation précises en arrière-plan ou en avant-plan.stop- Arrêter la traçabilité active de localisation.openSettings- Ouvrir les paramètres natifs lorsque les utilisateurs doivent fixer les autorisations de localisation.setPlannedRoute- Jouer un son natif lorsque l'utilisateur quitte un itinéraire planifié.setupGeofencing- Configurer les paramètres de délimitation géographique natifs par défaut et la livraison facultative d'appel Webhook de transition.addGeofence- Suivez une région de géofence 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 faisant fonctionner l'application.geofenceError- listener - Gérez 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. Un Promesse est retourné pour indiquer qu'il a terminé l'appel. Le callback sera appelé chaque fois qu'une nouvelle position sera disponible, ou si il y a eu une erreur 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êtez les mises à jour de la position.
import { BackgroundGeolocation } from '@capgo/background-geolocation';
await BackgroundGeolocation.stop();
openSettings
- Ouvrez 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
- Jouez un fichier audio lorsque l'utilisateur dévie du parcours 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]]
});
- Géofencing natif
- Suivez les magasins, les sites de travail, les zones de livraison, les campus ou les zones de vérification avec des géofences iOS et Android natifs. Ajoutez un HTTP ou HTTPS url permettre aux code de transmettre des payloads POST tout en étant suspendu.
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 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
- GitHub : https://github.com/Cap-go/capacitor-geolocalisation-de-fond/
- Docs : /docs/plugins/geolocalisation-de-fond/
Continuez de l'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/background-geolocation, Prise en main pour les détails d'implémentation dans Prise en main, Répertoire du plugin Capgo pour le flux de travail du produit dans le Répertoire du plugin Capgo, Plugins Capacitor par Capgo pour les détails d'implémentation dans Plugins Capacitor par Capgo, et Ajouter ou mettre à jour des plugins pour les détails d'implémentation dans Ajouter ou mettre à jour des plugins.