Zum Hauptinhalt springen
Zurück zu Plugins
@capgo/capacitor-background-geolocation
Anleitung
@capgo/capacitor-background-geolocation

Hintergrund-Geolokalisierung

Genauere Hintergrund-Lokalisierung mit nativer iOS- und Android-Geofencing sowie Übergangs-Webhooks

Richtlinie

Tutorial zur Hintergrund-Ortung

auf Gerät testen

Laden Sie die Capgo-App, dann scannen Sie die QR-code-Code.

Hintergrund-Geolokalisierungs-Plugin-Vorschau-QR code

Mit @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 dieses Plugin enthüllt

  • start - Stream genaue Vordergrund- oder Hintergrund-Standortaktualisierungen.
  • stop - Aktives 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-Standardwerte und optionalen Übergabe-Webhook-Delivery.
  • addGeofence - Überwachen Sie eine kreisförmige iOS- oder Android-Geofence-Region.
  • removeGeofence / removeAllGeofences - Beenden Sie die Überwachung einer oder aller registrierten Regionen.
  • getMonitoredGeofences - Liste der überwachten Regionen identifizieren.
  • geofenceTransition listener - Empfange Eingabe- und Ausgabeevents, während die App aktiv ist.
  • geofenceError listener - Behandle native Überwachungsfehler getrennt von Übergangsevents.

Beispiel zur Verwendung

start

Um die Änderungen der Geräteposition zu überwachen, rufen Sie diese Methode auf. Ein Promise wird zurückgegeben, um anzugeben, dass die Anfrage abgeschlossen ist. Der Callback wird aufgerufen, sobald 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.

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 von Benutzern 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

Abspielen eines Tonfiles, wenn der Benutzer von der geplanten Route abweicht. 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]]
});

Natives Geofencing

Überwache Geschäftsstellen, Arbeitsplätze, Lieferzonen, Campi oder Check-in-Bereiche mit nativen iOS- und Android-Geofences. Fügen Sie einen 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-Systemen: ACCESS_BACKGROUND_LOCATION nur dann in Ihre App-Manifest einfügen, wenn Sie Hintergrund-Geofencing benötigen:

<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />

Vollständige Referenz

Weitermachen von Using @capgo/background-geolocation

Wenn Sie native Plugin-Arbeiten planen, verbinden Sie es mit Using @capgo/background-geolocation für die Implementierungsdetails in @__CAPGO_KEEP_0__/background-geolocation, @capgo/background-geolocation for the implementation detail in @capgo/background-geolocation, Einstieg für die Implementierungsdetails in Getting Started, 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.