Web Maniac logo

La géolocalisation dans une application mobile

LA GÉOLOCALISATION DANS UNE APPLICATION MOBILE

De la recherche d’un itinéraire sur Google Maps à l’appel d’un taxi via Uber, une application de géolocalisation est l’épine dorsale de nombreuses entreprises florissantes.

Le City Guide de Foursquare a fidélisé un public de 60 millions d’utilisateurs en leur permettant de s’enregistrer dans des restaurants. Starbucks a augmenté ses ventes en ajoutant des notifications locales. Des entreprises de premier plan dans divers secteurs tirent déjà parti de la technologie de géolocalisation. Mais comment créer une application de géolocalisation qui fera passer votre entreprise au niveau supérieur ? Ici, à MindK, nous avons trouvé la réponse.

Nous avons développé un certain nombre de solutions personnalisées et savons que le succès d’une application de géolocalisation dépend du choix de la pile technologique et d’une approche solide pour résoudre des défis spécifiques.

 

Choix de la pile technologique pour le développement d’une application de géolocalisation

Tout d’abord, il est clair que votre pile technologique sera déterminée par la plateforme (iOS/Android/Web) et les objectifs commerciaux. Toutefois, quelle que soit la plateforme choisie, pour créer une application de géolocalisation, vous devrez utiliser des interfaces de programmation d’applications (ou API), l’une pour connaître l’emplacement de l’utilisateur et l’autre pour placer ces coordonnées sur une carte.

En bref, l’API est une interface qui aide les développeurs à intégrer des fonctionnalités tierces, à échanger des données entre les applications et à connecter des systèmes. Ainsi, l’outil de géolocalisation de l’API, qui vous permet d’apprendre et d’afficher l’emplacement, vous donnera la possibilité d’intégrer des services géodépendants (LBS) dans votre application sans avoir à les développer à partir de zéro. Examinons de plus près ces API.

Géolocalisation iOS

Pour localiser un appareil iOS, vous pouvez utiliser :

  • L’API Google Maps, le service de cartographie le plus populaire au monde. Il est localisé dans la plupart des langues et est incroyablement facile à intégrer. Vous pouvez personnaliser les couleurs de la carte pour l’adapter à votre image de marque, modifier la densité des routes ou supprimer les étiquettes de la carte.
  • L’API Core Location d’Apple permet de localiser un appareil et de déterminer sa direction, son altitude ou la proximité d’une iBeacon.

Pour afficher l’emplacement sur la carte, vous pouvez utiliser Google Maps SDK ou Apple MapKit. Les deux sont assez précis, mais il existe des différences importantes :

La qualité des données reste l’un des atouts majeurs de Google. La carte montre les contours des bâtiments, même dans les petits villages, ainsi qu’un mode « street view » pour les principales villes du monde (sauf en Chine, où Google Maps n’est pas disponible). Comme l’explique Justin O’Beirne, ancien cartographe d’Apple Maps, les données de Google sont généralement plus complètes et plus précises.

Toutefois, cet écart se réduit rapidement. En 2020, Apple a achevé le déploiement d’une toute nouvelle carte des États-Unis qui présente un niveau de détail environnemental beaucoup plus élevé ainsi qu’une vue en 3D des principales villes américaines.

Mise à jour des cartes Apple

Apple MapKit propose plusieurs itinéraires pour conduire/marcher (et des horaires détaillés de transports en commun qui ne sont disponibles que dans les grandes villes américaines). Google propose un seul itinéraire pour la conduite/le taxi, la marche, le vélo ou les transports en commun dans la plupart des villes du monde, ainsi que des informations plus précises sur le trafic grâce à son partenariat avec Waze.

La réalité augmentée et les cartes hors ligne ne sont disponibles que dans Google Maps.

La confidentialité est l’atout d’Apple. La plupart des données de navigation sont stockées sur l’appareil et la localisation de l’utilisateur est masquée lors d’une recherche. Apple ne collecte pas l’historique de recherche/localisation et associe toutes les données collectées à des identifiants aléatoires.

Cartes intérieures. Google fournit une navigation intérieure pour environ 10 000 bâtiments dans le monde. À partir d’iOS 11, Apple ajoute des cartes détaillées pour les principaux aéroports et centres commerciaux. L’entreprise prévoit d’étendre cette fonctionnalité, offrant une transition transparente entre la navigation extérieure et intérieure.

