Leitfaden
Tutorial zur Hintergrund-Geolokalisierung
Verwendung von @capgo/background-geolocation
Genauere Hintergrund-Geolokalisierung und native Geofencing für Capacitor-Apps auf iOS und Android. Verwenden Sie es, um präzise Standortaktualisierungen zu streamen, kreisförmige Regionen zu überwachen und Eingabe-/Ausgangsübergänge von Geofängen an JavaScript oder Ihren Backend zu liefern.
Installieren
bun add @capgo/background-geolocation
bunx cap sync
Was diese Erweiterung offenlegt
start- Streamen Sie genaue Vordergrund- oder Hintergrund-Ortaktualisierungen.stop- Beenden Sie die aktive Ortverfolgung.openSettings- Öffnen Sie native Einstellungen, wenn Benutzer die Standortrechte korrigieren müssen.setPlannedRoute- Spielen Sie eine native Tonspur, wenn der Benutzer eine geplante Route verlässt.setupGeofencing- Konfigurieren Sie native Geofence-Standardwerte und optionalen Übergabe-Webhooks für Übergänge.addGeofence- Überwachen Sie eine kreisförmige iOS- oder Android-Geofence-Region.removeGeofence/removeAllGeofences- Die Überwachung einer oder mehrerer registrierter Regionen beenden.getMonitoredGeofences- Liste der überwachten Regionen identifizieren.geofenceTransitionlistener - Empfange Eingabe- und Ausgabeevents, während die App aktiv ist.geofenceErrorlistener - Behandle native Überwachungsfehler getrennt von Übergangsevents.
Beispiel zur Verwendung
start
Um die Änderungen der Geräteposition zu hören, rufen Sie diese Methode auf. Ein Promise wird zurückgegeben, um anzugeben, dass die Anfrage abgeschlossen ist. Der Callback wird aufgerufen, wenn eine neue Position verfügbar ist, oder wenn bei der Aufrufung dieser Methode ein Fehler aufgetreten ist. Verlassen Sie sich nicht auf die Ablehnung des Versprechens für diesen Fall.
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
Stellt die Standortaktualisierungen ein.
import { BackgroundGeolocation } from '@capgo/background-geolocation';
await BackgroundGeolocation.stop();
openSettings
Öffnet die Einstellungen zur Geräteposition. Nützlich zum Leiten der Benutzer zu der Aktivierung der Standortdienste oder der Anpassung der Berechtigungen.
import { BackgroundGeolocation } from '@capgo/background-geolocation';
// Direct user to location settings
await BackgroundGeolocation.openSettings();
setPlannedRoute
Spielt ein Tonaufnahme ab, wenn der Benutzer sich von der geplanten Route entfernt. Dies sollte verwendet werden, um einen Ton abzuspielen (auch im Hintergrund, nur für native).
import { BackgroundGeolocation } from '@capgo/background-geolocation';
await BackgroundGeolocation.setPlannedRoute({
soundFile: "notification.mp3",
route: [[-74.0060, 40.7128], [-118.2437, 34.0522]]
});
Native Geofencing
Überwache Geschäftsstellen, Baustellen, Lieferzonen, Campus oder Check-in-Bereiche mit native iOS- und Android-Geofences. Fügen Sie einen HTTP- oder HTTPS- url um native code POST-Übergangspakete während der Suspendierung des WebViews zu ermöglichen.
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();
Auf Android hinzufügen ACCESS_BACKGROUND_LOCATION in Ihrem App-Manifest nur dann, wenn Sie Hintergrund-Geofencing benötigen:
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
Vollständige Referenz
- GitHub https://github.com/Cap-go/capacitor-Hintergrund-Geolocation/
- Dokumentation: /docs/plugins/Hintergrund-Geolocation/
Weitermachen von Using @capgo/Hintergrund-Geolocation
Wenn Sie Hintergrund-Geofencing verwenden Mit @capgo/Hintergrund-Geolocation planen Sie native Plugin-Arbeit, verbinden Sie es mit @capgo/Hintergrund-Geolocation für die Implementierungsdetails in @capgo/Hintergrund-Geolocation, Anfängerkurs für die Implementierungsdetails in Anfängerkurs, Capgo Plugin-Verzeichnis für den Produktworkflow in Capgo Plugin-Verzeichnis, Capacitor Plugins von Capgo für die Implementierungsdetails in Capacitor Plugins von Capgo, und Hinzufügen oder Aktualisieren von Plugins für die Implementierungsdetails in Hinzufügen oder Aktualisieren von Plugins.