En esta sección, se incluyen las notas de la versión del SDK de Consumer para Android.
Anuncio: Se congelará la compatibilidad con los niveles de API 23, 24 y 25
De conformidad con la política de compatibilidad con versiones de SO para dispositivos móviles, congelaremos la compatibilidad con Android 6 y 7 (niveles de API 23, 24 y 25) en las próximas versiones principales del SDK para Android para el consumidor.
Las versiones del SDK de Consumer para Android que se lancen a partir del cuarto trimestre de 2025 admitirán un mínimo de Android 8 (nivel de API 26). Las versiones anteriores del SDK seguirán admitiendo Android 6 y 7.
Si tus dependencias no especifican un número de versión, tu IDE cargará la versión más reciente del SDK y las compilaciones nuevas de tu app no admitirán Android 6 y 7.
Especifica una versión del SDK de Consumer para Android en las dependencias de compilación de tu aplicación para controlar cuándo aumentas el SO mínimo admitido para las versiones nuevas de tu app.
3.2.0 (26 de junio de 2025)
- Se realizaron mejoras en el registro interno.
Cambios en la configuración y las dependencias
- A partir de la versión 3.2.0 del SDK de Consumer para Android, las apps deben actualizarse a Kotlin 2.1.
Correcciones de errores
- Se usa la longitud de la polilínea en lugar de la distancia aérea para las decisiones internas de animación.
3.1.0 (10 de marzo de 2025)
- Se realizaron mejoras en el registro interno.
3.0.0 (6 de diciembre de 2024)
Cambios en la configuración y las dependencias
- A partir de la versión 3.0.0 del SDK de Consumer para Android, las apps deben actualizarse a Kotlin 2.0. Consulta la Guía de migración del SDK de Android Consumer 3.0.
- El valor de targetSdk para el SDK de Consumer ahora es Android 14 (nivel de API 34). Este es un requisito para todas las apps que se implementen en Google Play Store a partir de agosto de 2024. Consulta Cómo cumplir con el requisito de nivel de API objetivo de Google Play.
2.99.0 (25 de noviembre de 2024)
Correcciones de errores
- Se corrigió el error de ANR que se produce cuando
ConsumerApi.cleanUp()
tarda demasiado en ejecutarse. Esta función se lanzará de forma progresiva (a partir del 0%) una vez que se integre la versión. - Se corrigió el problema por el que los conductores recibían errores de gRPC con el código "INTERNAL" y el mensaje "Panic! Este es un error". Esta función se lanzará de forma progresiva (a partir del 0%) una vez que se integre la versión.
2.3.0 (2 de agosto de 2024)
Cambios en la API
Se agregó compatibilidad con el diseño de mapas basado en Cloud, que te permite crear una experiencia de mapa de ruta personalizada para tus usuarios sin tener que actualizar el código de tus apps cada vez que realices un cambio en el diseño del mapa. Para obtener más información, consulta Cómo diseñar el mapa con el diseño de mapas basado en Cloud.
Se agregó el método
getServerTimeMillis()
aVehicleLocation
para determinar la fecha y hora en que Fleet Engine recibió la actualización de ubicación.
2.2.0 (7 de mayo de 2024)
Cambios en la API
- Se agregó una API de compatibilidad para la integración de Jetpack Compose. Esta es una función experimental. Para obtener detalles sobre la integración con Jetpack Compose, comunícate con tu representante.
2.1.0 (17 de enero de 2024)
Correcciones de errores
- Se corrigió la falla que se producía cuando el SDK se inicializaba más de una vez durante el ciclo de vida de la aplicación.
Cambios en la API
- Se introduce un método para recuperar la instancia de
GoogleMap
creada por el SDK (ConsumerGoogleMap.getGoogleMap()
). - Se introduce una API para recuperar las instancias de
Marker
creadas por el SDK para representar el vehículo (ConsumerController.getConsumerMarker()
). - Se introduce la API para recibir actualizaciones proyectadas del cliente sobre el tiempo y la distancia durante el uso compartido del viaje (
ProjectedRouteEta
).
1.99.2 (3 de noviembre de 2023)
Se corrigió la falla que se produce cuando el SDK se inicializa desde un proceso remoto, separado de la aplicación.
Se corrigió una falla que se producía al ejecutar una animación de la cámara cuando no había suficiente espacio vertical u horizontal para el padding. Esto solo ocurre en el renderizador de mapas más reciente.
Se corrigió un error que provocaba que se recortara el primer tramo de un viaje consecutivo cuando el segundo tramo transcurría por la misma ruta.
Problemas
ConsumerApi.initialize()
arroja una excepción si se invoca cuando ya existe una instancia de la API. Para solucionar este problema, primero llama aConsumerApi.getInstance()
y evalúa elTask
que se devolvió para determinar si ya existe una instancia de la API.
2.0.0 (15 de septiembre de 2023)
Anuncio: Cambios rotundos
Se actualizó el requisito de nivel de API mínimo de 21 a 23.
Se actualizó el requisito de la versión del SDK de Maps de la versión 17.0.0 a la 18.1.0
Se actualizó el requisito de versión mínima de la biblioteca estándar de Kotlin de la versión 1.6.10 a la 1.9.0.
Actualiza las versiones de las dependencias de los Servicios de Google Play
Se actualizó el requisito de versión mínima de la biblioteca play-services-base de la versión 18.0.1 a la 18.2.0.
Se actualizó el requisito de versión mínima de la biblioteca play-services-basement de la versión 18.0.0 a la 18.2.0.
Se actualizó el requisito de versión mínima de la biblioteca play-services-location de la versión 17.0.0 a la 21.0.1.
Se actualizó el requisito de versión mínima de la biblioteca play-services-tasks de la versión 18.0.1 a la 18.0.2.
Se agregó la biblioteca androidx.room:room-runtime con el requisito de versión mínima establecido en la versión 2.5.2.
Actualiza las siguientes versiones de dependencias
Se actualizó el requisito de versión mínima de la biblioteca android-maps-utils de la versión 0.4.2 a la 3.5.2.
Se actualizó el requisito de versión mínima de com.google.android.datatransport:transport-backend-cct de la versión 3.0.0 a la 3.1.9
Se actualizó el requisito de versión mínima de com.google.android.datatransport:transport-runtime de la versión 3.0.1 a la 3.1.9
Se actualizó el requisito de versión mínima de androidx.lifecycle:lifecycle-extensions de la versión 2.0.0 a la 2.2.0.
Se actualizó el requisito de versión mínima de androidx.lifecycle:lifecycle-common-java8 de la versión 2.0.0 a la 2.6.1.
Se actualizó el requisito de versión mínima de androidx.appcompat:appcompat de v1.0.0 a v1.6.1
Se actualizó el requisito de versión mínima de androidx.fragment:fragment de v1.0.0 a v1.6.1.
Se quitaron las siguientes APIs que se habían marcado como obsoletas:
ConsumerTrip
,ConsumerTripCallback
,ConsumerTripManager
yConsumerTripOptions
. Se reemplazaron porTripModel
,TripModelCallback
,TripModelManager
yTripModelOptions
.Las apps que usan el SDK de Consumer ahora deben tener
targetSdkVersion
de la API 31 o una versión posterior, ycompileSdkVersion
de la API 33 o una versión posterior.Las apps que usan el SDK de Consumer ahora deben habilitar la compatibilidad con la biblioteca de Java 8. Consulta https://developer.android.com/studio/write/java8-support para obtener instrucciones sobre cómo realizar la actualización.
Las apps que usan Proguard o Dexguard deben migrar a R8. Consulta https://developer.android.com/build/shrink-code para obtener más información.
Las apps que usan el SDK de Consumer deben habilitar la desazucaración. Consulta https://developer.android.com/studio/write/java8-support#library-desugaring para obtener instrucciones.
Ahora, el método
ConsumerApi.initialize()
genera una excepción si se invoca cuando ya se creó una instancia de la API. ElTask
que devuelveConsumerApi.getInstance()
se debe usar para determinar si se creó una instancia de la API con anterioridad.
Anuncio: Bajas de APIs
Se dejaron de usar las clases de anotación
Trip.TripStatus
yTrip.TripType
, y se agregaron las clases de anotaciónTripInfo.TripStatus
yTripInfo.TripType
para reemplazarlas.Como parte de este cambio,
TripModelCallback#onTripStatusUpdated(TripInfo tripInfo, @Trip.TripStatus int status)
dejó de estar disponible y se agregóTripModelCallback#onTripStatusUpdate(TripInfo tripInfo, @TripInfo.TripStatus int status)
para reemplazarlo.Como parte de este cambio,
TripInfo#getTripStatus()
dejó de estar disponible y se agregóTripInfo#getCurrentTripStatus()
para reemplazarlo.Como parte de este cambio,
TripInfo#getTripType()
dejó de estar disponible y se agregóTripInfo#getCurrentTripType()
para reemplazarlo.
Se dejó de usar la clase
Trip
.
Otros cambios y correcciones de errores
Admite la solicitud del renderizador más reciente del SDK de Maps. Consulta Nuevo procesador de mapas para obtener más detalles.
Proporciona compatibilidad con el rango del SDK de Maps desde la versión 18.1.0(inclusive) hasta la versión 19.0.0(exclusive).
Se corrigió el error "Se superó el plazo" para las comunicaciones internas entre el SDK y el backend de Google.
Se solucionó un problema de renderización para pantallas pequeñas y el modo de pantalla en pantalla.
Guía de migración
1.99.1 (31 de agosto de 2023)
Correcciones de errores
Se corrigió la falla que se producía cuando se destruía la actividad o el fragmento del host del SDK.
Se corrigió la falla que se producía cuando las dimensiones de MapView eran 0 (ya sea la altura o el ancho).
Se corrigió una falla que se producía al proyectar la ubicación del vehículo en la polilínea de la ruta.
Mejoras
- Evita que el SDK falle cuando se transfiera de forma local la aplicación host y no estén presentes los recursos visuales predeterminados.
1.99.0 (22 de junio de 2023)
Correcciones de errores
Se corrigió un problema de renderización para pantallas pequeñas y para el modo de pantalla en pantalla.
Se corrigieron los parpadeos del vehículo durante el uso compartido del viaje.
1.2.1 (7 de junio de 2023)
Correcciones de errores
- Se corrigió un error que provocaba que el vehículo parpadeara durante el uso compartido del viaje.
1.2.0 (21 de noviembre de 2022)
Correcciones de errores
- Se corrigió un error que provocaba que se registrara tráfico vacío en la devolución de llamada
onTripActiveRouteTrafficUpdated
.
Nuevas funciones
- Las "polilíneas que tienen en cuenta el tráfico" ahora están disponibles de forma general.
1.1.2 (27 de octubre de 2022)
Correcciones de errores
- Se corrigió un error que provocaba que la polilínea de la ruta desapareciera después de que se iniciaba un
JourneySharingSession
más de una vez para unTripModel
.
Anuncio: Se suspende la compatibilidad con Android 5 (25 de julio de 2022)
En nuestra versión 1.1.1 del SDK, proporcionamos un año adicional de compatibilidad para las apps que se ejecutan en Android 5, tanto para los niveles de API 21 como 22.
Qué significa:
El SDK para el consumidor que se ejecuta en tus apps para Android admitirá un mínimo de Android 5 (nivel de API 21) hasta el 30 de junio de 2023.
Después del 30 de junio de 2023, solo admitiremos los niveles de API de Android 23 y versiones posteriores. En otras palabras, dejaremos de admitir los niveles de API 21 y 22 de Android en todas las versiones del SDK después de esa fecha. Esto significa que no se corregirán los errores relacionados con Android 21 o 22 en ninguna versión del SDK (incluida la 4.x), y no garantizamos que los SDKs se comporten correctamente.
v1.1.1 (25 de julio de 2022)
Cambio de dependencia
- Se reduce el nivel de API de Android mínimo admitido a 21.
v1.1.0 (28 de abril de 2022)
- Se realizaron mejoras internas.
v1.0.19 (17 de marzo de 2022)
Correcciones de errores
- Se corrigió una fuga de memoria en la clase
ConsumerApi
.
v1.0.14 (30 de noviembre de 2021)
Ahora el nivel mínimo de API de Android admitido es 23.
Cambios en la API
Se realizaron cambios en las clases
ConsumerTrip
yConsumerTripManager
.- Se limpiaron algunos nombres de métodos para que su significado sea más claro y para alinearlos con la plataforma de iOS.
Se realizaron cambios en
ConsumerTripCallback
,ConsumerTrip
yTripInfo
.Se cambiaron algunos nombres de clases para que sean similares a los de iOS. Se introdujeron
TripModel
,TirpModelManager
yTripModelOptions
para dar de bajaConsumerTrip
,ConsumerTripManager
yConsumerTripOptions
.Se limpiaron algunos nombres de métodos. Se revisaron o agregaron comentarios de JavaDoc a los métodos para transmitir significados más claros.
Se mejoró el manejo de errores.
Personalización del diseño
Wrappers heredados obsoletos
MarkerStyleOptions
yPolylineStyleOptions
se dieron de baja y se reemplazaron porMarkerOptions
yPolylineOptions
, que se comparten con el SDK de Maps.
Supervisión de fallas
Se agregaron la detección y el registro de fallas.
- Se agregó una opción para inhabilitar esta función. Esto se hizo como parte de una iniciativa más amplia a nivel geográfico para supervisar los accidentes.
Cambios de autenticación
- Se quitaron los métodos innecesarios de las interfaces de Authentication.
- Se quitó el parámetro
ServiceType
.
- Se quitó el parámetro
v0.9.28 (18 de mayo de 2021)
Cambios en la API
- Se actualizaron todos los métodos
ConsumerTripCallback
para usarTripInfo
como parámetro. - Se agregó
ConsumerTrip.isRefreshing()
, que indica siConsumerTrip
se está actualizando de forma activa con información reciente del viaje de Fleet Engine. - Se agregó
ConsumerTripCallback.onTripRemainingRouteDistanceUpdated()
. - Se agregó
ConsumerTripCallback.onTripRemainingRouteUpdated()
. - Reemplaza los tipos de datos que se muestran de Guava (
ImmutableSet
,ImmutableList
) por clases equivalentes dejava.util
. Cambios en el nombre del paquete:
- 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
Cambios en la implementación
- Se corrigió una condición de carrera en la que el SDK podía fallar debido a interacciones con el mapa antes de que estuviera listo.
- El SDK ya no contiene una copia sin ofuscar de
io.grpc
. - Se corrigió un error relacionado con el parpadeo de las polilíneas de tráfico en ciertos dispositivos. Ahora, los tramos de tráfico tendrán extremos redondeados.
v0.9.15 (7 de octubre de 2020)
Cambios en la API
- En esta versión, se presentan las polilíneas que tienen en cuenta el tráfico.
- Se agregaron
TripInfo.getActiveRouteTraffic()
yTripInfo.getRemainingRouteTraffic()
.- Se agregaron
ConsumerTripCallback.onTripActiveRouteTrafficUpdated()
yConsumerTripCallback.onTripRemainingRouteTrafficUpdated()
para indicar cuándo cambió el tráfico. - Se agregó
PolylineStyleOptions
para la personalización del tráfico (setTrafficEnabled()
,setTrafficColorNoData()
,setTrafficColorNormal()
,setTrafficColorSlow()
,setTrafficColorTrafficJam()
). - Se expuso
PolylineStyleOptions.TRAFFIC_Z_INDEX_ADDITION
. - Se agregó
TripWaypoint.getTrafficData()
. - Se agregó el tipo de datos
TrafficData
. - Se agregó
ConsumerController.hideAllSessions()
.ConsumerController.showSession()
ya no acepta nulos como argumento.
- Se agregaron
v0.9.9 (15 de julio de 2020)
Cambios en la API
- Este es un cambio importante que introduce una arquitectura modularizada con una relación más clara entre la capa solo de datos (por ejemplo,
ConsumerTripManager
) y la capa de la interfaz de usuario (por ejemplo,JourneySharingSession
). Para obtener información sobre la migración a la nueva arquitectura, consulta la Guía de migración a la modularización. - El objetoConsumerTrip
ahora se obtiene deConsumerTripManager.getTrip()
.- Se cambió el nombre de
ConsumerTrip.unregisterCallback
aConsumerTrip.unregisterTripCallback
. - Se cambió el nombre de
ConsumerTrip.isCallbackRegistered
aConsumerTrip.isTripCallbackRegistered
. - Se agregaron
ConsumerTrip.setConsumerTripOptions()
yConsumerTrip.getConsumerTripOptions()
. - Se quitó
ConsumerTrip.setAutoRefreshInterval()
.
- Se cambió el nombre de
- Se quitaron las APIs de uso compartido que no son de viaje.
- Se quitó el mapa de densidad de vehículos.
- Se quitó el estado de vista previa del viaje.
- Se quitó el estado de selección de retiro.
- Se quitó el estado de selección de la entrega.
- Se quitaron los siguientes tipos de marcadores:
SELECTED_PICKUP_POINT
,SUGGESTED_PICKUP_POINT
,HIGHLIGHTED_PICKUP_POINT
ySELECTED_DROPOFF_POINT
.
- Se cambiaron
OnConsumerMarkerClickCallback
yConsumerMapReadyCallback
de interfaces a clases abstractas. - Se agregaron
ConsumerController.getCameraUpdate()
,ConsumerController.isAutoCameraEnabled()
yConsumerController.enableAutoCamera()
. - Se quitaron el FAB personalizado y sus métodos asociados (
ConsumerController.isMyLocationFabEnabled
yConsumerController.setMyLocationFabEnabled
).
Cambios en la implementación
- Un
ConsumerTripCallback
, ya sea que se haya registrado con o sin unLifecycleOwner
, ya no se anula el registro automáticamente enTripStatus.COMPLETE
oTripStatus.CANCELED
. - AutoCamera ahora está habilitada de forma predeterminada y nunca se vuelve a habilitar o inhabilitar por sí sola.
Anteriormente, AutoCamera se volvía a habilitar automáticamente en
TripStatus.ARRIVED_AT_PICKUP
y se inhabilitaba cuando el usuario interactuaba con el mapa durante el uso compartido del viaje. - Se realizaron las siguientes mejoras en la animación del vehículo de uso compartido de viajes:
- La animación de uso compartido del viaje ahora controla la situación en la que un vehículo puede viajar de forma legítima por una ruta ya recorrida.
- Ahora el vehículo se animará en línea recta en lugar de interpolar la ruta entre puntos cuando se determine algorítmicamente que es apropiado.
- Ya no se requieren permisos de
FINE_LOCATION
.
Otros cambios
- Se actualizaron las siguientes versiones de dependencias:
- 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 de marzo de 2020)
Cambios en la API
- Se agregaron
TripInfo.getVehicleId()
,TripInfo.getNumberOfPassengers()
,TripInfo.getIntermediateDestinationIndex()
,TripInfo.getTripActiveRoute()
yTripInfo.getTripRemainingRoute()
. - Se agregó la clase
options
que se usa durante la inicialización deConsumerApi
y que permite establecer la dirección deFleetEngine
de forma dinámica. Si no se llama a la API con un valor deFleetEngine
, se intenta recuperar el valor del manifiesto de Android o, de lo contrario, se recurre al valor predeterminado.
Mejoras
- La polilínea de la ruta no se muestra cuando el estado del viaje es
ARRIVED_AT_PICKUP
. - Se mejoró el seguimiento de vehículos fuera de la ruta (requiere DriverSDK 1.15):
- El seguimiento del vehículo no lo ajusta a la ruta cuando pasa el punto de partida.
- El seguimiento de vehículos permite mostrar el vehículo fuera de la ruta, por ejemplo, en estacionamientos no incluidos en el mapa.
- El ícono del vehículo ahora se actualiza cuando el destino del conductor no coincide con el destino en Fleet Engine.
v0.8.6 (16 de diciembre de 2019)
Cambios en la API
Se agregó
TripInfo.getVehicleLocation()
.ConsumerMapView
ya no es definitivo.
Cambios en la implementación
- Ahora, la distancia restante del tramo activo se calcula con la distancia del servidor (la ruta estática informada por el conductor más la ruta estática, cuando corresponda) en lugar del ajuste local. Este cambio genera valores de distancia restante más precisos.
Otros cambios
Se requieren dependencias nuevas. Consulta el archivo .pom para obtener más detalles.
- 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
Se agregaron registros para la latencia de la solicitud de viaje.
Se agregaron registros para los errores de respuesta de viajes.
Notas
- Desde la versión 0.8.1, el SDK de Consumer para Android se distribuye como un archivo ZIP jetificado. Para obtener información sobre cómo quitar Jetifier, consulta Jetifier: Modo inverso.
v0.8.1 (13 de septiembre de 2019)
Nuevas funciones
Se agregó compatibilidad con ConsumerMapView.
Los artefactos de ODRD ahora se envían en un repositorio de Maven en lugar de un archivo .aar zip. Para obtener más información, consulta Agrega el SDK de Consumer a tu app.
Cambios en la API
Se agregó
ConsumerController.disableAutoCamera()
como la función opuesta acenterMapForState()
.Ahora,
VehicleLocation.getUpdateTime()
devuelve un valor Long que representa la marca de tiempo (en milisegundos).Se simplificó la interfaz
AuthTokenFactory
para exponer un solo método para la generación de tokens. Se cambióAuthTokenFactory
de una interfaz a una clase abstracta para habilitar la retrocompatibilidad en Java 7. Este cambio es retrocompatible, pero los métodos anteriores para generar tokens de un solo servicio están obsoletos y, con el tiempo, se quitarán.
Cambios en la implementación
Los recursos ahora están centrados en el centro del ícono, lo que elimina el desplazamiento de la sombra.
setState
aJOURNEY_SHARING onStartTripMonitoring()
en lugar de esperar el estado del viaje supervisado.Siempre devuelve datos para la primera actualización de datos del viaje, incluso cuando los datos del viaje no están sincronizados.
Se agregaron las utilidades de Android Map como dependencia proporcionada.
Correcciones de errores
- Se corrigió la sintaxis de exportación de ProGuard dañada para la conservación de grpc.
v0.7.0 (7 de agosto de 2019)
Nuevas funciones
- Se agregó compatibilidad con varios destinos para Compartir viaje.
Cambios en la API
Nuevos métodos para
ConsumerTripCallback
.onTripIntermediateDestinationsUpdated()
.onTripETAToNextTripWaypointUpdated()
.
Nuevos métodos
ConsumerController
getIntermediateDestinations()
.setIntermediateDestinations(List<TerminalLocation> intermediateDestinations)
.
Nuevo
TripStatuses
TripStatus.ENROUTE_TO_INTERMEDIATE_DESTINATION
.TripStatus.ARRIVED_AT_INTERMEDIATE_DESTINATION
.
Nuevos métodos de obtención de
TripWaypoint
getETAMillis()
.getDistanceMeters()
.
Se agregó la clase
TripInfo
.- Puedes obtener
TripInfo
para el viaje activo conConsumerTripManager.getActiveTripInfo()
.
- Puedes obtener
Se agregó
WaypointType.INTERMEDIATE_DESTINATION
.Se agregó
MarkerType.TRIP_INTERMEDIATE_DESTINATION
.Se creó
ConsumerMapState.JOURNEY_SHARING
a partir de la combinación deConsumerMapStates
,ENROUTE_TO_PICKUP
,ARRIVED_AT_PICKUP
,ENROUTE_TO_DROPOFF
yCOMPLETE
.Se actualizó la tabla
StateChangeCallbacks
.Se agregó
onStateJourneySharing()
.Se quitaron
onStateWaitingForPickup()
,onStateDriverArrived()
,onStateEnroute()
yonStateEndofTrip()
.
Correcciones de errores
Se corrigió un error por el que la ruta no se recortaba a la ubicación del vehículo cuando el monitoreo del viaje comenzaba en medio de un viaje activo (no al inicio de la ruta).
Se corrigió un error por el que no se invocaban las devoluciones de llamada de viajes para los objetos de escucha registrados en TripManager después de que este ya había recuperado los datos del viaje.
El zoom de la cámara ahora solo incluye la ruta activa y el siguiente punto de referencia del viaje (el punto de referencia que pertenece al viaje). Incluso si el tramo restante es visible, el zoom nunca lo incluirá. Anteriormente, el punto de entrega se incluía en el zoom cuando el vehículo estaba en camino al punto de retiro o cuando llegaba a él. Sin embargo, ya no es así.
Mejoras
Propaga el punto de ruta restante cero con datos del conductor (la lista de puntos de ruta restantes se devuelve desde
ConsumerTripCallback.onTripRemainingWaypointsUpdated
yTripInfo.getRemainingWaypoints()
).Actualiza todas las ETA de los puntos de referencia restantes cuando cambie la ETA al primer punto de referencia de la lista.
Forzar la reactivación automática de la cámara solo cuando el conductor llegue al punto de partida Anteriormente, la cámara automática se restablecía y se habilitaba con cada cambio de estado del viaje. La función de cámara automática sigue habilitada de forma predeterminada. La cámara automática no se volverá a habilitar si se establece un nuevo viaje activo sin una llamada nueva a
startTripMonitoring()
.
v0.6.1 (26 de junio de 2019)
Nuevas funciones
- Compatibilidad con Carpool para compartir viajes
Cambios en la API
ConsumerController.getConsumerMapStyle()
ahora devuelveConsumerMapStyle
en lugar deTask<ConsumerMapStyle>
.Se agregó
PolylineStyle.setZIndex()
.
Correcciones de errores
La animación de la ruta ahora solo se produce cuando el tramo de la ruta está sincronizado, lo que mejora la experiencia del usuario.
Se corrigió el "parpadeo" del vehículo durante la interpolación de la animación cuando las actualizaciones de la ubicación del conductor están muy cerca.
Se corrigió un error por el que el vehículo comenzaba en el inicio de la ruta en lugar de en su ubicación más actualizada cuando se iniciaba el monitoreo del viaje en medio de un viaje activo.
Muestra la polilínea de la ruta activa sobre la ruta restante cuando se superponen.
Mejoras
- Ahora expón la clase
Status
de gRPC con métodos sin ofuscar.
v0.5.1.01 (17 de mayo de 2019)
Nuevas funciones
- Compatibilidad consecutiva con Compartir viaje.
Cambios en la API
- Nueva clase
ConsumerController
.
PolylineType
Valor anterior | Valor nuevo |
---|---|
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
Valor anterior | Valor nuevo |
---|---|
onTripRouteUpdated |
onTripActiveRouteUpdated |
onTripRemainingDistanceUpdated |
onTripActiveRouteRemainingDistanceUpdated |
onTripRemainingWaypointsUpdated() |
ConsumerController
- Ahora puedes establecer devoluciones de llamada para estados sin ingresar al estado.
Método | Devolución de llamada |
---|---|
startPickupSelection |
setPickupSelectionCallback |
startDropoffSelection |
setDropoffSelectionCallback |
startTripPreview |
setTripPreviewSelectionCallback |
ConsumerController.setLanguage(String languageCode)
te permite establecer el idioma que se usa en las llamadas a FleetEngine (por ejemplo, para las descripciones de los puntos de retiro).
Mejoras
- El estado de selección de la parada ahora tiene un marcador arrastrable.
- Se quitó la animación de la cámara en el estado
INITIALIZE
. - Se reemplazó
ManagedChannelBuilder
conAndroidChannelBuilder
.