capgo/バックグラウンド地理位置を使用
iOSおよびAndroid用のCapacitorアプリ向け正確なバックグラウンド地理位置とネイティブのジオフェンス機能。iOSおよびAndroid用のアプリ向けに、正確な位置更新をストリームし、円形の地域を監視し、JavaScriptまたはバックエンドに送信するジオフェンスのエントリ/エクイットトランジションを実行できます。
インストール
bun add @capgo/background-geolocation
bunx cap sync
このプラグインが公開するもの
start- 正確な前景またはバックグラウンドの位置更新をストリームします。stop- アクティブな位置追跡を停止します。openSettings- ユーザーが位置許可を修正する必要があるときに、ネイティブの設定を開きます。setPlannedRoute- ユーザーが計画ルートを離れたときにネイティブの音を再生します。setupGeofencing- ネイティブのジオフェンスのデフォルトを構成し、オプションのトランジションWebhookの配信を実行します。addGeofence- iOSまたはAndroid用の円形のジオフェンス地域を監視します。removeGeofence/removeAllGeofences- 一部またはすべての登録地域を停止します。getMonitoredGeofences- 監視地域の識別子を表示します。geofenceTransition- listener - アプリが有効な場合にエントリーやエクィットイベントを受信します。geofenceError- listener - ネイティブモニタリングエラーをトランジションイベントと別々に処理します。
例の使用
start
このメソッドを呼び出すことで、デバイスの位置の変更を監視することができます。Promiseが返され、呼び出しが完了したことを示します。コールバックは、新しい位置が利用可能になったときや、このメソッドを呼び出したときにエラーが発生したときに呼び出されます。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を使用して、WebViewが一時停止している間にもトランジションペイロードをPOSTできます。
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" />
フルリファレンス
- GitHub: https://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 Background Geolocationプラグインの実装詳細については、 Capgo Plugin Directory for the product workflow in Capgo Plugin Directory, Capacitor Plugins by Capgo for the implementation detail in Capacitor Plugins by Capgo, and プラグインの追加または更新 プラグインの追加または更新の実装詳細については、プラグインの追加または更新を参照してください。