Richtlinie
Hinweis: Wie Sie Background-Geolocation in Capacitor verwenden
Verwenden Sie @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 geofence-Eintritts-/Ausgangsübergänge an JavaScript oder Ihren Backend zu liefern.
Installieren
bun add @capgo/background-geolocation
bunx cap sync
Was dieser Plugin bereitstellt
start- Streamen Sie genaue Vorder- oder Hintergrund-Ortungsaktualisierungen.stop- Aktiven Standort-Tracking beenden.openSettings- Öffnen Sie native Einstellungen, wenn Benutzer Standortberechtigungen korrigieren müssen.setPlannedRoute- Spielen Sie ein natives Geräusch, wenn der Benutzer eine geplante Route verlässt.setupGeofencing-Konfigurieren Sie native Geofence-Standardeinstellungen und optionalen Übergabe-Webhook-Übermittlung.addGeofence- Überwachen Sie einen kreisförmigen iOS- oder Android-Geofänge-Bereich.removeGeofence/removeAllGeofences- Beenden Sie die Überwachung eines oder aller registrierten Bereiche.getMonitoredGeofences- Liste der überwachten Regionen identifizieren.geofenceTransition- listener - Empfangen Sie Eintritts- und Ausstiegsereignisse, während die App aktiv ist.geofenceError- listener - Behandeln Sie native Überwachungsfehler separat von Übergangsereignissen.
- Beispielverwendung
start
- Um auf Änderungen in der Geräteposition zu hören, rufen Sie diese Methode auf. Ein Promise wird zurückgegeben, um anzudeuten, dass die Methode 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
- Beendet die Standortaktualisierungen.
import { BackgroundGeolocation } from '@capgo/background-geolocation';
await BackgroundGeolocation.stop();
openSettings
- Öffnet die Einstellungen für die Geräteposition. Nützlich zum Leiten von Benutzern zum Aktivieren der Standortdienste oder zur Anpassung der Berechtigungen.
import { BackgroundGeolocation } from '@capgo/background-geolocation';
// Direct user to location settings
await BackgroundGeolocation.openSettings();
setPlannedRoute
- Spielt ein Tonaufnahmefile ab, wenn der Benutzer von der geplanten Route abweicht. Dies sollte verwendet werden, um ein Tonaufnahmefile abzuspielen (im Hintergrund auch, 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 Geofänge
Überwachen Sie Geschäftsstellen, Baustellen, Lieferzonen, Campusse oder Check-in-Bereiche mit nativen iOS- und Android-Geofängen. Fügen Sie ein HTTP- oder HTTPS- url Um nativen code POST-Übergabezustände während der WebView-Suspendierung 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();
Zur Verwendung von Android hinzufügen: ACCESS_BACKGROUND_LOCATION Zur Verwendung von Android hinzufügen, wenn Sie Hintergrund-Geofängung benötigen:
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
Vollständige Referenz
- GitHub: https://github.com/Cap-go/capacitor-hintergrund-ortung/
- Dokumentation: /docs/plugins/background-geolocation/
Fortsetzen Sie mit der Verwendung von @capgo/background-geolocation
Wenn Sie die Verwendung von Die Verwendung von @capgo/background-geolocation um native Plugin-Arbeit zu planen, verbinden Sie es mit @capgo/Hintergrund-Geolokalisierung für die Implementierungsdetails in @capgo/Hintergrund-Geolokalisierung Getting Started 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 von Capgo, und Plugins hinzufügen oder aktualisieren für die Implementierungsdetails in Plugins hinzufügen oder aktualisieren