Prix et limites de données. MapKit est gratuit au-delà de votre adhésion à l’Apple Developer Program et ne comporte pas de limites quant au nombre de requêtes API/jour. Les fonctionnalités de Google, au contraire, sont proposées selon un modèle de paiement à l’usage. La tarification est similaire dans le monde entier, malgré une variation significative du potentiel de monétisation. Par exemple, vous bénéficiez de 200 dollars de requêtes gratuites par mois, ce qui correspond à peu près à 100 000 chargements de cartes statiques ou à 40 000 appels de direction. En revanche, les applications mobiles de géolocalisation dotées d’une simple carte dynamique peuvent utiliser le service de géolocalisation gratuitement.

En résumé, dans de nombreux cas, le choix est purement stylistique. Du point de vue des fonctionnalités, Google Maps reste le meilleur choix pour les applications de géolocalisation sur iOS, sauf si vous avez besoin d’une quantité massive d’appels d’API ou si vous ciblez des endroits comme la Chine ou les États-Unis.

Géolocalisation Android

Pour localiser les appareils Android, vous pouvez utiliser l’API Google Location Services qui est plus facile à utiliser, fournit des résultats plus précis et consomme moins d’énergie que le package android.location qui n’est plus recommandé par la plate-forme. L’API Google Location Services vous permet de :

  • De localiser la position de l’utilisateur via le GPS, le Wi-Fi, l’ID cellulaire ou le A-GPS.
  • De détecter les mouvements de l’utilisateur et de réagir à ces changements par des notifications ou d’autres actions.
  • Déterminer la distance par rapport à des lieux sélectionnés, tels que des magasins ou des cafés, qui peuvent être utilisés pour mettre en place des géofences (clôture ou périmètre virtuel autour d’un lieu physique).

Pour visualiser un emplacement sur une carte, vous pouvez utiliser :

  • L’API Google Maps et la classe MapView. Vous devrez installer les bibliothèques Google App correspondantes avant de mettre en œuvre la fonctionnalité de carte, sinon l’API ne sera pas prise en charge par Android.
  • L’API Google Maps Directions pour fournir des indications et planifier des itinéraires. Cette solution prend en charge les transports en commun, le vélo, la marche et la conduite.
  • L’API Google Distance Matrix détermine le temps de trajet prévu en fonction de l’itinéraire choisi, du moyen de transport et des conditions de circulation.

 

Géolocalisation pour les applications Web

Si vous décidez de développer une application web ou une application web progressive avec géolocalisation, vous pouvez utiliser :

  • L’API de géolocalisation W3C qui est prise en charge par la plupart des navigateurs, y compris Chrome et Safari, mais qui ne fonctionne que via https.
  • L’API de géolocalisation HTML5 qui a également été développée par le W3C mais dont les performances sont moindres. Comme elle fonctionne avec du code HTML5 écrit en JavaScript, l’API nécessite que le navigateur prenne en charge le HTML5. L’API peut montrer l’emplacement de l’utilisateur sur la carte ainsi qu’afficher des recommandations et des directions.
  • Maps API ou MapKit JS d’Apple avec une limite quotidienne de 250 000 vues de cartes et 25 000 appels API.

Cependant, il ne suffit pas de fournir aux utilisateurs la fonction de géolocalisation. Il est plus important d’en faire une expérience transparente et sécurisée. C’est pourquoi il est essentiel de comprendre ce qu’il faut faire pour surmonter les difficultés courantes liées au développement d’applications de géolocalisation.

Les 6 principaux défis de la géolocalisation que vous devez être prêt à relever

#1 Faire en sorte que les utilisateurs acceptent la géolocalisation

Les services de géolocalisation ne fonctionnent pas tant que les utilisateurs ne vous autorisent pas à accéder à leur position. Vous devez donc obtenir l’autorisation de l’utilisateur. Voici quelques recommandations sur la manière de le faire :

