Skip to content

位置情報とジオフェンス

この記事では、iOS SDK 統合用のジオフェンスの設定について説明します。ジオフェンスは、一部の Braze パッケージでのみ使用できます。最初に、Braze カスタマーサクセスマネージャーに連絡してください。

Braze のリアルタイム位置情報サービスの中核となるのが、ジオフェンスの概念です。ジオフェンスは、緯度と経度を半径と組み合わせて表し、地球上の特定の位置の周りを円で囲んだ仮想的な地理的領域です。

ステップ1: バックグラウンドのプッシュを有効にする

ジオフェンスの同期戦略を最大限に活用するには、標準のプッシュ統合を完了することに加えて、 サイレントプッシュ通知を有効にする必要があります。

ステップ2: Braze の位置情報サービスを有効にする

Braze の位置情報サービスは、SDK を介して有効にする必要があります。これらはデフォルトでは有効になっていません。

ステップ3: ジオフェンスを有効にする

ジオフェンスを有効にするには、Braze インスタンスを初期化する configuration オブジェクトで location.geofencesEnabledtrue に設定します。その他の location 設定オプションはこちらで確認できます。

1
2
3
4
5
6
7
8
9
10
let configuration = Braze.Configuration(
  apiKey: "<BRAZE_API_KEY>",
  endpoint: "<BRAZE_ENDPOINT>"
)
configuration.location.brazeLocationProvider = BrazeLocationProvider()
configuration.location.automaticLocationCollection = true
configuration.location.geofencesEnabled = true
configuration.location.automaticGeofenceRequests = true
let braze = Braze(configuration: configuration)
AppDelegate.braze = braze
1
2
3
4
5
6
7
8
9
10
BRZConfiguration *configuration =
    [[BRZConfiguration alloc] initWithApiKey:brazeApiKey
                                    endpoint:brazeEndpoint];
configuration.logger.level = BRZLoggerLevelInfo;
configuration.location.brazeLocationProvider = [[BrazeLocationProvider alloc] init];
configuration.location.automaticLocationCollection = YES;
configuration.location.geofencesEnabled = YES;
configuration.location.automaticGeofenceRequests = YES;
Braze *braze = [[Braze alloc] initWithConfiguration:configuration];
AppDelegate.braze = braze;

ステップ4: Braze のバックグラウンドプッシュの確認

Braze では、バックグラウンドプッシュ通知を使用してジオフェンスがデバイスと同期されます。サイレントプッシュの無視に関する記事に従って、Braze のジオフェンス同期通知を受信したときにアプリケーションで不要なアクションが実行されないようにします。

ステップ5: Info.plist への位置情報の使用説明文字列の追加

アプリケーションで位置情報を追跡する必要がある理由の説明を含む String 値が含まれる info.plist に、キー NSLocationAlwaysUsageDescriptionNSLocationAlwaysAndWhenInUseUsageDescription または NSLocationWhenInUseUsageDescription を追加します。

この説明は、システムの位置情報プロンプトで権限がリクエストされ、ユーザーに位置情報の追跡の利点を明確に説明する必要がある場合に表示されます。

ステップ6: ユーザーに対する権限のリクエスト

ジオフェンス機能は、Always 位置情報権限か、Background Mode -> Location updates 機能が有効な AuthorizedWhenInUse が付与されている場合にのみ動作します。

Always または AuthorizedWhenInUse 位置情報権限をリクエストするには、次のコードを使用します。

1
2
3
4
var locationManager = CLLocationManager()
locationManager.requestWhenInUseAuthorization()
// or
locationManager.requestAlwaysAuthorization()
1
2
3
4
CLLocationManager *locationManager = [[CLLocationManager alloc] init];
[locationManager requestWhenInUseAuthorization];
// or
[locationManager requestAlwaysAuthorization];

ステップ 7: ダッシュボードでジオフェンスを有効にする

iOS では、1つのアプリに保存できるジオフェンスは20個までとなっています。ジオフェンスを有効にすると、Braze ではこれら20個の利用可能スロットの一部が使用されます。アプリ内の他のジオフェンス関連機能への偶発的または不要な中断を防ぐため、位置情報ジオフェンスはダッシュボード上で個々のアプリに対して有効にする必要があります。位置情報サービスが正しく動作するには、アプリで利用可能なジオフェンススポットがすべて使用されていないことを確認してください。

ジオフェンスを特定のアプリに対して有効にするには、[場所] ページから有効にする方法と、[設定の管理] ページから有効にする方法があります。

[場所] ページからジオフェンスを有効にする

ダッシュボードの [場所] ページでジオフェンスを有効にします。

  1. [オーディエンス] > [場所] に移動します。

2.ジオフェンスが現在有効になっているワークスペース内のアプリの数が、マップの下に表示されます。たとえば、[ジオフェンスが有効になっているアプリ0/1] と表示されます。このテキストをクリックします。 3.ジオフェンスを有効にするアプリを選択します。[完了] をクリックします。 The geofence options on the Braze locations page.

[設定の管理] ページからジオフェンスを有効にする

アプリの設定からジオフェンスを有効にします。

  1. [設定] > [アプリ設定] に移動します。

2.ジオフェンスを有効にするアプリを選択します。 3.[ジオフェンスは有効です] チェックボックスを選択します。[保存] をクリックします。

The geofence checkbox located on the Braze settings pages.

自動ジオフェンスリクエストを無効にする

[init(configuration)][4] に渡される configuration オブジェクトで、自動ジオフェンスリクエストを無効にできます。automaticGeofenceRequestsfalse に設定します。以下はその例です。

1
2
3
4
5
6
7
let configuration = Braze.Configuration(
  apiKey: "{BRAZE_API_KEY}",
  endpoint: "{BRAZE_ENDPOINT}"
)
configuration.automaticGeofencesRequest = false
let braze = Braze(configuration: configuration)
AppDelegate.braze = braze
1
2
3
4
5
6
BRZConfiguration *configuration =
  [[BRZConfiguration alloc] initWithApiKey:{BRAZE_API_KEY}
                                  endpoint:{BRAZE_ENDPOINT}];
configuration.automaticGeofencesRequest = NO;
Braze *braze = [[Braze alloc] initWithConfiguration:configuration];
AppDelegate.braze = braze;

このオプションの使用を選択した場合、機能が動作するよう、ジオフェンスを手動でリクエストする必要があります。

ジオフェンスの手動リクエスト

Braze SDK からジオフェンスにバックエンドからの監視がリクエストされると、ユーザーの現在の位置情報がレポートされ、レポートされた位置情報に基づいて最も関連性が高いと特定されたジオフェンスが受信されます。ジオフェンスの更新には、各セッションで1回というレート制限があります。

最も関連性の高いジオフェンスを受信するために、SDK でレポートされる位置情報をコントロールするには、位置の緯度と経度を指定して、ジオフェンスを手動でリクエストできます。この方法を使用する場合は、自動ジオフェンスリクエストを無効にすることをお勧めします。そのためには、次のコードを使用します。

1
AppDelegate.braze?.requestGeofences(latitude: latitude, longitude: longitude)
1
2
[AppDelegate.braze requestGeofencesWithLatitude:latitude
                                      longitude:longitude];
「このページはどの程度役に立ちましたか?」
New Stuff!