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 la prise en charge d'Android 21 et 22 du 21 juin 2021, ainsi que l'avis de gel de la prise en charge d'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 compatible sur 21.
v4.1.0 (28 avril 2022)
Nouveautés concernant l'API
Renommage de la propriété
parentId
de l'objetTask
entrackingId
. 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
deVehicleStop
par la fonctiongetTaskInfoList
.Remplacement de la fonction
setTasks
deVehicleStop.Builder
par la fonctionsetTaskInfoList
.
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.
- Ajout de la fonction
setAbnormalTerminationReportingEnabled
àDriverApi
.
Async getRemainingVehicleStops
- Modification de la fonction
getRemainingVehicleStops
deDeliveryVehicleReporter
pour qu'elle renvoie un Future<List<VehicleStop>> au lieu d'une liste <VehicleStop>.
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
.
ServiceType
a été supprimé deAuthTokenContext
.getServiceType()
a été supprimé deAuthTokenContext
.setServiceType
a été supprimé deAuthTokenContext.Builder
.
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.
Le SDK Navigation/Driver pour Android deviendra le SDK Navigation pour Android v3.x et le SDK Driver pour Android v3.x pour Android (binaires fractionné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:
- 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 devant pas prendre 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.
Fin de la prise en charge des SDK Navigation et Driver pour Android 21 et 22
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, sous réserve de modification) et les versions ultérieures ne pourront pas être installées sur les appareils exécutant Android 21 et 22. La version 4.x s'exécutera 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 pourront ê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 (sous réserve de modification) |
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 changements.
Que puis-je faire d'ici quand ?
Si vous utilisez actuellement : | Utilisez-vous ces fonctionnalités ? | Pour passer à une édition supérieure 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 de 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 l'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 saisies des emplacements 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.