Skip to main content
Version
重要
  • 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 は、バージョン 4.2.0 から MoEngageGeofence に名前が変更されました。Podfile と import 文をそれに応じて更新してください。

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

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

ジオフェンスのテスト

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

ジオ通知

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