Notes de version du SDK grand public pour Android

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

Annonce : Gel de la compatibilité avec les niveaux d'API 23, 24 et 25

Conformément à la Règle de compatibilité avec les 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 Consumer pour Android.

Les versions du SDK Consumer pour Android publiées à partir du quatrième trimestre 2025 seront compatibles avec Android 8 (niveau d'API 26) ou version ultérieure. 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 version la plus récente du SDK, et les nouvelles versions de votre application ne seront pas compatibles avec Android 6 et 7.

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

5.0.0 (9 novembre 2026)

  • Ajout de la compatibilité avec le mode complet R8. Les règles ProGuard du SDK conservent désormais les classes de fournisseur gRPC chargées par réflexion. Ainsi, les applications qui activent le mode complet de R8 n'échouent plus au démarrage avec Unable to load OkHttpChannelProvider.

Correction de bugs

  • Correction d'un problème qui pouvait entraîner l'attente indéfinie des tentatives de connexion sécurisée à Fleet Engine si un proxy d'opérateur intermédiaire se bloquait lors de la configuration de la connexion, empêchant l'actualisation de l'état du trajet et du suivi du véhicule sur certains réseaux mobiles. Le SDK Consumer applique désormais un délai avant expiration de la connexion et récupère automatiquement les données sur une nouvelle connexion.

Modifications des dépendances et de la configuration

À partir de la version 5.0.0 du SDK Consumer pour Android, de nouvelles exigences minimales s'appliquent :

  • La version minimale d'Android compatible est Android 7.0 (niveau d'API 24).
  • Les applications doivent passer à Kotlin 2.4.

Le SDK est désormais compilé avec les outils suivants :

  • Mise à niveau du plug-in Android Gradle vers la version 9.2.0.
  • Mise à niveau de Gradle vers la version 9.4.1.

4.1.0 (26 mai 2026)

  • Améliorations internes : migration du stockage de données interne vers Jetpack DataStore.

Modifications des dépendances et de la configuration

  • Mise à niveau de la version de la dépendance Kotlin vers la version 2.3.0.
  • Mise à niveau du plug-in Android Gradle vers la version 8.13.2.
  • Mise à niveau de Gradle vers la version 8.13.
  • Mise à niveau de la bibliothèque Desugar vers la version 2.1.5.
  • Passage du SDK Maps à la version 20.0.0 et mise à jour des dépendances GMS Core suivantes :
    • play-services-location: 21.3.0
    • play-services-tasks: 18.4.1
    • play-services-common: 18.1.0
    • play-services-basement: 18.1.0
  • Ajout des dépendances Jetpack Datastore (androidx.datastore:datastore-core:1.2.0, androidx.datastore:datastore-guava:1.2.0).

4.0.0 (3 octobre 2025)

  • Améliorations internes.

3.2.0 (26 juin 2025)

  • Améliorations apportées à la journalisation interne.

Modifications des dépendances et de la configuration

  • À partir de la version 3.2.0 du SDK Consumer pour Android, les applications doivent passer à Kotlin 2.1.

Correction de bugs

  • Utilisez la longueur de la polyligne au lieu de la distance à vol d'oiseau pour les décisions d'animation internes.

3.1.0 (10 mars 2025)

  • Améliorations apportées à la journalisation interne.

3.0.0 (6 décembre 2024)

Modifications des dépendances et de la configuration

2.99.0 (25 novembre 2024)

Correction de bugs

  • Correction d'une erreur ANR qui se produit lorsque l'exécution de ConsumerApi.cleanUp() prend trop de temps. Le déploiement sera progressif (à partir de 0 %) une fois la version intégrée.
  • Correction d'un problème qui entraînait l'affichage d'erreurs gRPC avec le code "INTERNAL" et le message "Panic! C'est un bug !". Le déploiement sera progressif (à partir de 0 %) une fois la version intégrée.

2.3.0 (2 août 2024)

Modifications apportées à l'API

  • Ajoutez la compatibilité avec les styles de cartes basés dans le cloud, qui vous permettent de créer une expérience de carte routière personnalisée pour vos utilisateurs sans avoir à modifier le code de vos applications dès que vous modifiez un style de carte. Pour en savoir plus, consultez Personnaliser la carte avec les styles de cartes basés dans le cloud.

  • Ajout de la méthode getServerTimeMillis() à VehicleLocation pour déterminer l'heure à laquelle la mise à jour de la position a été reçue par Fleet Engine.

