Skip to main content
Kembali ke plugin
@capgo/capacitor-background-geolocation
Tutorial
@capgo/capacitor-background-geolocation

Lokasi Latar Belakang

Pemantauan Lokasi Latar Belakang yang Akurat dengan Geofencing Nativ iOS dan Android serta Webhook Transisi

Petunjuk

Tutorial pada Lokasi Latar Belakang

Tes di perangkat

Unduh aplikasi Capgo, kemudian scan kode QR code.

Pratinjau QR lokasi latar belakang plugin code

Menggunakan @capgo/background-geolocation

Lokasi latar belakang yang akurat dan penggelembungan geografis asli untuk aplikasi Capacitor di iOS dan Android. Gunakan untuk mengalirkan pembaruan lokasi yang tepat, memantau wilayah lingkaran, dan mengirimkan transisi masuk/keluar geofence ke JavaScript atau backend Anda.

Pasang

bun add @capgo/background-geolocation
bunx cap sync

Apa yang Dibuka oleh Plugin ini

  • start - Streaming pembaruan lokasi depan atau latar belakang yang akurat.
  • stop - Berhenti mengikuti lokasi aktif.
  • openSettings - Buka pengaturan native ketika pengguna memerlukan izin lokasi.
  • setPlannedRoute - Mainkan suara native ketika pengguna meninggalkan rute yang direncanakan.
  • setupGeofencing - Konfigurasi penggelembungan geografis native default dan pengiriman webhook transisi opsional.
  • addGeofence - Pantau wilayah lingkaran geofence iOS atau Android.
  • removeGeofence / removeAllGeofences - Berhenti memantau satu atau semua wilayah yang terdaftar.
  • getMonitoredGeofences - Daftar identifikasi wilayah yang diawasi.
  • geofenceTransition listener - Terima event masuk dan keluar sementara aplikasi aktif.
  • geofenceError listener - Tangani kesalahan pemantauan native secara terpisah dari event transisi.

Contoh Penggunaan

start

Untuk memulai mendengarkan perubahan lokasi perangkat, panggil metode ini. Sebuah Promise dikembalikan untuk menunjukkan bahwa panggilan selesai. Callback akan dipanggil setiap kali lokasi baru tersedia, atau jika terjadi kesalahan saat memanggil metode ini. Jangan bergantung pada penolakan promise untuk ini.

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

Menghentikan pembaruan lokasi.

import { BackgroundGeolocation } from '@capgo/background-geolocation';

await BackgroundGeolocation.stop();

openSettings

Membuka halaman pengaturan lokasi perangkat. Berguna untuk mengarahkan pengguna untuk mengaktifkan layanan lokasi atau menyesuaikan izin.

import { BackgroundGeolocation } from '@capgo/background-geolocation';

// Direct user to location settings
await BackgroundGeolocation.openSettings();

setPlannedRoute

Memainkan file suara ketika pengguna menyimpang dari rute yang direncanakan. Ini harus digunakan untuk memainkan suara (di latar belakang juga, hanya untuk native).

import { BackgroundGeolocation } from '@capgo/background-geolocation';

await BackgroundGeolocation.setPlannedRoute({
  soundFile: "notification.mp3",
  route: [[-74.0060, 40.7128], [-118.2437, 34.0522]]
});

Pemantauan Geografis Native

Mantau toko, lokasi kerja, zona pengiriman, kampus, atau area pendaftaran dengan pemantauan geografis native iOS dan Android. Tambahkan HTTP atau HTTPS url untuk memungkinkan pemantauan native code mengirimkan payload transisi POST sementara WebView dihentikan.

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();

Pada Android, tambahkan ACCESS_BACKGROUND_LOCATION untuk manifest aplikasi Anda hanya ketika Anda membutuhkan geolokasi latar belakang:

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

Referensi Lengkap

Teruskan dari Menggunakan @capgo/geolokasi-latar-belakang

Jika Anda menggunakan Menggunakan @capgo/geolokasi-latar-belakang untuk merencanakan pekerjaan plugin native, hubungkannya dengan @capgo/geolokasi-latar-belakang untuk detail implementasi di @capgo/geolokasi-latar-belakang, Mulai Membuat untuk detail implementasi di Getting Started, Capgo Direktori Plugin untuk alur kerja produk di Capgo Direktori Plugin, Capacitor Plugin oleh Capgo untuk detail implementasi di Capacitor Plugin oleh Capgo, dan Menambahkan atau Mengupdate Plugin untuk detail implementasi di Menambahkan atau Mengupdate Plugin.