@capgo/배경 위치 추적 사용
iOS 및 Android에서 Capacitor 앱에 대한 정확한 배경 위치 추적 및 네이티브 지오펜싱을 제공합니다. 위치 업데이트를 스트리밍하고 원형 영역을 모니터링하고 JavaScript 또는 백엔드에 지오펜스 입/출 transition을 전달하여 precis 위치 업데이트를 사용하세요.
설치
bun add @capgo/background-geolocation
bunx cap sync
이 플러그인이 제공하는 것
start- 정확한 전면 또는 배경 위치 업데이트를 스트리밍합니다.stop- 활성 위치 추적을 중지합니다.openSettings- 사용자가 위치 권한을 수정해야 할 때 native 설정을 열어줍니다.setPlannedRoute- 사용자가 계획된 경로를 떠날 때 native 사운드 재생합니다.setupGeofencing- 네이티브 지오펜스 기본값을 구성하고 옵션 transition webhook 전달을 활성화합니다.addGeofence- iOS 또는 Android 원형 지오펜스 영역을 모니터링합니다.removeGeofence/removeAllGeofences- 등록된 영역 중 하나 또는 모든 영역을 중지합니다.getMonitoredGeofences- 위치를 모니터링하는 지역 식별자 목록을 표시합니다.geofenceTransition- listener - 앱이 활성화된 동안 입장과 퇴장 이벤트를 받습니다.geofenceError- listener - 전환 이벤트와 native monitoring 오류를 별도로 처리합니다.
예시 사용
start
장치의 위치를 변경하는 것을 감지하기 위해 이 메서드를 호출하세요. Promise가 반환되어 호출이 완료되었음을 나타내며, callback은 새로운 위치가 사용 가능한 경우 또는 이 메서드를 호출할 때 오류가 발생한 경우 호출됩니다. Promise가 거부되는 것을 의존하지 마세요.
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
위치 업데이트를 중지합니다.
import { BackgroundGeolocation } from '@capgo/background-geolocation';
await BackgroundGeolocation.stop();
openSettings
장치의 위치 설정 페이지를 열어줍니다. 사용자에게 위치 서비스를 활성화하거나 권한을 조정하도록 안내할 때 유용합니다.
import { BackgroundGeolocation } from '@capgo/background-geolocation';
// Direct user to location settings
await BackgroundGeolocation.openSettings();
setPlannedRoute
사용자가 계획된 경로에서 벗어났을 때 사운드 파일을 재생합니다. 이 메서드는 native에서만 사용할 수 있으며, 백그라운드에서도 재생할 수 있습니다.
import { BackgroundGeolocation } from '@capgo/background-geolocation';
await BackgroundGeolocation.setPlannedRoute({
soundFile: "notification.mp3",
route: [[-74.0060, 40.7128], [-118.2437, 34.0522]]
});
Native geofencing
iOS와 Android의 native 지오펜싱을 사용하여 매장, 작업장, 배송 구역, 캠퍼스, 또는 체크인 지역을 모니터링할 수 있습니다. HTTP 또는 HTTPS를 추가하여 native __CAPGO_KEEP_0__ POST 전환 패이로드를 WebView가 중단된 상태에서 받을 수 있습니다. url to let native code POST transition payloads while the WebView is suspended.
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();
__CAPGO_KEEP_0__ ACCESS_BACKGROUND_LOCATION 앱 매니페스트에만 백그라운드 지오펜싱이 필요할 때 추가하세요:
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
Full Reference
- GitHub: github.com/Cap-go/capacitor-background-geolocation
- 문서: /docs/plugins/background-geolocation/
Using @capgo/background-geolocation
이 기능을 사용 중이라면 Using @capgo/background-geolocation 자연스러운 플러그인 작업을 계획하려면 @__CAPGO_KEEP_0__/background-geolocation @capgo/background-geolocation 자연스러운 플러그인 작업을 계획하려면 @capgo/background-geolocation 자연스러운 플러그인 작업을 계획하려면 @__CAPGO_KEEP_0__/background-geolocation Getting Started에서 구현 세부 정보를 위해 Capgo 플러그인 디렉토리 Capgo 플러그인 디렉토리에서 제품 워크플로우를 위해 Capacitor 플러그인들에 의해 Capgo 구현 세부 정보를 위해 Capacitor 플러그인들에 의해 Capgo, 그리고 플러그인을 추가하거나 업데이트 플러그인을 추가하거나 업데이트에서 구현 세부 정보를 위해