2.2.0 (7 mai 2024)

Modifications apportées à l'API

  • Ajout de l'API d'assistance pour l'intégration de Jetpack Compose. Cette fonctionnalité est expérimentale. Pour en savoir plus sur l'intégration à Jetpack Compose, contactez votre représentant.

2.1.0 (17 janvier 2024)

Correction de bugs

  • Correction d'un plantage qui se produit lorsque le SDK est initialisé plusieurs fois au cours du cycle de vie de l'application.

Modifications apportées à l'API

  • Introduction d'une méthode permettant de récupérer l'instance GoogleMap créée par le SDK (ConsumerGoogleMap.getGoogleMap()).
  • Introduction de l'API pour récupérer les instances Marker créées par le SDK pour représenter le véhicule (ConsumerController.getConsumerMarker()).
  • Introduction de l'API pour recevoir les mises à jour projetées du client concernant la durée et la distance pendant le partage de trajet (ProjectedRouteEta).

1.99.2 (3 novembre 2023)

  • Correction d'un plantage qui se produit lorsque le SDK est initialisé à partir d'un processus distant, distinct de l'application.

  • Correction d'un plantage qui se produit lors de l'exécution d'une animation de caméra lorsqu'il n'y a pas assez d'espace vertical ou horizontal pour la marge intérieure. Cela ne se produit que sur le dernier moteur de rendu de cartes.

  • Correction d'un bug qui entraînait la suppression de la première étape d'un trajet aller-retour lorsque la deuxième étape empruntait la même route.

Problèmes

  • ConsumerApi.initialize() génère une exception s'il est appelé alors qu'une instance d'API existe déjà. Pour contourner ce problème, appelez d'abord ConsumerApi.getInstance() et évaluez le Task renvoyé pour déterminer si une instance d'API existe déjà.

2.0.0 (15 septembre 2023)

Annonce : modifications destructives

  • Le niveau d'API minimal requis passe de 21 à 23.

  • La version requise du SDK Maps passe de la v17.0.0 à la v18.1.0.

  • La version minimale requise de la bibliothèque standard Kotlin est passée de la version 1.6.10 à la version 1.9.0.

  • Mettre à jour les versions des dépendances des services Google Play

    • La version minimale requise de la bibliothèque play-services-base est passée de la version 18.0.1 à la version 18.2.0.

    • La version minimale requise de la bibliothèque play-services-basement est passée de la version 18.0.0 à la version 18.2.0.

    • La version minimale requise de la bibliothèque play-services-location est passée de la v17.0.0 à la v21.0.1.

    • La version minimale requise de la bibliothèque play-services-tasks passe de la version 18.0.1 à la version 18.0.2.

  • Ajoute la bibliothèque androidx.room:room-runtime avec une version minimale requise définie sur la version 2.5.2.

  • Mettre à jour les versions des dépendances suivantes

    • La version minimale requise de la bibliothèque android-maps-utils est passée de la v0.4.2 à la v3.5.2.

    • La version minimale requise de com.google.android.datatransport:transport-backend-cct est passée de la v3.0.0 à la v3.1.9.

    • La version minimale requise de com.google.android.datatransport:transport-runtime est passée de la v3.0.1 à la v3.1.9

    • La version minimale requise pour androidx.lifecycle:lifecycle-extensions est passée de la v2.0.0 à la v2.2.0.

    • La version minimale requise pour androidx.lifecycle:lifecycle-common-java8 est passée de la v2.0.0 à la v2.6.1.

    • La version minimale requise pour androidx.appcompat:appcompat est passée de la v1.0.0 à la v1.6.1.

    • La version minimale requise de androidx.fragment:fragment est passée de la version 1.0.0 à la version 1.6.1.

  • Suppression des API précédemment obsolètes suivantes : ConsumerTrip, ConsumerTripCallback, ConsumerTripManager, ConsumerTripOptions. Ils ont été remplacés par TripModel, TripModelCallback, TripModelManager et TripModelOptions.

  • Les applications qui utilisent le SDK Consumer doivent désormais avoir un targetSdkVersion d'API 31 ou supérieur, et un compileSdkVersion d'API 33 ou supérieur.

  • Les applications qui utilisent le SDK Consumer doivent désormais activer la compatibilité avec la bibliothèque Java 8. Pour savoir comment effectuer la mise à jour, consultez https://developer.android.com/studio/write/java8-support.

  • Les applications qui utilisent Proguard ou Dexguard doivent migrer vers R8. Pour en savoir plus, consultez https://developer.android.com/build/shrink-code.

  • Les applications qui utilisent le SDK Consumer doivent activer la désucration. Pour obtenir des instructions, consultez la page https://developer.android.com/studio/write/java8-support#library-desugaring.

  • La méthode ConsumerApi.initialize() génère désormais une exception si elle est appelée alors qu'une instance d'API a déjà été créée. La valeur Task renvoyée par ConsumerApi.getInstance() doit être utilisée pour déterminer si une instance d'API a été créée au préalable.

