重要
- iOS 14.0 以降、Apple はアプリで共有する位置情報の精度レベルをユーザーが選択できるようにしました。このため、ユーザーが正確な位置情報を無効にしている場合、リージョンモニタリング(ジオフェンス機能)は機能しません。詳細については、リンクを参照してください。
- リージョンモニタリングは、常に許可(Always authorization) の場合にのみサポートされます。使用中のみ許可(When-in-use authorization)では、この機能はサポートされません。詳細については、リンクを参照してください。
- Dwell トリガーは iOS ではサポートされていないため、SDK は Enter トリガーと Exit トリガーのみをサポートしています。
位置情報トリガーを有効にする方法
必要な権限:
リージョンモニタリング(ジオフェンス)を機能させるには、常に許可と正確な位置情報の精度が有効になっている必要があります。そのため、アプリがこれらの権限を取得できるように構成されていることを確認してください。また、これらの権限が必要となる状況をユーザーに伝えることは良い習慣であり、ユーザーがこれらの権限を許可することを促すことにもつながります。SDK のインストール
CocoaPods を使用したインストール
以下のように Podfile に依存関係を追加して、MoEngageGeofence フレームワークを統合します。pod install を実行してフレームワークをインストールします。
Swift Package Manager を使用したインストール
MoEngageGeofence は、SDK バージョン 4.2.0 から SPM でサポートされています。統合するには、次の GitHub の URL リンクを使用し、ブランチを master に、またはバージョンを 4.2.0 以上に設定します。https://github.com/moengage/MoEngage-iOS-Geofence.git手動統合
MoEngageGeofence SDK をプロジェクトに手動で統合するには、こちらのドキュメントに従ってください。
ジオフェンスモニタリングの開始:
MOGeofence モジュールを統合した後、startGeofenceMonitoring() メソッドを呼び出してジオフェンスモジュールを開始します。これにより、ユーザーの現在地周辺のジオフェンスが取得されます。
didEnterRegion と didExitRegion のコールバックもあります。これらは MOGeofence.sharedInstance.setGeofenceDelegate(self) のように準拠することで取得できます。
ジオフェンスのテスト
まず、MoEngage ダッシュボードでジオフェンスキャンペーンを作成します。ジオフェンスは次の方法でテストできます。-
シミュレーターの場合:
- 以下に示すように位置情報をシミュレートできます。\

- ダッシュボードでキャンペーンを作成した位置情報をシミュレートします。
対応するコールバック(MOGeofenceHandler のデリゲートメソッド)を受け取れば、問題ありません。シミュレーターではプッシュ通知は受信されません。
- 以下に示すように位置情報をシミュレートできます。\
-
デバイスの場合:
- 以下に示すように、コンソールの上にあるバーから実機の位置情報をシミュレートできます。\

- 位置情報が構成された gpx ファイルを追加できます。サンプルの gpx ファイルは次のようになります。
- 以下に示すように、コンソールの上にあるバーから実機の位置情報をシミュレートできます。\