メインコンテンツにスキップ
@capgo/バックグラウンド地理位置 Location オープンソース

背景位置情報 Capacitor プラグイン

iOSとAndroidのネイティブジオフェンス、ウェブフックのトランジションを備えた、正確な背景位置情報のトラッキング

インストール

bun add @capgo/background-geolocation bunx cap sync
npm、pnpm、またはyarn
  • npm install @capgo/background-geolocation
  • pnpm add @capgo/background-geolocation
  • yarn add @capgo/background-geolocation

ガイド

背景地理位置の使用方法はCapacitor

capgo/background-geolocationを使用

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" />

フルリファレンス

使用中の@capgo/background-geolocationから続けてください

あなたが使用している場合 @capgo/background-geolocationを使用 ネイティブ プラグインの作業を計画するには、 @capgo/バックグラウンド地理位置 capgoを使用してnativeプラグインの作業を計画する場合、@capgo/background-geolocationと接続してください __CAPGO_KEEP_0__/background-geolocation Capacitor背景地理位置プラグイン Capgo プラグインディレクトリ for the product workflow in Capgo Plugin Directory, Capacitor Capgoのプラグイン Capacitor Background Geolocationの実装詳細については、Capacitor プラグインによってCapgoで提供されます。 プラグインの追加または更新 Capacitor背景地理位置プラグインの使用方法

FAQ

バックグラウンド地理位置プラグインの FAQ

Capacitor の background-geolocation プラグインを Capacitor アプリにインストールするにはどうすればいいですか?

Run &quot;bun add @capgo/background-geolocation&quot; (または &quot;npm install @capgo/background-geolocation&quot;), すると iOS と Android のプロジェクトが code を認識し、インポートすることができます。 その後、&quot;bunx cap sync&quot; を実行して、iOS と Android のプロジェクトが code を認識し、インポートすることができます。 その後、code で `@capgo/background-geolocation` をインポートします。

@capgo/バックグラウンド地理位置機能は、React、Vue、Angularとどのように組み合わせることができますか?

はい。 Background Geolocation は Capacitor パッケージなので、Ionic、React、Vue、Angular、Svelte、または単純な JavaScript などの Capacitor 内で実行されるすべての Web フレームワークと互換性があります。

Which Capacitor version does @capgo/background-geolocation support?

Capgo plugins follow Capacitor&#39;s major version: use the plugin major version that matches your Capacitor major version (for example plugin v8 with Capacitor 8). The compatibility table in the GitHub README lists the maintained versions.

@capgo/バックグラウンド地理位置は無料でオープンソースですか。

Yes. The source code is public on GitHub at https://github.com/Cap-go/capacitor-background-geolocation/ and the package is free to install from npm. Bug reports and pull requests are welcome.

Background Geolocation を使用する code を App Store のレビューなしでアップデートできますか?

プラグインをインストールまたはアップグレードすると、ネイティブ code が変更されるため、新しいストアビルドが必要になります。その後、JavaScript、HTML、CSS の変更がプラグインを呼び出すと、Capgo のライブアップデートで即時配信できます。

背景地理位置の変更をアプリレビューの待たずに配信

プラグインがストアに追加されたら、Capgo のライブアップデートは、ユーザーにJavaScript、HTML、CSSの変更を数分で反映します。

Capgo