Annonce : abandons d'API

  • Abandon des classes d'annotation Trip.TripStatus et Trip.TripType, et ajout des classes d'annotation TripInfo.TripStatus et TripInfo.TripType pour les remplacer.

    • Dans le cadre de ce changement, TripModelCallback#onTripStatusUpdated(TripInfo tripInfo, @Trip.TripStatus int status) est obsolète et TripModelCallback#onTripStatusUpdate(TripInfo tripInfo, @TripInfo.TripStatus int status) est ajouté pour le remplacer.

    • Dans le cadre de ce changement, TripInfo#getTripStatus() est obsolète et TripInfo#getCurrentTripStatus() est ajouté pour le remplacer.

    • Dans le cadre de ce changement, TripInfo#getTripType() est obsolète et TripInfo#getCurrentTripType() est ajouté pour le remplacer.

  • Abandon de la classe Trip.

Autres modifications et corrections de bugs

  • Permet de demander le dernier moteur de rendu du SDK Maps. Pour en savoir plus, consultez Nouveau moteur de rendu de carte.

  • Fournit une compatibilité avec le SDK Maps de la version 18.1.0 (incluse) à la version 19.0.0 (exclue).

  • Correction de l'erreur "deadline exceeded" (délai dépassé) pour les communications internes entre le SDK et le backend Google.

  • Correction d'un problème d'affichage pour les petits écrans et le mode Picture-in-picture.

Guide de migration

1.99.1 (31 août 2023)

Correction de bugs

  • Correction d'un plantage qui se produit lorsque l'activité ou le fragment hôte du SDK est détruit.

  • Correction du plantage qui se produit lorsque les dimensions de MapView sont égales à 0 (hauteur ou largeur).

  • Correction d'un plantage qui se produit lors de la projection de la position du véhicule sur la polyligne de l'itinéraire.

Améliorations

  • Empêche le SDK de planter lorsque l'application hôte est téléchargée de manière indépendante et que les ressources visuelles par défaut ne sont pas présentes.

1.99.0 (22 juin 2023)

Correction de bugs

  • Résolution du problème d'affichage pour les petits écrans et le mode Picture-in-picture.

  • Correction des clignotements du véhicule lors du partage de trajet.

1.2.1 (7 juin 2023)

Correction de bugs

  • Correction d'un bug qui faisait clignoter le véhicule pendant le partage de trajet.

1.2.0 (21 novembre 2022)

Correction de bugs

  • Correction d'un bug qui entraînait le signalement d'un trafic vide dans le rappel onTripActiveRouteTrafficUpdated.

Nouvelles fonctionnalités

  • Les polylignes tenant compte du trafic sont désormais en disponibilité générale.

1.1.2 (27 octobre 2022)

Correction de bugs

  • Correction d'un bug qui faisait disparaître la polyligne d'itinéraire après le démarrage d'un JourneySharingSession plusieurs fois pour un TripModel.

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

Pour la version 1.1.1 de notre SDK, nous fournissons une année supplémentaire d'assistance pour les applications exécutées sur Android 5, pour les niveaux d'API 21 et 22.

