Richtlinie
Tutorial zur Hintergrundortung
Mit @capgo/background-geolocation
Genauere Hintergrundortung und nativer Geofencing für Capacitor-Apps auf iOS und Android. Verwenden Sie es, um präzise Ortungsupdates zu streamen, kreisförmige Regionen zu überwachen und geofence-Eintritts-/Ausgangsübergänge an JavaScript oder Ihren Backend zu liefern.
Installieren
bun add @capgo/background-geolocation
bunx cap sync
Was diese Erweiterung bereitstellt
start- Sendet genaue Vorder- oder Hintergrundortungsdaten.stop- Beendet die aktive Standortverfolgung.openSettings- Öffnet die native Einstellungen, wenn Benutzer die Standortberechtigungen korrigieren müssen.setPlannedRoute- Spielt eine native Tondatei, wenn der Benutzer eine geplante Route verlässt.setupGeofencing- Konfiguriert native Standortbereichsstandards und optionalen Übergabe-Webhook-Übermittlungen.addGeofence- Überwacht einen kreisförmigen iOS- oder Android-Standortbereich.removeGeofence/removeAllGeofences- Beendet die Überwachung eines oder aller registrierten Bereiche.getMonitoredGeofences- Listet die identifizierenden Bezeichner der überwachten Bereiche auf.geofenceTransitionlistener - Empfängt Ein- und Ausgänge, während die App aktiv ist.geofenceErrorlistener - Behandelt native Überwachungsfehler separat von Übergabeereignissen.
Beispiel für die Verwendung
start
To starten Sie die Änderungen in der Geräteposition zu hören, rufen Sie diese Methode auf. Ein Versprechen wird zurückgegeben, um anzugeben, dass die Anrufung 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 dies.
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
Stopp der Standortaktualisierungen.
import { BackgroundGeolocation } from '@capgo/background-geolocation';
await BackgroundGeolocation.stop();
openSettings
Öffnet die Standorteinstellungen der Geräte. Nützlich, um die Benutzer zu den Standortdiensten oder den Berechtigungen zu leiten.
import { BackgroundGeolocation } from '@capgo/background-geolocation';
// Direct user to location settings
await BackgroundGeolocation.openSettings();
setPlannedRoute
Eine Tonaufnahme abspielen, wenn der Benutzer sich von der geplanten Route entfernt. Dies sollte verwendet werden, um eine Tonaufnahme (auch im Hintergrund, nur für native) abzuspielen.
import { BackgroundGeolocation } from '@capgo/background-geolocation';
await BackgroundGeolocation.setPlannedRoute({
soundFile: "notification.mp3",
route: [[-74.0060, 40.7128], [-118.2437, 34.0522]]
});
Native Geofencing
Überwachen Sie Geschäftsstellen, Arbeitsplätze, Lieferzonen, Campi oder Check-in-Bereiche mit native iOS- und Android-Geofences. Fügen Sie ein HTTP- oder HTTPS- url um native code POST-Übergabezustände während der Suspendierung des WebView 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();
Bei Android hinzufügen ACCESS_BACKGROUND_LOCATION zur App-Manifestdatei nur, 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-background-geolocation/
- Dokumentation: /docs/plugins/background-geolocation/
Weitermachen von Using @capgo/background-geolocation
Wenn Sie Using verwenden Verwenden Sie @capgo/background-geolocation um native Plugin-Arbeit zu planen, verbinden Sie es mit @capgo/background-geolocation für die Implementierungsdetails in @capgo/background-geolocation, Einstieg für die Implementierungsdetails in Einstieg, Capgo Plugin-Verzeichnis für den Produktworkflow in Capgo Plugin-Verzeichnis, Capacitor Plugins von Capgo für die Implementierungsdetails in Capacitor-Plugins durch Capgo, und Plugins hinzufügen oder aktualisieren für die Implementierungsdetails in Plugins hinzufügen oder aktualisieren.