@capgo/バックグラウンド地理位置を使用
iOSとAndroid用のCapacitorアプリ向け、正確なバックグラウンド地理位置とネイティブのジオフェンス機能。JavaScriptまたはバックエンドに精度の高い位置更新をストリームし、円形の地域を監視し、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/
次のステップは、@capgo/background-geolocationを使用してください。
あなたが@__CAPGO_KEEP_0__/background-geolocationを使用している場合 @capgo/background-geolocationを使用して、ネイティブプラグインの作業を計画するには、接続してください。 @__CAPGO_KEEP_0__/background-geolocationの実装詳細については、@__CAPGO_KEEP_0__/background-geolocationを参照してください。 @capgo/background-geolocation for the implementation detail in @capgo/background-geolocation, 背景地理位置を使用する場合 Capacitor Background Geolocation プラグインの実装詳細については、Getting Started を参照してください。 Capgo プラグイン ディレクトリ Capacitor Background Geolocation プラグインの製品ワークフローについては、Capgo プラグイン ディレクトリを参照してください。 Capacitor プラグインの Capgo によるリスト Capacitor Background Geolocation プラグインの実装詳細については、Capacitor プラグインの Capgo によるリストを参照してください。 __CAPGO_KEEP_0__ プラグインの __CAPGO_KEEP_1__ によるリストの実装詳細については、Adding or Updating Plugins を参照してください。 __CAPGO_KEEP_0__ プラグインの __CAPGO_KEEP_1__ によるリストの実装詳細については、Adding or Updating Plugins を参照してください。