Qu'est-ce que cela signifie ?

  • Le SDK Consumer exécuté sur vos applications Android sera compatible avec Android 5 (niveau d'API 21) au 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 ne prendrons plus en charge les niveaux d'API Android 21 et 22 dans toutes les versions du SDK après cette date. Cela signifie que les bugs liés à Android 21 ou 22 dans n'importe quelle version du SDK (y compris la version 4.x) ne seront pas corrigés, et nous ne garantissons pas que les SDK fonctionneront correctement.

v1.1.1 (25 juillet 2022)

Modification de la dépendance

  • Rétrograde le niveau d'API Android minimal compatible à 21.

v1.1.0 (28 avril 2022)

  • Améliorations internes.

v1.0.19 (17 mars 2022)

Correction de bugs

  • Correction d'une fuite de mémoire dans la classe ConsumerApi.

v1.0.14 (30 novembre 2021)

Le niveau d'API Android minimal compatible est désormais 23.

Modifications apportées à l'API

  • Modifications apportées aux classes ConsumerTrip et ConsumerTripManager.

    • Nettoyage de certains noms de méthodes pour clarifier leur signification et les aligner sur la plate-forme iOS.
  • Modifications apportées à ConsumerTripCallback, ConsumerTrip et TripInfo.

    • Modification de certains noms de classes pour assurer la parité avec iOS. Introduction de TripModel, TirpModelManager et TripModelOptions pour remplacer ConsumerTrip, ConsumerTripManager et ConsumerTripOptions.

    • Nettoyage de certains noms de méthodes. Révision ou ajout de commentaires JavaDoc aux méthodes pour en clarifier la signification.

    • Amélioration de la gestion des erreurs.

Personnalisation du style

  • Anciens wrappers obsolètes

    • MarkerStyleOptions et PolylineStyleOptions ont été abandonnés et remplacés par MarkerOptions et PolylineOptions, qui sont tous deux partagés avec le SDK Maps.

Surveillance des plantages

  • Ajout de la détection et de la journalisation des plantages.

    • Un ajout a été effectué pour vous permettre de désactiver cette fonctionnalité. Cette modification s'inscrit dans le cadre d'un effort plus vaste de surveillance des plantages à l'échelle de Geo.

Modifications relatives à l'authentification

  • Suppression des méthodes inutiles des interfaces d'authentification.
    • Suppression du paramètre ServiceType.

v0.9.28 (18 mai 2021)

Modifications apportées à l'API

  • Mise à jour de toutes les méthodes ConsumerTripCallback pour utiliser TripInfo comme paramètre.
  • Ajout de ConsumerTrip.isRefreshing(), qui indique si ConsumerTrip se met à jour activement avec de nouvelles informations sur le trajet provenant de Fleet Engine.
  • Ajout de ConsumerTripCallback.onTripRemainingRouteDistanceUpdated()
  • Ajout de ConsumerTripCallback.onTripRemainingRouteUpdated()
  • Remplacez les types renvoyés Guava (ImmutableSet, ImmutableList) par des classes équivalentes java.util.
  • Modifications du nom du package :

    • com.google.android.libraries.ridesharing.common.AuthTokenContext -> com.google.android.libraries.ridesharing.consumer.auth.AuthTokenContext
    • com.google.android.libraries.ridesharing.common.AuthTokenFactory -> com.google.android.libraries.ridesharing.consumer.auth.AuthTokenFactory
    • com.google.android.libraries.ridesharing.common.FleetEngineServiceType -> com.google.android.libraries.ridesharing.consumer.auth.FleetEngineServiceType - com.google.android.libraries.ridesharing.common.model.Trip

                                  ->
                                                                  com.google.android.libraries.ridesharing.consumer.model.Trip
      
                                  -   com.google.android.libraries.ridesharing.common.model.Vehicle
      
                                                          ->
                                      com.google.android.libraries.ridesharing.consumer.model.Vehicle
      

Modifications de l'implémentation

  • Correction d'une condition de concurrence où le SDK pouvait planter en raison d'interactions avec la carte avant qu'elle ne soit prête.
  • Le SDK ne contient plus de copie non obscurcie de io.grpc.
  • Correction d'un bug de scintillement des polylignes de trafic sur certains appareils. Les segments de trafic auront désormais des extrémités arrondies.

v0.9.15 (7 octobre 2020)

Modifications apportées à l'API

  • Cette version introduit les polylignes tenant compte du trafic. - Ajout de TripInfo.getActiveRouteTraffic() et de TripInfo.getRemainingRouteTraffic().
    • Ajout de ConsumerTripCallback.onTripActiveRouteTrafficUpdated() et ConsumerTripCallback.onTripRemainingRouteTrafficUpdated() pour indiquer quand le trafic a changé.
    • Ajout de PolylineStyleOptions pour la personnalisation du trafic (setTrafficEnabled(), setTrafficColorNoData(), setTrafficColorNormal(), setTrafficColorSlow(), setTrafficColorTrafficJam()).
    • PolylineStyleOptions.TRAFFIC_Z_INDEX_ADDITION exposé.
    • Ajout de TripWaypoint.getTrafficData()
    • Ajout du type de données TrafficData.
    • Ajout de ConsumerController.hideAllSessions() ConsumerController.showSession() n'accepte plus la valeur nulle comme argument.

v0.9.9 (15 juillet 2020)

Modifications apportées à l'API

  • Il s'agit d'un changement majeur qui introduit une architecture modulaire avec une relation plus claire entre la couche de données uniquement (par exemple, ConsumerTripManager) et la couche d'interface utilisateur (par exemple, JourneySharingSession). Pour en savoir plus sur la migration vers la nouvelle architecture, consultez le guide de migration vers la modularisation. - L'objet ConsumerTrip est désormais obtenu à partir de ConsumerTripManager.getTrip().
    • ConsumerTrip.unregisterCallback a été renommé ConsumerTrip.unregisterTripCallback.
    • ConsumerTrip.isCallbackRegistered a été renommé ConsumerTrip.isTripCallbackRegistered.
    • Ajout de ConsumerTrip.setConsumerTripOptions() et de ConsumerTrip.getConsumerTripOptions().
    • Suppression de ConsumerTrip.setAutoRefreshInterval().
  • Suppression des API de partage non liées aux trajets.
    • Suppression de la carte de densité des véhicules.
    • L'état d'aperçu du trajet a été supprimé.
    • État de sélection du retrait supprimé.
    • Suppression de l'état de sélection du point de dépôt.
    • Suppression des types de repères suivants : SELECTED_PICKUP_POINT, SUGGESTED_PICKUP_POINT, HIGHLIGHTED_PICKUP_POINT et SELECTED_DROPOFF_POINT.
  • OnConsumerMarkerClickCallback et ConsumerMapReadyCallback sont passés d'interfaces à des classes abstraites.
  • Ajout de ConsumerController.getCameraUpdate(), ConsumerController.isAutoCameraEnabled() et ConsumerController.enableAutoCamera().
  • Suppression du bouton d'action flottant personnalisé et de ses méthodes associées (ConsumerController.isMyLocationFabEnabled et ConsumerController.setMyLocationFabEnabled).

Modifications de l'implémentation

  • Un ConsumerTripCallback, qu'il soit enregistré avec ou sans LifecycleOwner, ne se désinscrit plus automatiquement sur TripStatus.COMPLETE ou TripStatus.CANCELED.
  • AutoCamera est désormais activé par défaut et ne se réactive ni ne se désactive jamais de lui-même. Auparavant, AutoCamera se réactivait automatiquement sur TripStatus.ARRIVED_AT_PICKUP et se désactivait lorsque l'utilisateur interagissait avec la carte pendant le partage de trajet.
  • Les améliorations suivantes ont été apportées à l'animation du véhicule lors du partage de trajet :
    • L'animation de partage de trajet gère désormais la situation dans laquelle un véhicule peut légitimement revenir sur un itinéraire déjà parcouru.
    • Le véhicule s'animera désormais en ligne droite au lieu d'interpoler l'itinéraire entre les points lorsque cela est jugé approprié par l'algorithme.
  • Les autorisations FINE_LOCATION ne sont plus requises.

Autres modifications

  • Mise à jour des versions de dépendance suivantes :
    • com.google.android.datatransport:transport-api:2.2.0
    • com.google.android.datatransport:transport-backend-cct:2.2.0
    • com.google.android.datatransport:transport-runtime:2.2.0

v0.9.1 (23 mars 2020)

Modifications apportées à l'API

  • Ajout de TripInfo.getVehicleId(), TripInfo.getNumberOfPassengers(), TripInfo.getIntermediateDestinationIndex(), TripInfo.getTripActiveRoute() et TripInfo.getTripRemainingRoute().
  • Ajout de la classe options utilisée lors de l'initialisation de ConsumerApi, qui permet de définir l'adresse FleetEngine de manière dynamique. Si l'API n'est pas appelée avec une valeur FleetEngine, elle tente de la récupérer à partir du fichier manifeste Android ou utilise la valeur par défaut.

Améliorations

  • La polyligne de l'itinéraire ne s'affiche pas lorsque l'état du trajet est ARRIVED_AT_PICKUP.
  • Le suivi des véhicules hors itinéraire a été amélioré (nécessite le SDK Driver 1.15) :
    • Le suivi du véhicule n'aligne pas le véhicule sur l'itinéraire lorsque le véhicule passe devant le point de prise en charge.
    • Le suivi des véhicules permet d'afficher le véhicule hors route, par exemple dans des parkings non cartographiés.
  • L'icône du véhicule est désormais mise à jour lorsque la destination du conducteur ne correspond pas à celle de Fleet Engine.

v0.8.6 (16 décembre 2019)

Modifications apportées à l'API

  • Ajout de TripInfo.getVehicleLocation()

  • ConsumerMapView n'est plus final.

Modifications de l'implémentation

  • La distance restante de l'étape active est désormais calculée à l'aide de la distance du serveur (signalée par le conducteur + itinéraire statique, le cas échéant) au lieu de l'alignement local. Cette modification permet d'obtenir des valeurs de distance restante plus précises.

Autres modifications

  • De nouvelles dépendances sont requises. Pour en savoir plus, consultez le fichier .pom.

    • com.google.android.datatransport:transport-api:2.0.0
    • com.google.android.datatransport:transport-backend-cct:2.0.2
    • com.google.android.datatransport:transport-runtime:2.0.0
  • Ajout de journaux pour la latence des demandes de trajet.

  • Ajout de journaux pour les erreurs de réponse de trajet.

Remarques

  • Depuis la version 0.8.1, le SDK Consumer pour Android est fourni sous forme d'archive ZIP jetifiée. Pour savoir comment annuler la jetification, consultez Jetifier : mode inverse.

v0.8.1 (13 septembre 2019)

Nouvelles fonctionnalités

Modifications apportées à l'API

  • Ajout de ConsumerController.disableAutoCamera() en tant que fonction opposée à centerMapForState().

  • VehicleLocation.getUpdateTime() renvoie désormais un Long qui représente le code temporel (en millisecondes).

  • Simplification de l'interface AuthTokenFactory pour exposer une seule méthode de génération de jetons. Passage de AuthTokenFactory (précédemment une interface) en classe abstraite afin de prendre en charge la rétrocompatibilité dans Java 7. Cette modification est rétrocompatible, mais les anciennes méthodes de génération de jetons de service unique sont obsolètes et seront supprimées à terme.

Modifications de l'implémentation

  • Les assets sont désormais centrés sur le centre de l'icône, ce qui élimine le décalage de l'ombre.

  • setState à JOURNEY_SHARING onStartTripMonitoring() au lieu d'attendre l'état du trajet surveillé.

  • Renvoie toujours les données de la première mise à jour des données de trajet, même si les données de trajet ne sont pas synchronisées.

  • Ajout d'Android Map Utils en tant que dépendance fournie.

Correction de bugs

  • Correction de la syntaxe d'exportation ProGuard non valide pour la conservation de gRPC.

v0.7.0 (7 août 2019)

Nouvelles fonctionnalités

  • Compatibilité multidestination pour le partage de trajet.

Modifications apportées à l'API

  • Nouvelles méthodes pour ConsumerTripCallback.

    • onTripIntermediateDestinationsUpdated().
    • onTripETAToNextTripWaypointUpdated().
  • Nouvelles méthodes ConsumerController.

    • getIntermediateDestinations().
    • setIntermediateDestinations(List<TerminalLocation> intermediateDestinations).
  • Nouveau : TripStatuses.

    • TripStatus.ENROUTE_TO_INTERMEDIATE_DESTINATION.
    • TripStatus.ARRIVED_AT_INTERMEDIATE_DESTINATION.
  • Nouveaux getters TripWaypoint.

    • getETAMillis().
    • getDistanceMeters().
  • Ajout de la classe TripInfo.

    • Vous pouvez obtenir TripInfo pour le trajet actif avec ConsumerTripManager.getActiveTripInfo().
  • Ajout de WaypointType.INTERMEDIATE_DESTINATION

  • Ajout de MarkerType.TRIP_INTERMEDIATE_DESTINATION

  • ConsumerMapState.JOURNEY_SHARING créé à partir de la fusion de ConsumerMapStatesENROUTE_TO_PICKUP, ARRIVED_AT_PICKUP, ENROUTE_TO_DROPOFF et COMPLETE.

    • "StateChangeCallbacks" mis à jour.

    • Ajout de onStateJourneySharing()

    • Suppression de onStateWaitingForPickup(), onStateDriverArrived(), onStateEnroute() et onStateEndofTrip().

Correction de bugs

  • Correction d'un bug qui empêchait de raccourcir l'itinéraire jusqu'à l'emplacement du véhicule lorsque le suivi du trajet démarrait au milieu d'un trajet actif (et non au début de l'itinéraire).

  • Correction d'un bug qui empêchait l'appel des rappels de trajet pour les écouteurs enregistrés sur le TripManager après que celui-ci avait déjà récupéré les données de trajet.

  • Le zoom de la caméra n'inclut désormais que l'itinéraire actif et le prochain point de cheminement du trajet (point de cheminement appartenant au trajet). Même si l'étape restante est visible, le zoom ne l'inclura jamais. Auparavant, le point de dépose était inclus dans le zoom lorsque le véhicule était en route vers le point de prise en charge ou qu'il y était arrivé. Ce n'est plus le cas.

