Cette section contient les notes de version du SDK du pilote pour Android.
v4.4.2 (15 février 2023)
Correction de bugs
Améliorer le temps de récupération du réseau lorsque le SDK rencontre un problème de connexion temporaire Cette fonctionnalité est en cours de test.
Supprimez les requêtes
UpdateVehicle
qui ne contiennent qu'un emplacement "brut".Corrigez les conditions de concurrence dans l'API ALPHA "Vue d'ensemble des itinéraires".
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êtes et aux rapports sur le code d'état
v4.4.0 (21 septembre 2022)
Correction de bugs
- Correction d'un bug qui empêchait la suppression de la notification "Driving with Google Maps" si l'instance d'API n'était pas effacée.
Changement de dépendance
- Mettez à niveau la dépendance du SDK de navigation vers la version 4.2.2.
v4.3.0 (24 août 2022)
Améliorations internes
Annonce: compatibilité avec les appareils Android 5 (21 juillet 2022)
Pour notre dernière version du SDK (v4.2.0), nous proposons une année supplémentaire de compatibilité pour les 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 pilote exécutés sur vos applications Android seront compatibles avec une version minimale d'Android 5 (niveau d'API 21) jusqu'au 30 juin 2023.
- Après le 30 juin 2023, nous n'accepterons que les niveaux d'API Android 23 et supérieurs. En d'autres termes, à partir de cette date, nous n'accepterons plus les niveaux d'API Android 21 et 22 pour toutes les versions du SDK. Cela signifie que les bugs liés à Android 21 ou 22 dans n'importe quelle version du SDK (y compris 4.x) ne seront pas corrigés, et nous ne garantissons pas qu'ils se comporteront correctement.
Cette notification remplace la notification concernant le gel d'Android 21 et 22 envoyée le 21 juin 2021, et la prise en charge de la compatibilité avec les appareils Android 23, 24 et 25 du 18 octobre 2021.
v4.2.0 (8 juin 2022)
Changement de dépendance
- Mettez à niveau la dépendance du SDK de navigation vers la version 4.1.3.
- fait passer le niveau d'API Android compatible minimum à 21.
v4.1.0 (28 avril 2022)
Mises à jour de l'API
La propriété
parentId
de l'objetTask
a été renomméetrackingId
. L'ancienne propriété existe toujours, mais elle est obsolète.Remplacement de certains types de retours de
Future
par leListenableFuture
plus spécifique et deList
par leImmutableList
plus spécifique.
v4.0.0 (29 novembre 2021)
Le niveau d'API Android compatible avec cette version est au moins défini : 23.
Mises à jour de l'API
Pour cette version, le SDK du pilote 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 d'un état de tâche, nous vous encourageons à le suivre dans le code de votre application.
Nouveau cours ajouté:
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 des plantages et la création de rapports 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 la valeur false
avant d'initialiser le SDK.
- Ajout de la fonction
setAbnormalTerminationReportingEnabled
àDriverApi
.
Async getrestVehicleStops
- Modification de la fonction
getRemainingVehicleStops
deDeliveryVehicleReporter
pour qu'elle renvoie un objet Future<List<VehicleStop>> au lieu d'un objet List<VehicleStop>.
Authentification
Suppression des propriétés inutiles de l'interface AuthTokenContext
.
ServiceType
est obsolète. Vous ne devez maintenant obtenir que des revendications pour l'ID de véhicule et l'ID de tâche inclus, au lieu d'utiliser ServiceType
.
ServiceType
supprimée deAuthTokenContext
.getServiceType()
supprimée deAuthTokenContext
.setServiceType
supprimée deAuthTokenContext.Builder
.
18 octobre 2021 : compatibilité avec les API de niveaux 23, 24 et 25
Lire l'annonce du 18 octobre
En réponse aux modifications apportées à nos dépendances internes, les API Android 23, 24 et 25 (Android 6, 7.0 et 7.1) ne seront plus compatibles avec les nouvelles versions des SDK Navigation et Pilot pour Android à partir du troisième trimestre 2022.
Les SDK Navigation et Pilot pour les versions d'Android publiées à partir du troisième trimestre 2022 n'accepteront que les appareils exécutant au moins le niveau d'API Android 26.
Les versions d'application créées avec la version 4.x ou antérieure des SDK Navigation et pilotes pour Android continueront de fonctionner sur les appareils exécutant une API de niveau 25 ou inférieur.
v3.0.4 (28 juillet 2021)
Fonctionnalités
Avec cette version, le SDK du pilote est officiellement séparé du SDK de navigation. Pour en savoir plus, consultez le guide de migration.
Mises à jour de l'API
Ajout des méthodes suivantes:
DeliveryDriverApi.getDriverSdkVersion()
Stabilité et correction de bugs
Signalez les erreurs PERMISSION_DENIED
au lieu de les classer en tant qu'erreurs de connexion.
Annonce d'abandon (21 juin 2021)
Cette annonce décrit les abandons des SDK Pilot pour Android et Navigation pour Android à la date indiquée ci-dessus. Cette annonce a également été envoyée aux clients concernés sous la forme d'une annonce obligatoire sur le service.
Le SDK Nav/Driver pour Android deviendra le SDK Navigation pour Android v3.x et le SDK Pilot pour Android v3.x pour Android (split binaires).
Pour simplifier l'intégration des clients et accélérer notre capacité à fournir des fonctionnalités utiles, nous divisons le SDK Navigation pour Android et le SDK Driver pour Android en deux binaires différents:
- SDK Navigation pour Android, qui fournit aux conducteurs des fonctionnalités de navigation/routage.
- Driver SDK pour Android, qui vous permettra d'exploiter les services Web avec état Fleet Engine pour la progression et l'allocation des trajets ou des tâches.
Veuillez noter que le SDK pilote pour Android nécessite une dépendance au SDK Navigation pour Android pour les fonctions de routage principales.
Quels changements avez-vous apportés au lecteur réduit ?
Voici les principaux changements de la version 3:
- Deux binaires plutôt qu'un.
- Des définitions de package plus claires pour le SDK Driver pour les classes Android
- Le SDK Navigation pour Android inclut le SDK Maps pour Android dans son emballage (à partir du SDK Navigation pour Android v2).
- Cela permet aux éléments géographiques et de navigation de coexister sur la même carte (par exemple, dessiner des polylignes sur un élément NavigationView) et de réduire 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 dispose pas de la même fonctionnalité complète que le SDK Navigation pour Android, mais la version 3.2 résoudra la plupart des problèmes ici. Pour en savoir plus, consultez Que puis-je faire et quand ?.
- La journalisation nous permettra de résoudre plus facilement les problèmes que vous pouvez 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 pour lesquelles une autre solution existe déjà:
- Les méthodes suivantes du SDK Nav/Driver sont obsolètes dans la version 1.16, publiées le 10 août 2020, et ont été supprimées dans la version 3.0 :
Waypoint#fromLatLng(*)
Waypoint#fromPlaceId(*)
Navigator#startGuidance(resumeIntent)
NavigationApi#initForegroundServiceManager(*)
- Par souci d'exhaustivité et de clarté, notez qu'un certain nombre de méthodes ont été supprimées lors de la transition de la v1 à la v2. Il s'agissait principalement de 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 pilote pour Android et du SDK Navigation pour Android version 1.x
La version 1 du SDK Nav/Driver a été publiée en 2018. Avec la sortie prochaine de la version v3, il est temps d'abandonner la version 1 afin d'éviter de prendre en charge de nombreuses versions majeures.
Le temps gagné en évitant de devoir gérer cette version supplémentaire nous permet de mieux prendre en charge la dernière version majeure et de créer davantage de fonctionnalités importantes pour nos clients.
Ainsi, la version 1.x du SDK Nav/Driver est désormais obsolète et ne sera plus conservée après le 21 juin 2022.
Prenez quelques instants pour découvrir le fonctionnement des abandons dans les versions du SDK.
Fin de l'assistance pour le SDK Navigation et Pilot, Android 21 et 22
Lire l'annonce révoquée
La prochaine version 4.0 du SDK Navigation pour Android et du SDK Driver pour Android sera compatible avec une configuration minimale d'[Android 6.0 (niveau d'API 23)](https://developer.android.com/studio/releases/platforms#6.0){: .external}. La version minimale actuellement compatible 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 antérieures à la version 4.x continueront de fonctionner sur les appareils Android 21 et 22. Vos applis de pilote intégrant nos SDK actuels continueront de fonctionner sur les appareils équipés d'Android 21 ou version ultérieure.
- Les versions de l'application conçues avec Android 3.0 (pour la version 23) compatible avec le SDK Pilote pour Android et le SDK Navigation pour Android v4.x (prévues pour le 4e trimestre 2021, sous réserve de modification) ne pourront pas être installées sur les appareils Android 2.0 et 23.
Les versions du SDK Navigation pour Android v3 et du SDK pilote pour Android v3 que vous souhaitez mettre à niveau sont expliquées dans le tableau suivant, ainsi que la date de leur disponibilité.
Quelles fonctionnalités de la plate-forme de pilote utilisez-vous ? | Utilisez-vous ces fonctionnalités ? | Les premières versions disponibles 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 | ||
Navigation et suivi du parc Fleet (méthodes NavSDK et DriverSDK) | Non | Nav SDK v3.0 et Driver SDK v3.0 | Guide de migration du pilote v3.0 disponible lors de la publication | |
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 assistance ni 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 aura lieu le 4e trimestre 2021 (et la version 1 sera donc "gelée" à partir de cette date).
* Cette dernière version peut être corrigée 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 à comprendre ces changements.
Que puis-je faire quand ?
Si vous utilisez actuellement... | Utilisez-vous ces fonctionnalités ? | Pour effectuer la mise à niveau maintenant | Pour passer à une édition supérieure en septembre 2021 | Liens de migration |
---|---|---|---|---|
v1.x (sans utiliser FleetEngine.java / fonctionnalité de pilote) |
Non | NavSDK v3.0 | Guide | |
Oui | Aucune option disponible | NavSDK 3.x | ||
v1.x (avec la fonctionnalité FleetEngine.java / pilote) |
Non | Aucune option disponible | NavSDK 3.x + DriverSDK 3.x |
Le guide ci-dessus, ainsi que le guide de migration du pilote v3.0, sont disponibles dès le lancement. |
Oui |
Nous vous recommandons d'informer vos pilotes d'appareils équipés d'Android 21 et 22 d'une mise à niveau vers une version plus récente d'Android (Android 6.0 ou version antérieure) avant d'intégrer le SDK du pilote pour Android et le SDK de navigation pour Android version 4.x ou ultérieure dans l'application de pilote.
v1.15.3 (9 octobre 2020)
Mises à jour de l'API
- Le SDK Driver s'abonne désormais au SDK Navigation pour les mises à jour du trafic, qui sont envoyées à l'API Fleet Engine.
Stabilité et correction de bugs
- Nous avons corrigé un plantage de l'environnement d'exécution gRPC.
v1.15.2
Fonctionnalités
Ajout de la possibilité d'arrêter les notifications persistantes. Si la mise à jour de la position est arrêtée dans l'instance 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 suspendu.
Stabilité et correction de bugs
- Correction d'un bug qui provoquait une exception si l'instance Fleet Engine était effacée
v1.15.1 (12 mai 2020)
Fonctionnalités
Une analyse préliminaire des données 1.15.0 a révélé des améliorations significatives de la mise à jour de la position stable (réduction des positions "bloquées"). Ce correctif permet d'améliorer la mise à jour de la position. Le problème de l'ANR n'était pas lié à ces améliorations.
Stabilité et correction de bugs
- Correction d'un bug qui entraînait parfois l'affichage d'une ligne droite au début de l'itinéraire dans l'application consommateur.
- Correction d'un bug pouvant entraîner une erreur ANR lorsque des emplacements sont signalés par le SDK. Ce résultat résulte de
onArrival()
améliorations susceptibles d'entraîner des conflits. Dans certaines circonstances, nous avons pu reproduire les erreurs ANR de façon fiable et nous avons pu vérifier que les correctifs ont permis de résoudre le problème. L'application de test modifiée pour la génération des ANR s'est exécutée pendant huit heures sans erreur ANR après le correctif.
v1.15.0 (23 mars 2019)
Fonctionnalités
- Introduction de l'état des conseils de navigation lors des événements de début, de sortie et d'arrivée afin d'améliorer le suivi de la position des véhicules.
- Ajout de la possibilité de continuer à obtenir des emplacements déterminés indépendamment de l'état de navigation.
- Ajout d'informations sur les lieux pré-routés, comme la précision
Correction de bugs et stabilité
- Augmentation de la valeur minSdkVersion pour navsdk à 19.
- Correction d'un bug qui entraînait le non-respect des noms de point de cheminement (latitude/longitude) en cas d'échec du geocoding inversé côté serveur.
Version v1.14.2 (2 février 2019)
Fonctionnalités
- Empêche le DriverSDK d'envoyer 0,0 lieux à Fleet Engine (mieux partager le trajet et allouer les entrées de lieu).
- Journalisation supplémentaire pour améliorer les problèmes de localisation bloquée et réduire les pertes liées au partage de parcours.
- Ignorer les appels répétés à
setLocationReportingInterval()
, sauf si l'intervalle change. - Javadocs mis à jour pour la méthode
setReportingInterval()
avec l'objectif de décourager les appels répétés de cette méthode à un taux élevé par rapport aux intervalles utilisés. - Fiabilité de l'emplacement de l'API 29 améliorée.
v1.13.0
Stabilité et correction de bugs
- Ajoute une dépendance à okhttp que les clients devront ajouter à leurs versions Gradle.
v1.11.7 (18 octobre 2019)
Stabilité et correction de bugs
- Les mises à jour de la position se poursuivent après le déclenchement de
onArrival()
pour une destination donnée. - La notification par défaut (une chaîne constante en mode navigation privée) correspond au jeu de couleurs défini pour les notifications de navigation. Pour en savoir plus, consultez la page Notifications persistantes partagées.
- Un événement retardé de mise à jour de la position pouvait entraîner de fausses mises à jour de la position, provoquant la présence d'artefacts tels qu'une ligne droite au début d'un itinéraire. Ce problème a été résolu.
v1.11.6 (4 octobre 2019)
Mises à jour de l'API
- Lancement d'une série de modifications pour que le pilote puisse reprendre rapidement les mises à jour de la position après une défaillance du réseau. Une fois la connexion réseau rétablie, les mises à jour de la position reprennent lors de la prochaine mise à jour de la position planifiée.
Stabilité et correction de bugs
setVehicleState()
renvoie désormais immédiatement. La mise à jour de FleetEngine s'effectue désormais sur un thread d'arrière-plan. Résout un problème de type ANR (l'application ne répond pas).- Correction d'un problème qui entraînait l'affichage des itinéraires de partage de trajet sur une ligne droite à l'aide d'anciennes versions du SDK Consumer. Assurez-vous qu'aucun point de cheminement ponctuel n'est ajouté à l'itinéraire par le SDK Driver.