@capgo/배경 위치 추적 사용
iOS 및 Android에서 Capacitor 앱에 대한 정확한 배경 위치 추적 및 네이티브 지오펜싱을 제공합니다. 위치 업데이트 스트리밍, 원형 지역 모니터링 및 자바스크립트 또는 백엔드에 지오펜스 입/출 전환을 전달하는 데 사용하세요.
설치
bun add @capgo/background-geolocation
bunx cap sync
이 플러그인이 제공하는 항목
start- 정확한 전면 또는 배경 위치 업데이트 스트리밍.stop- 활성 위치 추적 중지.openSettings- 사용자가 위치 권한을 수정해야 할 때 native 설정 열기.setPlannedRoute- 사용자가 계획된 경로를 떠날 때 native 사운드 재생.setupGeofencing- 네이티브 지오펜스 기본값 구성 및 선택적 전환 웹후크 전달.addGeofence- iOS 또는 Android 원형 지오펜스 지역 모니터링.removeGeofence/removeAllGeofences- 하나 또는 모든 등록된 지역을 모니터링 중지.getMonitoredGeofences- 위치를 모니터링하는 지역 식별자 목록입니다.geofenceTransition- listener - 앱이 활성화된 동안 입장과 퇴장 이벤트를 받습니다.geofenceError- listener - 네이티브 모니터링 오류를 전환 이벤트와 별도로 처리합니다.
예시 사용
start
장치의 위치를 변경하는 것을 듣기 시작하려면 이 메서드를 호출하세요. Promise는 호출이 완료되었음을 나타내며, callback은 새로운 위치가 사용 가능한 경우 또는 이 메서드를 호출할 때 오류가 발생한 경우 호출됩니다. 이에 대한 약속 거부에 의존하지 마세요.
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
사용자가 계획된 경로에서 벗어날 때 사운드 파일을 재생합니다. 네이티브에서만 사용할 수 있으며, 배경에서도 재생할 수 있습니다.
import { BackgroundGeolocation } from '@capgo/background-geolocation';
await BackgroundGeolocation.setPlannedRoute({
soundFile: "notification.mp3",
route: [[-74.0060, 40.7128], [-118.2437, 34.0522]]
});
네이티브 지오펜싱
네이티브 iOS 및 Android 지오펜스를 사용하여 매장, 작업장, 배송 구역, 캠퍼스 또는 체크인 지역을 모니터링합니다. HTTP 또는 HTTPS url 네이티브 code POST 전환 패킷을 WebView가 중단된 동안 허용하도록 하세요.
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();
안드로이드에서 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의 구현 세부 사항을 참조하세요 for the implementation detail in @capgo/background-geolocation, __CAPGO_KEEP_0__ Getting Started에 설명된 구현 세부 사항에 대해 Capgo 플러그인 디렉토리 Capgo 플러그인 디렉토리에서 제품 워크플로에 대해 Capgo에 의해 Capacitor 플러그인 Capacitor 플러그인에 의해 Capgo에 대해 구현 세부 사항 및 플러그인을 추가하거나 업데이트하는 방법 플러그인을 추가하거나 업데이트하는 방법에 대한 구현 세부 사항에 대해