Skip to content

Suivi de localisation

Cet article montre comment configurer la géolocalisation pour votre application Android ou FireOS.

Ajoutez au moins l’une des autorisations suivantes à votre fichier AndroidManifest.xml pour déclarer l’intention de votre application de collecter les données de position :

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

ACCESS_FINE_LOCATION inclut les données GPS dans le rapport de localisation de l’utilisateur tandis que ACCESS_COARSE_LOCATION inclut les données du fournisseur non-GPS le plus économe en batterie disponible (par exemple, le réseau). La localisation approximative sera probablement suffisante pour la plupart des cas d’utilisation ce type de données. Cependant, sous le modèle d’autorisations de temps d’exécution, recevoir l’autorisation de position de la part de l’utilisateur autorise implicitement la collecte des données de localisation précise. Jetez un œil à Stratégies de localisation des développeurs Android pour en savoir plus sur les différences entre ces autorisations de localisation et comment vous devez les utiliser.

Désactiver le suivi automatique de la localisation

Option de temps de compilation

Pour désactiver le suivi automatique de la localisation lors de la compilation, définissez com_braze_enable_location_collection sur false dans braze.xml :

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

Option d’exécution

Pour désactiver sélectivement le suivi automatique de la localisation lors de l’exécution, utilisez 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)

Enregistrer manuellement la position

Même lorsque le suivi automatique est désactivé, vous pouvez enregistrer manuellement des points de données de localisation uniques via la méthode setLastKnownLocation() sur BrazeUser comme ceci :

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)
}
CETTE PAGE A-T-ELLE ÉTÉ UTILE?
New Stuff!