Améliorations

  • Remplissez le point de cheminement restant zéro avec les données du conducteur (la liste des points de cheminement restants est renvoyée par ConsumerTripCallback.onTripRemainingWaypointsUpdated et TripInfo.getRemainingWaypoints()).

  • Mettez à jour les heures d'arrivée prévues de tous les points de cheminement restants lorsque l'heure d'arrivée prévue du premier point de cheminement de la liste change.

  • Forcer la réactivation de la caméra automatique uniquement lorsque le conducteur arrive au point de prise en charge. Auparavant, la caméra automatique était réactivée à chaque changement d'état du trajet. La caméra automatique est toujours activée par défaut. La caméra automatique ne se réactivera pas si un nouveau trajet actif est défini sans un nouvel appel à startTripMonitoring().

v0.6.1 (26 juin 2019)

Nouvelles fonctionnalités

  • Prise en charge de Carpool pour le partage de trajets.

Modifications apportées à l'API

  • ConsumerController.getConsumerMapStyle() renvoie désormais ConsumerMapStyle au lieu de Task<ConsumerMapStyle>.

  • Ajout de PolylineStyle.setZIndex()

Correction de bugs

  • L'animation de l'itinéraire ne se produit désormais que lorsque le segment d'itinéraire est synchronisé, ce qui améliore l'expérience utilisateur.

  • Correction du "scintillement" du véhicule pendant l'interpolation de l'animation lorsque les mises à jour de la position du conducteur sont rapprochées.

  • Correction d'un bug qui faisait démarrer le véhicule au début de l'itinéraire au lieu de sa position la plus récente lorsque le suivi du trajet commençait au milieu d'un trajet actif.

  • Affichez la polyligne de l'itinéraire actif au-dessus de l'itinéraire restant lorsqu'ils se chevauchent.

