Skip to main content
重要
  • iOS 14.0 以降、Apple はアプリで共有する位置情報の精度レベルをユーザーが選択できるようにしました。そのため、ユーザーが正確な位置情報を無効にしている場合、リージョンモニタリング(ジオフェンス機能)は動作しません。詳細については、リンクを参照してください。
  • リージョンモニタリングは Always authorization(常に許可) の場合にのみサポートされます。When-in-use authorization(使用中のみ許可)ではこの機能はサポートされません。詳細については、リンクを参照してください。
  • Dwell トリガーは iOS ではサポートされていないため、SDK は Enter トリガーと Exit トリガーのみをサポートします。

位置情報トリガーを有効にする方法

必要な権限:

リージョンモニタリング(ジオフェンス)が動作するには、Always Authorization と正確な位置情報の精度が有効になっている必要があります。そのため、アプリがこれらの権限を取得するように構成されていることを確認してください。また、これらの権限が必要となる状況をユーザーに伝えることは良い習慣であり、ユーザーが権限を許可するきっかけにもなります。

SDK のインストール

Swift Package Manager を使用したインストール

MoEngageGeofence は SDK バージョン 4.2.0 から SPM でサポートされています。統合するには、SDK バージョン 9.23.0 以上の場合は GitHub URL https://github.com/moengage/apple-sdk.git を、それ以外の SDK バージョンの場合は https://github.com/moengage/MoEngage-iOS-SDK.git を使用し、ブランチを master または必要なバージョンに設定します。

CocoaPod を使用したインストール

情報CocoaPods は非推奨になりつつあります。MoEngage では、すべての新規統合に Swift Package Manager を使用することを推奨しています。CocoaPods の詳細については、CocoaPods 統合ガイドを参照してください。
以下のように podfile に依存関係を追加して、MoEngageGeofence フレームワークを統合します。
次に pod install を実行してフレームワークをインストールします。

手動統合

MoEngageGeofence SDK をプロジェクトに手動で統合するには、こちらのドキュメントに従ってください。
注意バージョン 4.2.0 から MOGeofence は MoEngageGeofence に名前が変更されました。podfile と import 文を適宜更新してください。

ジオフェンスモニタリングの開始:

MoEngageGeofence モジュールを統合した後、startGeofenceMonitoring() メソッドを呼び出してジオフェンスモジュールを開始します。これにより、ユーザーの現在地周辺のジオフェンスが取得されます。
Geofence Handler には didEnterRegion と didExitRegion のコールバックもあります。これらは MoEngageSDKGeofence.sharedInstance.setGeofenceDelegate(self) のように準拠することで取得できます。

ジオフェンスモニタリングの停止:

バージョン 9.3.0 以降、ジオフェンスのモニタリングを停止する機能をサポートしています。ジオフェンスモニタリングを停止するには、stopGeofenceMonitoring() メソッドを呼び出します。

ジオフェンスのテスト

まず、MoEngage ダッシュボードでジオフェンスキャンペーンを作成します。ジオフェンスは以下の方法でテストできます。
  1. シミュレーターの場合:
    • 以下のように位置情報をシミュレートできます。
      Loctri1
    • ダッシュボードでキャンペーンを作成した位置をシミュレートします。対応するコールバック(MoEngageGeofenceHandler のデリゲートメソッド)を受け取れば問題ありません。シミュレーターではプッシュ通知は受信されません。
  2. デバイスの場合:
    • 以下のように、コンソール上部のバーから実機の位置情報をシミュレートできます。
      Loctri2
    • 位置情報を設定した gpx ファイルを追加できます。サンプルの gpx ファイルは以下のとおりです。
デバイスでは、リージョンへの進入または退出のデリゲートコールバックを受け取ると、デバイスに通知が送信されます。これは即座に行われますが、通知の到着には最大 10 分かかる場合があります。

ジオ通知

通知を受信した後、ジオ通知を識別するには、以下のように app_extra パラメーター内にカスタムパラメーター “cType” = “geo” があります。