Choisissez le bon moment pour demander des autorisations. Ce n’est pas une bonne idée de le demander lorsque l’utilisateur lance l’application pour la première fois. Après avoir vu une douzaine de pop-ups d’affilée, de nombreux utilisateurs supprimeraient tout simplement votre application. C’est pourquoi le meilleur moment pour demander des autorisations est lorsque les utilisateurs accèdent à une fonction de localisation (par exemple, en appuyant sur le bouton « Afficher sur la carte »).

Comment demander des autorisationsSource : thinkwithgoogle

Donnez suffisamment de contexte pour prendre une décision. Mettez en évidence la valeur que les gens obtiendront en autorisant la géolocalisation, et donnez une raison claire et transparente pour le suivi de la localisation.

Par exemple, dans iOS 14, à l’exception des options Autoriser une fois, Autoriser uniquement pendant l’utilisation et Ne pas autoriser (introduit dans iOS 13), l’utilisateur peut basculer entre les localisations précises et approximatives.

#2 Atténuez dès le départ toutes les inquiétudes concernant la vie privée

La principale raison pour laquelle les gens refusent le suivi de localisation est le sentiment que Big Brother les surveille. Les statistiques montrent que 52 % des utilisateurs se sentent en danger en utilisant des applications de géolocalisation, tandis que plus d’un tiers des utilisateurs souhaitent une confidentialité totale et ne font pas confiance aux entreprises pour leurs informations privées.

Essayez donc d’être transparent sur ce que vous faites des données des utilisateurs. Combien de temps les stockez-vous ? À quelles fins ? Collectez-vous les données qui ne sont pas strictement nécessaires à vos activités ? Effacez-vous les données lorsqu’elles ne sont plus nécessaires ? Outre la transparence, essayez d’offrir une valeur réelle en échange des données de localisation.

Un cas très médiatisé s’est produit lorsqu’une application appelée « Girls Around Me » a été retirée de l’App Store. À première vue, il s’agissait d’une application de rencontre ordinaire qui permettait aux utilisateurs de voir l’emplacement des filles à proximité et d’accéder à leurs informations personnelles. Cependant, aucune des filles n’a accepté de partager sa position, et elles n’avaient aucune idée que des inconnus les suivaient. L’application utilisait l’API publique de Foursquare pour obtenir des données de localisation et extrayait des informations personnelles de Facebook. Lorsque l’histoire a été portée à la connaissance du public, Foursquare a révoqué l’accès à l’API, rendant l’application inutile.

C’est pourquoi la transparence est le fondement de la confiance. Il est souvent impossible de rétablir sa réputation après une violation de la vie privée. En outre, la violation de la vie privée des utilisateurs peut également avoir de graves conséquences juridiques. Si vous traitez les données personnelles d’un seul citoyen de l’UE, vous devez vous conformer au règlement général sur la protection des données (RGPD) ou subir des amendes pouvant atteindre 20 millions d’euros.

La loi vous oblige à ne collecter que le minimum de données, à les utiliser aux fins prévues, à utiliser le cryptage et à vous assurer que les utilisateurs peuvent effacer complètement leurs données personnelles de vos bases de données et de vos sauvegardes. Si vous souhaitez en savoir plus sur ce sujet, nous avons déjà abordé les étapes clés pour rendre votre application conforme au GDPR.

#3 Protéger les données de géolocalisation

Les gens aiment les offres personnalisées, mais personne ne veut être suivi par des escrocs. Alors que pouvez-vous faire pour protéger les données des utilisateurs ? Voici quelques conseils :

Faites de la sécurité une priorité dès le départ. Suivre les meilleures pratiques de sécurité pendant le développement d’une application géolocalisée vous donne une longueur d’avance contre les attaques éventuelles. Android et iOS fournissent un certain nombre de directives que vous pouvez utiliser pour sécuriser votre application. Il est également recommandé d’examiner le code de l’application avec des outils d’analyse statique comme Apache Yetus, CodeRush et d’autres.

Évaluez les vulnérabilités des composants tiers. Les bibliothèques et les frameworks utilisés dans votre projet peuvent présenter des failles de sécurité qui rendent votre application vulnérable. Il est important d’avoir une connaissance approfondie de tous les composants tiers de votre application et de suivre les mises à jour des bibliothèques pour éviter les vulnérabilités.

