メインコンテンツにジャンプ
プラグインに戻る
@capgo/capacitor-background-geolocation
チュートリアル
@capgo/capacitor-background-geolocation

背景地理位置

ネイティブのiOSとAndroidの地理位置と地理フェンスのトランジションWebhookを備えた、正確な背景の位置追跡

ガイド

バックグラウンドジオロケーションに関するチュートリアル

デバイスでテスト

Capgoアプリをダウンロードし、QRコードcodeをスキャンしてください。

背景地理位置プラグインのプレビュー QR code

@capgo/background-geolocationを使用

iOSとAndroid用のCapacitorアプリ向けの正確な背景地理位置とネイティブのジオフェンス機能。

Install

bun add @capgo/background-geolocation
bunx cap sync

このプラグインが公開するもの

  • start - 正確な前景または背景の位置更新をストリームします。
  • stop - 有効な位置追跡を停止します。
  • openSettings - ユーザーが位置パーミッションを修正する必要があるときに、ユーザーにネイティブの設定を開きます。
  • setPlannedRoute - ユーザーが計画ルートを離れたときにネイティブの音を再生します。
  • setupGeofencing - ネイティブのジオフェンスのデフォルトを構成し、オプションのトランジションWebhookの配信を有効にします。
  • addGeofence - iOSまたはAndroidの円形ジオフェンス地域を監視します。
  • removeGeofence / removeAllGeofences - 一部またはすべての登録地域を停止します。
  • getMonitoredGeofences - 監視地域識別子の一覧を表示します。
  • geofenceTransition リスナー - アプリがアクティブなときにエントリーやエクィットイベントを受信します。
  • geofenceError リスナー - ネイティブモニタリングエラーをトランジションイベントと別々に処理します。

例の使用

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を追加して、ネイティブ__CAPGO_KEEP_0__のPOSTトランジションペイロードをWebViewが休止中でも送信できるようにします。 url to let native code POST transition payloads while the WebView is suspended.

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();

Native geofencing ACCESS_BACKGROUND_LOCATION 必要な場合のみ、背景地理位置を使用するためにアプリのマニフェストに追加します。

<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />

フル リファレンス

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

背景地理位置を使用している場合 Using @capgo/background-geolocation 背景地理位置の実装詳細については、背景地理位置を参照してください。 @capgo/background-geolocation for the implementation detail in @capgo/background-geolocation, 背景地理位置を使用して始める Getting Startedの実装詳細については Capgo プラグイン ディレクトリ Capgo プラグイン ディレクトリの製品ワークフローについては Capacitor プラグインズ by Capgo 実装詳細については Capacitor プラグインズ by Capgo、 プラグインの追加または更新 プラグインの追加または更新の実装詳細については