Notes de version du SDK Driver pour Android

Cette section contient les notes de version du SDK Driver pour Android.

Annonce: Clôture de la prise en charge des niveaux d'API 23, 24 et 25

Conformément à la Politique de prise en charge des versions d'OS mobiles, nous gelons la prise en charge d'Android 6 et 7 (niveaux d'API 23, 24 et 25) dans les prochaines versions majeures du SDK Driver pour Android.

Les versions du SDK Driver pour Android publiées à partir du quatrième trimestre 2025 seront compatibles avec Android 8 (niveau d'API 26) minimum. Les versions antérieures du SDK continueront de prendre en charge Android 6 et 7.

Si vos dépendances ne spécifient pas de numéro de version, votre IDE chargera la dernière version du SDK, et les nouvelles versions de votre application ne seront pas compatibles avec Android 6 et 7.

Spécifiez une version du SDK Driver pour Android dans les dépendances de compilation de votre application afin de contrôler le moment où vous augmentez le système d'exploitation minimal compatible pour les nouvelles versions de votre application.

v6.0.0 (25 novembre 2024)

Correction de bugs

  • Correction d'un problème qui entraînait l'affichage d'erreurs gRPC avec le code "INTERNAL" et un message "Panic! Il s'agit d'un bug !".
  • Amélioration interne visant à réduire les erreurs de connexion lors de la mise à jour de la position, en particulier lorsque l'appareil change de réseau. Cette fonctionnalité sera déployée progressivement (à partir de 0%) une fois la version intégrée.

Nouveautés concernant l'API

  • Suppression de l'interface StatusListener obsolète.

Modifications de dépendance et de configuration

  • Supprimez la dépendance envers glide:cronet-integration dans le fichier POM.xml.
  • Mise à jour des versions compatibles du SDK Navigation vers la version 5.x.
  • À partir de la version 6.0.0 du SDK Driver pour Android, les applications doivent passer à Kotlin 2.0.
  • targetSdk est désormais au niveau d'API 34. Cette exigence s'applique à toutes les applications déployées sur le Google Play Store à partir d'août 2024. Consultez Respecter le niveau d'API cible requis par Google Play.

v5.99.0 (20 septembre 2024)

Correction de bugs

  • Correction d'un problème qui entraînait l'affichage d'erreurs gRPC avec le code "INTERNAL" et un message "Panic! Il s'agit d'un bug !". Cette fonctionnalité sera déployée progressivement (à partir de 0%) une fois la version intégrée.
  • Amélioration interne visant à réduire les erreurs de connexion lors de la mise à jour de la position, en particulier lorsque l'appareil change de réseau. Cette fonctionnalité sera déployée progressivement (à partir de 0%) une fois la version intégrée.

Modifications de dépendance et de configuration

  • Supprimez la dépendance envers glide:cronet-integration dans le fichier POM.xml.

v5.0.0 (12 septembre 2023)

Modifications de dépendance et de configuration

  • Mise à jour du SDK Navigation vers la version 5.x.
  • Mise à niveau de minSdkVersion vers l'API 23.
  • Mise à niveau de la version Kotlin vers la version 1.9.0.
  • Ajout d'une dépendance sur Room. * Les applications qui utilisent le SDK Driver doivent désormais avoir une targetSdkVersion de l'API 31 ou version ultérieure.
  • Les applications qui utilisent le SDK Driver doivent désormais activer la prise en charge de la bibliothèque Java 8. Pour savoir comment procéder, consultez la page https://developer.android.com/studio/write/java8-support.
  • Les applications qui utilisent ProGuard ou Dexguard doivent migrer vers R8. Pour en savoir plus, consultez la page https://developer.android.com/build/shrink-code.
  • Les applications qui utilisent le SDK Driver doivent activer le désucrage. Pour obtenir des instructions, consultez la page https://developer.android.com/studio/write/java8-support#library-desugaring.

Correction de bugs

  • Correction d'un problème de synchronisation de la valeur disableLocationTracking.
  • Introduction d'une nouvelle interface DriverStatusListener qui indique une cause dans les mises à jour d'état des exceptions.
  • Résolution du problème lié aux conducteurs restant à l'arrêt (disponible à partir de la version 4.99.0).

v4.99.0 (9 août 2023)

  • Prise en charge d'une gamme de versions pour la dépendance NavSDK. ** Compatible avec les versions 4.5.0 à 5.0.0 (non incluse).
  • Empêcher l'heure d'arrivée estimée de diminuer d'elle-même lorsque le véhicule est à l'arrêt. Cette modification est déployée progressivement à titre expérimental. Il se peut donc que toutes les applications ne la voient pas simultanément.

v4.5.0 (12 mai 2023)

  • Mise à jour de la dépendance du SDK Navigation vers la version 4.5. Notez que les ID de groupe et d'artefact du SDK Navigation ont changé.

v4.4.3 (20 mars 2023)

Modification de la dépendance

  • Mise à niveau de la dépendance du SDK Navigation vers la version 4.4.1.

v4.4.2 (15 février 2023)

Correction de bugs

  • Amélioration du temps de récupération du réseau lorsque le SDK rencontre un problème de connexion temporaire. Il s'agit d'un correctif expérimental.

  • Suppression des requêtes UpdateVehicle qui ne contiennent qu'un emplacement "brut".

  • Correction d'une condition de concurrence dans l'API ALPHA "Vue d'ensemble de l'itinéraire".

v4.4.1 (18 novembre 2022)

Correction de bugs

  • Correction d'un bug dans la logique d'importation du trafic.

Changements supplémentaires

  • Améliorations internes apportées aux en-têtes de requête et aux rapports sur les codes d'état.

v4.4.0 (21 septembre 2022)

Correction de bugs

  • Correction d'un bug qui empêchait la suppression de la notification "Conduire avec Google Maps" si l'instance de l'API n'était pas effacée.

Modification de la dépendance

  • Mise à niveau de la dépendance du SDK Navigation vers la version 4.2.2.

v4.3.0 (24 août 2022)

Améliorations internes.

Annonce: Fin de la prise en charge d'Android 5 (21 juillet 2022)

Pour notre dernière version de SDK (v4.2.0), nous proposons une année supplémentaire de prise en charge des applications exécutées sur Android 5, pour les niveaux d'API 21 et 22.

Ce que cela signifie :

  • Le SDK Navigation et le SDK Driver exécutés sur vos applications Android seront compatibles avec Android 5 (niveau d'API 21) minimum jusqu'au 30 juin 2023.
  • Après le 30 juin 2023, nous ne prendrons en charge que les niveaux d'API Android 23 et supérieurs. En d'autres termes, nous cesserons de prendre en charge les niveaux d'API Android 21 et 22 pour toutes les versions de SDK après cette date. Cela signifie que les bugs liés à Android 21 ou 22 dans n'importe quelle version de SDK (y compris 4.x) ne seront pas corrigés, et nous ne garantissons pas que les SDK se comporteront correctement.

Cet avis remplace l'avis de gel de l'assistance pour Android 21 et 22 du 21 juin 2021, ainsi que l'avis de gel de l'assistance pour Android 23, 24 et 25 du 18 octobre 2021.

v4.2.0 (8 juin 2022)

Modification de la dépendance

  • Mise à niveau de la dépendance du SDK Nav vers la version 4.1.3.
  • Règle le niveau d'API Android minimal accepté sur 21.

v4.1.0 (28 avril 2022)

Nouveautés concernant l'API

  • Renommage de la propriété parentId de l'objet Task en trackingId. L'ancienne propriété existe toujours pour le moment, mais elle est obsolète.

v4.0.0 (29 novembre 2021)

Le niveau d'API Android minimal accepté pour cette version est 23.

Nouveautés concernant l'API

Pour cette version, le SDK Driver pour Android a été mis à jour avec les modifications suivantes.

Modification de l'API VehicleStops

Les objets VehicleStop font désormais référence à une liste d'objets TaskInfo au lieu d'une liste d'objets Task. Si vous avez besoin de l'état de la tâche, nous vous recommandons de le suivre dans le code de votre application.

  • Ajout d'une nouvelle classe: TaskInfo

  • Remplacement de la fonction getTasks de VehicleStop par la fonction getTaskInfoList.

  • Remplacement de la fonction setTasks de VehicleStop.Builder par la fonction setTaskInfoList.

Surveillance des plantages

La surveillance et le reporting des plantages ont été ajoutés pour améliorer la stabilité du SDK. Cette fonctionnalité est activée par défaut, mais vous pouvez la désactiver si vous appelez setAbnormalTerminationReportingEnabled() et lui transmettez une valeur de false avant d'initialiser le SDK.

Async getRemainingVehicleStops

Authentification

Suppression des propriétés inutiles de l'interface AuthTokenContext. ServiceType est maintenant obsolète. Vous n'avez désormais plus besoin d'obtenir de réclamations pour l'ID du véhicule et l'ID de la tâche inclus, au lieu de vous fier à ServiceType.

18 octobre 2021 : gel de la prise en charge des niveaux d'API 23, 24 et 25

Lire l'annonce du 18 octobre

En raison de modifications apportées à nos dépendances internes, les niveaux d'API Android 23, 24 et 25 (Android 6, 7.0 et 7.1) ne seront plus pris en charge dans les nouvelles versions des SDK Navigation et Driver pour Android à partir du troisième trimestre 2022.

Les SDK Navigation et Driver pour les versions d'Android publiées à partir du troisième trimestre 2022 ne seront compatibles qu'avec les appareils exécutant au minimum le niveau d'API Android 26.

Les versions d'application compilées avec la version 4.x ou antérieure des SDK Navigation et Driver pour Android continueront de fonctionner sur les appareils équipés d'Android 25 ou version antérieure.

v3.0.4 (28 juillet 2021)

Fonctionnalités

Avec cette version, le SDK Driver est officiellement séparé du SDK Navigation. Pour en savoir plus, consultez le guide de migration.

Nouveautés concernant l'API

Ajout des méthodes suivantes:

`RidesharingDriverApi.getDriverSdkVersion()`

Amélioration de la stabilité et correction de bugs

Signalez les erreurs PERMISSION_DENIED au lieu de les classer comme des erreurs de connexion.

Annonce d'abandon (21 juin 2021)

Cette annonce décrit l'abandon du SDK Driver pour Android et du SDK Navigation pour Android à compter de la date indiquée ci-dessus. Cette annonce a également été envoyée sous forme d'annonce obligatoire sur le service (MSA) aux clients concernés.

Pour simplifier l'intégration des clients et accélérer notre capacité à proposer des fonctionnalités utiles, nous séparons le SDK Navigation pour Android et le SDK Driver pour Android en deux binaires différents:

  • Le SDK Navigation pour Android, qui fournira des fonctionnalités de navigation/d'itinéraire pour vos conducteurs.
  • Le SDK Driver pour Android, qui vous permettra d'exploiter les services Web avec état de Fleet Engine pour la progression et l'allocation des trajets ou des tâches.

Veuillez noter que le SDK Driver pour Android est dépendant du SDK Navigation pour Android pour les principales fonctions de calcul d'itinéraires.

Quels changements avez-vous apportés au lecteur réduit ?

Voici les principales modifications apportées à la version 3:

  • Deux binaires au lieu d'un.
  • Définitions de packages plus claires pour les classes du SDK Driver pour Android.
  • Le SDK Navigation pour Android inclut le SDK Maps pour Android dans le package (à partir de la version 2 du SDK Navigation pour Android).
    • Cela permet aux cartes et aux fonctionnalités de navigation de coexister sur la même carte (par exemple, en dessinant des polylignes sur une NavigationView) et réduit l'utilisation de la mémoire, car une seule carte est utilisée au lieu de deux.
    • Le SDK Navigation pour Android 3.0 ne présente pas une parité complète des fonctionnalités avec le SDK Navigation pour Android, mais la version 3.2 résoudra la plupart des problèmes. Pour en savoir plus, consultez Que puis-je faire et quand ?
  • La journalisation nous permettra de déboguer plus facilement les problèmes que vous pourriez rencontrer.

Les méthodes suivantes ont également été supprimées dans la version 3, car elles étaient précédemment marquées comme obsolètes et qu'une autre solution existe déjà:

  • Les méthodes du SDK Nav/Driver suivantes ont été abandonnées dans la version 1.16, publiée le 10 août 2020, et ont été supprimées dans la version 3.0 :
    • Waypoint#fromLatLng(*)
    • Waypoint#fromPlaceId(*)
    • Navigator#startGuidance(resumeIntent)
    • NavigationApi#initForegroundServiceManager(*)
  • Pour être complet et clair, notez qu'un certain nombre de méthodes ont été supprimées lors de la transition de la version 1 à la version 2. La plupart d'entre elles étaient des consolidations de classes en double entre le SDK Navigation pour Android et le SDK Maps pour Android. Veuillez consulter le guide de migration pour mieux comprendre ces modifications.

Abandon du SDK Driver pour Android et du SDK Navigation pour Android v1.x

La version 1 du SDK Nav/Driver a été publiée en 2018. Nos versions 3 étant bientôt disponibles, il est temps de supprimer la version 1 pour éviter de ne pas pouvoir prendre en charge de nombreuses versions majeures.

Le temps gagné en ne prenant pas en charge cette version supplémentaire nous permettra de mieux prendre en charge la dernière version majeure et de développer davantage de fonctionnalités importantes pour nos clients.

Par conséquent, le SDK Nav/Driver v1.x est désormais obsolète et ne sera plus maintenu après le 21 juin 2022.

Veuillez prendre le temps de découvrir le fonctionnement des abandons dans les versions de SDK.

Lire l'annonce de révocation

La prochaine version 4.0 du SDK Navigation pour Android et du SDK Driver pour Android sera compatible avec [Android 6.0 (niveau d'API 23)](https://developer.android.com/studio/releases/platforms#6.0){:.external} minimum. La version minimale actuellement prise en charge est Android 5.0 (niveau d'API 21). Nous prévoyons de lancer la version 4.0 au quatrième trimestre 2021. Ainsi :

  • Les versions d'application compilées avec des versions antérieures à la version 4.x continueront de fonctionner sur les appareils Android 21 et 22. Vos applications de pilote qui ont intégré nos SDK actuels continueront de fonctionner sur les appareils équipés d'Android 21 ou version ultérieure.
  • Les versions d'application créées avec le SDK Driver pour Android et le SDK Navigation pour Android v4.x (prévu pour le 4e trimestre 2021, sujet à modification) et versions ultérieures ne pourront pas être installées sur les appareils exécutant Android 21 et 22. La version 4.x s'exécute sur Android 6.0 minimum (niveau d'API 23). Par conséquent, les versions de votre application créées avec la prochaine version 4.x ne peuvent être reçues que par les conducteurs disposant d'appareils équipés d'Android 23 ou version ultérieure. Pour rappel, cela signifie que nos modifications liées au SDK et toutes les modifications que vous avez apportées à l'application ne seront pas visibles par les conducteurs disposant d'appareils équipés d'Android 21 et 22.

Les versions du SDK Navigation pour Android 3 et du SDK Driver pour Android 3 vers lesquelles vous souhaitez passer sont expliquées dans le tableau suivant, ainsi que la date à laquelle elles seront disponibles.

Quelles fonctionnalités de la plate-forme Driver utilisez-vous ? Utilisez-vous ces fonctionnalités ? Les premières versions disponibles vers lesquelles vous devez effectuer la mise à niveau sont les suivantes : Disponibilité prévue
(susceptible d'être modifiée)
Liens de migration
Navigation uniquement
(méthodes NavSDK)
Non NavSDK v3.0.1 Maintenant Guide
Oui NavSDK v3.5 (prévision) sept. 2021
Suivi de la navigation et de Fleet Engine (méthodes NavSDK et DriverSDK) Non SDK Navigation 3.0 et SDK Pilote 3.0 Guide de migration vers la version 3.0 du pilote disponible à la sortie
Oui NavSDK v3.x et DriverSDK v3.0

Pour continuer à utiliser les méthodes supprimées, vous pouvez rester sur la version 1.x, mais sans attendre d'assistance ni de maintenance après le 21 juin 2022 (voir la section suivante).

Nous vous recommandons de migrer vers la version 3.x. Ainsi :

* La dernière version de la version 1.x sera publiée au quatrième trimestre 2021 (à partir de cette date, la version 1 sera "figée").

* Cette dernière version pourra être mise à jour pendant six mois, jusqu'au 21 juin 2022. Passé ce délai, nous ne serons plus en mesure de répondre aux demandes de bugs ou de fonctionnalités pour la version 1.x.

Veuillez prendre le temps de consulter le tableau suivant et le [guide de migration](/maps/documentation/navigation-sdk-android/v2/migration) pour vous aider à gérer ces modifications.

Que puis-je faire d'ici quand ?

Si vous utilisez actuellement : Utilisez-vous ces fonctionnalités ? Pour effectuer la mise à niveau maintenant Pour effectuer la mise à niveau en septembre 2021 Liens de migration
v1.x
(pas de fonctionnalité FleetEngine.java / Driver)
Non NavSDK v3.0 Guide
Oui Aucune option disponible NavSDK 3.x
v1.x
(à l'aide de la fonctionnalité FleetEngine.java / Driver)
Non Aucune option disponible NavSDK 3.x +
DriverSDK 3.x
Le guide ci-dessus, ainsi que le guide de migration vers la version 3.0 du pilote disponible lors de la sortie.
Oui

Nous vous recommandons d'informer vos chauffeurs disposant d'appareils équipés d'Android 21 et 22 de passer à une version plus récente d'Android (Android 6.0 minimum) avant d'intégrer le SDK Driver pour Android et le SDK Navigation pour Android version 4.x ou ultérieure dans votre application pour chauffeurs.

v1.15.3 (9 octobre 2020)

Nouveautés concernant l'API

  • Le SDK Driver s'abonne désormais au SDK Navigation pour obtenir des informations sur le trafic, qui sont envoyées à l'API Fleet Engine.

Amélioration de la stabilité et correction de bugs

  • Correction d'un plantage de l'environnement d'exécution gRPC.

v1.15.2

Fonctionnalités

Ajout de la possibilité d'arrêter la notification persistante. Si la création de rapports sur la position est arrêtée dans l'instance de Fleet Engine, les instructions sont arrêtées dans Navigator, tous les écouteurs de navigation ne sont pas enregistrés et NavigationFragment ou NavigationView est mis en veille.

Amélioration de la stabilité et correction de bugs

  • Correction d'un bug qui entraînait le déclenchement d'une exception si l'instance du moteur de flotte était effacée.

v1.15.1 (12 mai 2020)

Fonctionnalités

Une analyse préliminaire des données de la version 1.15.0 a indiqué des améliorations significatives dans les rapports sur les positions stables (réduction des positions "bloquées"). Ce correctif permet de continuer à améliorer les rapports sur la position. Le problème ANR n'avait aucun rapport avec ces améliorations.

Amélioration de la stabilité et correction de bugs

  • Correction d'un bug qui entraînait parfois l'affichage d'une ligne droite au début du trajet dans l'application grand public.
  • Correction d'un bug qui pouvait entraîner un ANR lorsque des emplacements sont signalés par le SDK. Cela s'est produit en raison d'améliorations de onArrival() susceptibles de provoquer des conflits de verrouillage. Nous avons pu reproduire de manière fiable des erreurs ANR dans certains cas et vérifier que les correctifs ont résolu le problème. L'application de test modifiée pour générer les erreurs ANR a fonctionné pendant huit heures sans erreur ANR après le correctif.

v1.15.0 (23 mars 2019)

Fonctionnalités

  • Ajout de l'état des instructions de navigation pour les événements de début, de sortie de l'itinéraire et d'arrivée afin d'améliorer le suivi de l'emplacement du véhicule.
  • Ajout de la possibilité de continuer à obtenir des positions géocodées indépendamment de l'état de navigation.
  • Ajout d'informations supplémentaires sur les emplacements prédéfinis, comme la précision.

Stabilité et correction de bugs

  • Augmentation de la valeur minSdkVersion pour navsdk à 19.
  • Correction d'un bug qui empêchait les noms de repères lat/lng d'être respectés en cas d'échec du géocodage inversé côté serveur.

Version 1.14.2 (2 février 2019)

Fonctionnalités

  • Empêche le DriverSDK d'envoyer des positions 0,0 à Fleet Engine (meilleur partage des trajets et entrées de localisation d'allocation).
  • Journalisation supplémentaire pour améliorer les problèmes de position bloquée et réduire les solutions de remplacement pour le partage de trajet.
  • Ignorez les appels répétés à setLocationReportingInterval(), sauf si l'intervalle change.
  • Mise à jour des javadocs pour la méthode setReportingInterval() dans le but de décourager les appels répétés de cette méthode à un taux élevé par rapport aux intervalles utilisés.
  • Amélioration de la fiabilité de la localisation de l'API 29.

v1.13.0

Amélioration de la stabilité et correction de bugs

  • Ajoute une dépendance sur okhttp que les clients devront ajouter à leurs builds Gradle.

Version 1.11.7 (18 octobre 2019)

Amélioration de la stabilité et correction de bugs

  • Les mises à jour de position continuent désormais après le déclenchement de onArrival() pour une destination donnée.
  • La notification par défaut (une chaîne constante en mode Navigation libre) correspond au jeu de couleurs défini pour les notifications de navigation. Pour en savoir plus, consultez la section Notifications persistantes partagées.
  • Correction d'un problème où un événement de mise à jour de la position retardée pouvait entraîner une mise à jour de la position factice, provoquant des artefacts tels qu'une ligne droite au début d'un itinéraire.

Version 1.11.6 (4 octobre 2019)

Nouveautés concernant l'API

  • Introduction d'une série de modifications qui garantissent que le SDK Driver reprend rapidement les mises à jour de position après une défaillance réseau. Une fois la connexion réseau rétablie, les mises à jour de position reprennent à la prochaine mise à jour de position planifiée.

Amélioration de la stabilité et correction de bugs

  • setVehicleState() renvoie désormais immédiatement. La mise à jour de FleetEngine se produit désormais sur un thread en arrière-plan. Résolution d'un problème d'erreur ANR (l'application ne répond pas).
  • Correction d'un problème qui entraînait l'affichage des itinéraires de partage de trajets sous forme de ligne droite à l'aide d'anciennes versions du SDK Consumer. Assure que le SDK Driver n'ajoute aucun point de cheminement ponctuel au parcours.