Utilisez les meilleures pratiques en matière d’autorisation. Des éléments tels que l’authentification multifactorielle compliquent la tâche des attaquants qui veulent compromettre des comptes en combinant des mots de passe avec une autre méthode d’authentification (comme un code SMS).

Sécurisez les communications. Les attaquants peuvent détourner ou modifier les données sensibles en transit. Chiffrez donc vos communications et installez un certificat SSL provenant d’une autorité de confiance. Il est également recommandé d’utiliser la fonction de configuration de la sécurité réseau sur Android et App Transport Security sur iOS.

Sécurisez le stockage des données. Le stockage de données de localisation non cryptées dans des fichiers aux autorisations non sécurisées présente un autre risque. C’est pourquoi, soit vous ne stockez pas de données sensibles sur les appareils des utilisateurs, soit vous les cryptez avec des algorithmes cryptographiques puissants.

#4 Augmenter l’engagement des utilisateurs

Outre les notifications pertinentes, la gamification est l’un des moyens les plus efficaces d’accroître l’engagement des utilisateurs. Vous pouvez ajouter des récompenses, des points et des niveaux à presque tous les types d’applications.

GasBuddy, qui connaît un succès fou, récompense ses plus de 70 millions d’utilisateurs pour avoir signalé les prix dans les stations-service locales. Vous pouvez échanger les points gagnés contre des billets de tombola et gagner des cartes-cadeaux. L’application affiche un classement pour renforcer la compétitivité.

Vous pouvez également faire participer les utilisateurs grâce à des fonctions sociales. Foursquare a acquis plus de 60 millions d’utilisateurs actifs mensuels en leur permettant de s’enregistrer dans divers lieux, de les évaluer et de les partager avec leurs amis.

#5 Afficher la localisation précise

Différentes applications, notamment les applications de fitness, de course à pied et d’autres activités, permettent aux utilisateurs de visualiser les itinéraires qu’ils ont parcourus. Des relevés GPS imprécis peuvent fausser ces itinéraires. Au lieu de suivre une ligne droite, ils zigzagueront sur toute la carte, traverseront des rivières ou survoleront des bâtiments.

Une façon de résoudre ce problème est d’utiliser le client FusedLocation de Google. Vous pouvez spécifier la fréquence à laquelle vous souhaitez que les données de localisation soient mises à jour (à savoir tous les 50 mètres). Le client fait correspondre les données de localisation aux routes et aux chemins, éliminant ainsi les itinéraires qui traversent directement des bâtiments et autres bizarreries. Vous pouvez même définir un seuil de précision qui bloque les données GPS bruyantes.

#6. Réduire la consommation de la batterie

Les solutions de géolocalisation sont notoirement gourmandes en énergie. Cependant, il y a quelques choses que vous pouvez faire pour prolonger la durée de vie de la batterie. Tout d’abord, posez-vous les questions suivantes :

  • Pouvez-vous réduire la précision du GPS ?
  • Pouvez-vous mettre à jour la localisation moins fréquemment ?
  • Pouvez-vous fournir les données de localisation avec un délai plus important ?
  • Pouvez-vous désactiver le suivi en arrière-plan ?

Toutes ces mesures permettront de réduire la consommation d’énergie. Si ce n’est pas possible, vous pouvez reporter les mises à jour de localisation en arrière-plan jusqu’à ce qu’un certain temps se soit écoulé ou que l’appareil ait parcouru une certaine distance.

Il est également recommandé de désactiver les mises à jour de localisation lorsqu’elles ne sont pas nécessaires. Vous pouvez, par exemple, définir un délai d’attente qui arrêtera les mises à jour au bout d’un certain temps. Enfin, vous pouvez regrouper les demandes de localisation lorsqu’elles sont exécutées en arrière-plan et arrêter de mettre à jour la localisation lorsque la précision du GPS est inférieure à un certain seuil. Pour plus d’informations, consultez les guides sur l’efficacité énergétique pour Android et iOS.

 

Merci pour votre lecture. N’hésitez pas à venir nous rejoindre sur nos réseaux :

Instagram : https://www.instagram.com/web_maniac/

Partagez cet article avec vos amis :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Commencez votre chemin vers le succès dès aujourd'hui

agence@web-maniac.com

07 67 75 53 08