Passer au contenu

Utilisation du module de localisation Pushwoosh dans les applications Android

Il existe deux catégories d’accès à la localisation dans Android :

  • Accès à la localisation au premier plan
  • Accès à la localisation en arrière-plan

Pour mettre à jour la position de l’utilisateur au premier plan, l’une des conditions suivantes doit être remplie :

  • L’une des activités de l’application est active
  • Un service de premier plan de type foregroundServiceType = “location” est lancé pour l’application

L’accès en arrière-plan permet à l’application d’obtenir la géolocalisation de l’utilisateur lorsque l’application est inactive et qu’aucun service de premier plan de type “location” n’est lancé pour cette application.

Accès à la localisation au premier plan

Anchor link to

Si vous prévoyez d’utiliser le module de localisation Pushwoosh pour mettre à jour la position de l’utilisateur uniquement lorsque votre application est active, ajoutez le module pushwoosh-location à votre fichier app/build.gradle :

build.gradle
implementation 'com.pushwoosh:pushwoosh-location:6.+'

Pour lancer le module, utilisez la méthode startLocationTracking :

PushwooshLocation.startLocationTracking();

Utilisation de ForegroundService pour effectuer des requêtes de localisation lorsque votre application est en arrière-plan

Anchor link to

Pour lancer le ForegroundService lorsque la méthode startLocationTracking est appelée, ce qui permet d’obtenir la géolocalisation de l’utilisateur lorsque votre application est en arrière-plan, suivez les étapes décrites dans le paragraphe précédent, puis ajoutez les méta-données suivantes à votre fichier AndroidManifest.xml :

...
<application>
....
<meta-data
android:name="com.pushwoosh.start_foreground_service"
android:value="true" />
...
</application>
...

Lorsque ForegroundService est lancé, une notification est créée. Vous pouvez personnaliser la notification en spécifiant les méta-données supplémentaires dans le fichier AndroidManifest.xml de votre projet :

...
<application>
....
<meta-data
android:name="com.pushwoosh.foreground_service_notification_text"
android:value="My notification text" />
<meta-data
android:name="com.pushwoosh.foreground_service_notification_channel_name"
android:value="My notification channel name" />
...
</application>
...

Accès à la localisation en arrière-plan

Anchor link to

Pour mettre à jour la géolocalisation en arrière-plan sans lancer de ForegroundService, vous aurez besoin des éléments suivants :

<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />

Dans la version 6.3.2 du module pushwoosh-location, nous avons inclus une méthode supplémentaire qui ouvre l’écran des paramètres d’autorisation de localisation si les conditions suivantes sont remplies :

  • L’autorisation de localisation au premier plan est accordée à l’application ;
  • L’autorisation utilisateur ACCESS_BACKGROUND_LOCATION est présente dans le fichier AndroidManifest.xml de l’application.

Appelez la méthode comme suit :

PushwooshLocation.requestBackgroundLocationPermission();

Types d’autorisation sous Android 12+

Anchor link to

À partir d’Android 12, lorsqu’on lui demande l’autorisation d’accès à la localisation au premier plan, un utilisateur peut choisir la fréquence et la précision avec lesquelles l’application obtiendra sa position.

Il existe deux types de ces autorisations :

  1. Localisation approximative, qui équivaut à ACCESS_COARSE_LOCATION
  2. Localisation précise, qui équivaut à ACCESS_FINE_LOCATION et ACCESS_COARSE_LOCATION

Partagez vos commentaires avec nous

Anchor link to

Vos commentaires nous aident à créer une meilleure expérience, nous serions donc ravis de connaître votre avis si vous rencontrez des problèmes lors du processus d’intégration du SDK. Si vous rencontrez des difficultés, n’hésitez pas à nous faire part de vos réflexions via ce formulaire.