Améliorations

  • Exposez maintenant la classe gRPC Status avec des méthodes non obscurcies.

v0.5.1.01 (17 mai 2019)

Nouvelles fonctionnalités

  • Prise en charge des trajets consécutifs pour le partage de trajet.

Modifications apportées à l'API

  • Nouvelle classe ConsumerController.

PolylineType

Ancienne valeur Nouvelle valeur
TRIP_PREVIEW_AUTO_ROUTE PREVIEW_AUTO_ROUTE
TRIP_PREVIEW_TAXI_ROUTE PREVIEW_TAXI_ROUTE
TRIP_PREVIEW_TRUCK_ROUTE PREVIEW_TRUCK_ROUTE
TRIP_PREVIEW_TWO_WHEELER_ROUTE PREVIEW_TWO_WHEELER_ROUTE
TRIP_ROUTE ACTIVE_ROUTE
REMAINING_ROUTE

ConsumerTripCallback

Ancienne valeur Nouvelle valeur
onTripRouteUpdated onTripActiveRouteUpdated
onTripRemainingDistanceUpdated onTripActiveRouteRemainingDistanceUpdated
onTripRemainingWaypointsUpdated()

ConsumerController

  • Vous pouvez désormais définir des rappels pour les états sans entrer dans l'état.
Méthode Rappel
startPickupSelection setPickupSelectionCallback
startDropoffSelection setDropoffSelectionCallback
startTripPreview setTripPreviewSelectionCallback
  • ConsumerController.setLanguage(String languageCode) vous permet de définir la langue utilisée dans les appels Fleet Engine (par exemple, pour les descriptions des points de prise en charge).

Améliorations

  • L'état de sélection du point de dépose comporte désormais un repère déplaçable.
  • Suppression de l'animation de la caméra à l'état INITIALIZE.
  • ManagedChannelBuilder a été remplacé par AndroidChannelBuilder.