Petunjuk
Tutorial Mengenai Lokasi Latar Belakang
Menggunakan @capgo/background-geolocation
Lokasi Latar Belakang yang Akurat dan Penggelembung 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 Dapat Diketahui Plugin Ini
start- Streaming pembaruan lokasi depan atau latar belakang yang akurat.stop- Berhenti mengikuti tracking lokasi aktif.openSettings- Buka pengaturan native ketika pengguna memerlukan untuk memperbaiki izin lokasi.setPlannedRoute- Mainkan suara native ketika pengguna meninggalkan rute yang direncanakan.setupGeofencing- Konfigurasi default dan webhook pengiriman transisi geofence native.addGeofence- Pantau wilayah geofence iOS atau Android berbentuk lingkaran.removeGeofence/removeAllGeofences- Berhenti memantau satu atau semua wilayah yang terdaftar.getMonitoredGeofences- Daftar identifikasi wilayah yang dipantau.geofenceTransition- listener - Terima event masuk dan keluar sementara aplikasi aktif.geofenceError- listener - Tangani kesalahan monitoring 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 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 melenceng 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
Monitor toko, situs kerja, zona pengiriman, kampus, atau area pendaftaran dengan geofence asli iOS dan Android. url Tambahkan HTTP atau HTTPS untuk memungkinkan code POST transisi payload sementara 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 manifest aplikasi Anda 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/geolokasi-latar-belakang/