Lebihkan ke konten utama
Kembali ke plugin
@capgo/capacitor-geolokasi-latar
Tutorial
@capgo/capacitor-geolokasi-latar

Geolokasi Latar

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

Panduan

Tutorial Lokasi Latar Belakang

Uji coba di perangkat

Unduh aplikasi Capgo, kemudian scan kode QR code.

Pratinjau QR Plugin Lokasi Latar Belakang code

Menggunakan @capgo/background-geolocation

Geolokasi latar belakang yang akurat dan penggelembungan geografis asli untuk Capacitor aplikasi 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 Dapat Diketahui Plugin Ini

  • start - Alirkan pembaruan lokasi latar belakang atau depan yang akurat.
  • stop - Berhenti mengikuti lokasi aktif.
  • openSettings - Buka pengaturan asli native ketika pengguna perlu memperbaiki izin lokasi.
  • setPlannedRoute - Mainkan suara native ketika pengguna meninggalkan rute yang direncanakan.
  • setupGeofencing - Konfigurasi pengaturan geofence 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 diamati.
  • geofenceTransition - listener - Terima peristiwa masuk dan keluar saat aplikasi aktif.
  • geofenceError - listener - Tangani kesalahan pemantauan native secara terpisah dari peristiwa transisi.

- Contoh Penggunaan

start

- Untuk memulai mendengarkan perubahan lokasi perangkat, panggil metode ini. Sebuah Promise dikembalikan untuk menunjukkan bahwa panggilan selesai. Panggilan callback akan dipanggil setiap kali lokasi baru tersedia, atau jika terjadi kesalahan saat memanggil metode ini. Jangan bergantung pada penolakan promise untuk hal 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

- Berhenti memperbarui lokasi.

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

await BackgroundGeolocation.stop();

openSettings

- Buka 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

- Mainkan file suara ketika pengguna berjalan 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]]
});

- Geofencing native

- Pantau toko, lokasi kerja, zona pengiriman, kampus, atau area check-in dengan geofence native iOS dan Android. Tambahkan HTTP atau HTTPS url - untuk memungkinkan native code mengirimkan payload transisi POST saat WebView ditangguhkan.

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 ke aplikasi manifest Anda hanya ketika Anda memerlukan geofencing latar belakang:

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

Referensi Lengkap

Teruskan dari Menggunakan @capgo/geolokasi-kebelakang

Jika Anda menggunakan Menggunakan @capgo/geolokasi-kebelakang untuk merencanakan pekerjaan plugin native, hubungkannya dengan @capgo/geolokasi-kebelakang untuk detail implementasi di @capgo/geolokasi-kebelakang, Bantuan Mulai untuk detail implementasi di Getting Started, Capgo Plugin Directory for the product workflow in Capgo Plugin Directory, Capacitor Plugins by Capgo for the implementation detail in Capacitor Plugins by Capgo, and Tambah atau Perbarui Plugin untuk detail implementasi di Tambah atau Perbarui Plugin.