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 dieser Plugin bereitstellt
start- Streamen Sie genaue Vorder- oder Hintergrund-Ortaktualisierungen.stop- Aktiven Standort-Tracking stoppen.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-Standardwerte und optionalen Übergabe-Webhook-Übergänge.addGeofence- Ein Kreisförmiges iOS- oder Android-Geofence-Bereich überwachen.removeGeofence/removeAllGeofences- Die Überwachung eines oder mehrerer registrierter Bereiche einstellen.getMonitoredGeofences- Die Identifikatoren der überwachten Bereiche auflisten.geofenceTransition- listener - Empfangen von Eingabe- und Ausgabeevents, während die App aktiv ist.geofenceError- listener - Native Überwachungsfehler separat von Übergangsereignissen behandeln.
- Beispielverwendung
start
- Um auf Änderungen in der Geräteposition zu hören, rufen Sie diese Methode auf. Ein Promise wird zurückgegeben, um anzugeben, 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 Promises für diesen Zweck.
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 zu der Aktivierung 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, wenn der Benutzer von der geplanten Route abweicht. Dies sollte verwendet werden, um ein Tonaufnahmefile (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
- Überwache Geschäftsstellen, Arbeitsplätze, Lieferzonen, Campusse oder Check-in-Bereiche mit native iOS- und Android-Geofences. Fügen Sie einen HTTP- oder HTTPS- url um native code POST-Übergabe-Pakete während der Suspendierung des WebView zuzulassen.
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();
Fügen Sie auf Android hinzu: ACCESS_BACKGROUND_LOCATION Fügen Sie dies nur in Ihrem Anwendungsmanifest ein, 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/
Fahren Sie mit dem Lesen von Using @capgo/background-geolocation fort.
Wenn Sie @__CAPGO_KEEP_0__/background-geolocation verwenden Verwenden Sie @capgo/background-geolocation, um native Plugin-Arbeit zu planen, und verbinden Sie es mit @__CAPGO_KEEP_0__/background-geolocation @capgo/background-geolocation zur Implementierungsdetail in @capgo/Hintergrund-Geolokalisierung, Einstieg zur Implementierungsdetail in Einstieg, Capgo Plugin-Verzeichnis zur Produktworkflow in Capgo Plugin-Verzeichnis, Capacitor Plugins von Capgo zur Implementierungsdetail in Capacitor Plugins von Capgo, und Plugins hinzufügen oder aktualisieren zur Implementierungsdetail in Plugins hinzufügen oder aktualisieren.