Lompat ke Konten Utama
@capgo/geolokasi-latar-belakang Lokasi Terbuka sumber

Geolokasi Latar Plugin Capacitor

Pengukuran lokasi latar belakang yang akurat dengan penggelembungan iOS dan Android native serta webhook transisi web

Pasang

bun add @capgo/background-geolocation bunx cap sync
npm, pnpm atau yarn
  • npm install @capgo/background-geolocation
  • pnpm add @capgo/background-geolocation
  • yarn add @capgo/background-geolocation

Panduan

Cara Menggunakan Lokasi Latar Belakang di Capacitor

Menggunakan @capgo/lokasi-geografis-latar

Lokasi geografis akurat di latar belakang 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 Diketengahkan oleh Plugin Ini

  • start - Streaming lokasi yang akurat di latar depan atau latar belakang.
  • 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 geografis iOS atau Android.
  • removeGeofence / removeAllGeofences - Berhenti memantau satu atau semua wilayah yang terdaftar.
  • getMonitoredGeofences - Daftar identifikasi wilayah yang dipantau.
  • 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. 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

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 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 Geofence Native

Pantau toko, lokasi kerja, zona pengiriman, kampus, atau area check-in dengan pemantauan geofence native iOS dan Android. Tambahkan HTTP atau HTTPS url untuk memungkinkan code POST payload transisi native 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 dalam manifesto aplikasi hanya ketika Anda memerlukan pemantauan geofence latar belakang:

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

Referensi Lengkap

Teruskan dari Menggunakan @capgo/geolokasi-latarbelakang

Jika Anda menggunakan Menggunakan @capgo/geolokasi-latarbelakang untuk merencanakan pekerjaan plugin native, hubungkannya dengan @capgo/geolokasi-latarbelakang untuk detail implementasi di @capgo/geolokasi-latarbelakang, Berikut Langkah Awal untuk detail implementasi di Berikut Langkah Awal, 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.

FAQ

FAQ Plugin Lokasi Latar Belakang

Bagaimana cara saya menginstal plugin Lokasi Latar Belakang di aplikasi Capacitor?

Run &quot;bun add @capgo/background-geolocation&quot; (or &quot;npm install @capgo/background-geolocation&quot;), then run &quot;bunx cap sync&quot; so the iOS and Android projects pick up the native code. Import it from &quot;@capgo/background-geolocation&quot; in your app code.

Apakah @capgo/background-geolocation berfungsi dengan React, Vue dan Angular?

Yes. Background Geolocation is a Capacitor package, so it works with any web framework that runs inside Capacitor, including Ionic, React, Vue, Angular, Svelte and plain JavaScript.

Apa versi Capacitor yang mendukung @capgo/background-geolocation?

Capgo plugins follow Capacitor&#39;s major version: use the plugin major version that matches your Capacitor major version (for example plugin v8 with Capacitor 8). The compatibility table in the GitHub README lists the maintained versions.

Apakah @capgo/background-geolocation gratis dan terbuka sumber?

Yes. The source code is public on GitHub at https://github.com/Cap-go/capacitor-background-geolocation/ and the package is free to install from npm. Bug reports and pull requests are welcome.

Apakah saya bisa memperbarui code yang menggunakan Background Geolocation tanpa melalui tinjauan App Store?

Menginstal atau mengupgrade plugin akan mengubah kode native code, sehingga memerlukan pembangunan aplikasi baru. Setelah itu, perubahan JavaScript, HTML, dan CSS yang memanggil plugin dapat dikirimkan secara langsung dengan Capgo pembaruan live.

Kirim perubahan Background Geolocation tanpa menunggu tinjauan aplikasi

Saat plugin sudah ada di toko Anda, Capgo live updates meneruskan perubahan JavaScript, HTML, dan CSS Anda ke pengguna dalam menit.

Mulai dengan Capgo