Petunjuk
Tutorial Pemantauan Lokasi Latar Belakang
Menggunakan @capgo/pemantauan-lokasi-latar-belakang
Pemantauan lokasi latar belakang yang akurat dan pemfencing native untuk aplikasi Capacitor di iOS dan Android. Gunakan untuk mengalirkan pembaruan lokasi yang tepat, memantau wilayah lingkaran, dan mengirimkan transisi masuk/keluar pemfencing ke JavaScript atau backend Anda.
Instal
bun add @capgo/background-geolocation
bunx cap sync
Apa yang Dapat Diketahui Plugin Ini
start- Stream lokasi yang akurat di depan atau di belakang.stop- Berhenti mengikuti lokasi aktif.openSettings- Buka pengaturan native ketika pengguna perlu memperbaiki izin lokasi.setPlannedRoute- Mainkan suara native ketika pengguna meninggalkan rute yang direncanakan.setupGeofencing- Konfigurasi default geofence native dan pengiriman webhook transisi optional.addGeofence- Pantau wilayah geofence bulat iOS atau Android.removeGeofence/removeAllGeofences- Berhenti memantau satu atau semua wilayah yang terdaftar.getMonitoredGeofences- Daftar identifikasi wilayah yang dipantau.geofenceTransitionlistener - Terima event masuk dan keluar sementara aplikasi aktif.geofenceErrorlistener - Tangani kesalahan monitoring native terpisah dari event transisi.
Contoh Penggunaan
start
Untuk memulai mendengarkan perubahan lokasi perangkat, panggil metode ini. Sebuah Promise dikembalikan untuk menunjukkan bahwa metode ini telah selesai. Panggilan 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
Mengeluarkan suara file 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]]
});
Geofencing native
Mengawasi toko, lokasi pekerjaan, zona pengiriman, kampus, atau area pendaftaran 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 dalam manifesto aplikasi hanya ketika Anda memerlukan geofencing latar belakang:
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
Referensi Lengkap
- GitHub: https://github.com/Cap-go/capacitor-geolokasi-latar-belakang/
- Dokumen: /docs/plugins/background-geolocation/
Teruskan dari Menggunakan @capgo/background-geolocation
Jika Anda menggunakan Menggunakan @capgo/background-geolocation untuk merencanakan pekerjaan plugin native, hubungkannya dengan @capgo/background-geolocation untuk detail implementasi di @capgo/background-geolocation, Mengawali untuk detail implementasi di Mengawali, Direktori Plugin Capgo untuk alur kerja produk di Direktori Plugin Capgo, Plugin Capacitor oleh Capgo untuk detail implementasi di Capacitor Plugins oleh Capgo, dan Tambahkan atau Perbarui Plugins untuk detail implementasi di Tambahkan atau Perbarui Plugins.