@capgo/배경 위치 추적 사용
iOS 및 Android에서 Capacitor 앱에 대한 정확한 배경 위치 추적 및 네이티브 지오펜싱을 제공합니다. 위치 업데이트 스트리밍, circular 지역 모니터링 및 JavaScript 또는 백엔드에 지오펜스 입/출 전환을 전달하는 데 사용하세요.
설치
bun add @capgo/background-geolocation
bunx cap sync
이 플러그인이 제공하는 것
start- 정확한 전면 또는 배경 위치 업데이트 스트리밍.stop- 활성 위치 추적 중지.openSettings- 사용자가 위치 권한을 수정해야 할 때 native 설정 열기.setPlannedRoute- 사용자가 계획된 경로를 떠날 때 native 사운드 재생.setupGeofencing- 네이티브 지오펜스 기본값 구성 및 옵션 전환 웹후크 전달.addGeofence- iOS 또는 Android circular 지오펜스 지역 모니터링.removeGeofence/removeAllGeofences- 등록된 지역 중 하나 또는 모든 지역을 중지.getMonitoredGeofences- 지역을 감시하는 식별자 목록을 표시합니다.geofenceTransition- 앱이 활성화된 동안 입/출 장소 이벤트를 수신합니다.geofenceError- 네이티브 모니터링 오류를 전환 이벤트와 별도로 처리합니다.
예시 사용
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
사용자가 계획된 경로에서 벗어났을 때 사운드 파일을 재생합니다. 네이티브에서만 사용할 수 있으며, 배경에서도 재생할 수 있습니다.
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();
Android에서 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__/background-geolocation Capacitor 배경 위치 추적 플러그인 Capgo 플러그인 디렉토리 for the product workflow in Capgo Plugin Directory, Capacitor Plugins by Capgo for the implementation detail in Capacitor Plugins by Capgo, and __CAPGO_KEEP_0__ 플러그인 __CAPGO_KEEP_0__ 플러그인