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.geofenceTransitionlistener - Terima peristiwa masuk dan keluar saat aplikasi aktif.geofenceErrorlistener - 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
- GitHub: https://github.com/Cap-go/capacitor-geolokasi-latarbelakang/
- Dokumen: /docs/plugins/geolokasi-latarbelakang/
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.