Skip to content

位置情報の追跡

この記事では、Android または FireOS アプリケーションの位置情報の追跡を構成する方法を説明します。

次の権限のうち少なくとも1つをAndroidManifest.xmlファイルに追加して、位置データを収集するアプリの意図を宣言します。

1
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
1
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

ACCESS_FINE_LOCATIONには、ユーザーの位置情報をレポートする際に GPS データが含まれます。ACCESS_COARSE_LOCATIONには、利用可能な最もバッテリー効率の高い非 GPS プロバイダー (ネットワークなど) からのデータが含まれます。ほとんどの位置データの使用例では、大まかな位置で十分な可能性があります。ただし、ランタイム権限モデルでは、ユーザーから位置権限を受け取ると、精度の高い位置データの収集が暗黙的に許可されます。これらの位置情報権限の違いとその使用方法について詳しくは、Android Developers の Location Strategies をご覧ください。

自動位置情報の追跡を無効にする

コンパイル時オプション

コンパイル時に自動位置情報の追跡を無効にするには、braze.xmlcom_braze_enable_location_collectionfalseに設定します。

1
<bool name="com_braze_enable_location_collection">false</bool>

ランタイムオプション

ランタイム時に自動位置情報の追跡を選択的に無効にするには、BrazeConfigを使用します。

1
2
3
4
BrazeConfig brazeConfig = new BrazeConfig.Builder()
  .setIsLocationCollectionEnabled(false)
  .build();
Braze.configure(this, brazeConfig);
1
2
3
4
val brazeConfig = BrazeConfig.Builder()
    .setIsLocationCollectionEnabled(false)
    .build()
Braze.configure(this, brazeConfig)

位置情報を手動で記録する

自動追跡が無効になっている場合でも、以下のようにBrazeUsersetLastKnownLocation()メソッドで、単一の位置のデータ ポイントを手動でログに記録できます。

1
2
3
4
5
6
Braze.getInstance(context).getCurrentUser(new IValueCallback<BrazeUser>() {
  @Override
  public void onSuccess(BrazeUser brazeUser) {
    brazeUser.setLastKnownLocation(LATITUDE_DOUBLE_VALUE, LONGITUDE_DOUBLE_VALUE, ALTITUDE_DOUBLE_VALUE, ACCURACY_DOUBLE_VALUE);
  }
}
1
2
3
Braze.getInstance(context).getCurrentUser { brazeUser ->
  brazeUser.setLastKnownLocation(LATITUDE_DOUBLE_VALUE, LONGITUDE_DOUBLE_VALUE, ALTITUDE_DOUBLE_VALUE, ACCURACY_DOUBLE_VALUE)
}
「このページはどの程度役に立ちましたか?」
New Stuff!