Notas de la versión del SDK de consumidores para Android

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

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() a VehicleLocation 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 a ConsumerApi.getInstance() y evalúa el Task 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 y ConsumerTripOptions. Se reemplazaron por TripModel, TripModelCallback, TripModelManager y TripModelOptions.

  • Las apps que usan el SDK de Consumer ahora deben tener targetSdkVersion de la API 31 o una versión posterior, y compileSdkVersion 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. El Task que devuelve ConsumerApi.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 y Trip.TripType, y se agregaron las clases de anotación TripInfo.TripStatus y TripInfo.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 un TripModel.

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 y ConsumerTripManager.

    • 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 y TripInfo.

    • Se cambiaron algunos nombres de clases para que sean similares a los de iOS. Se introdujeron TripModel, TirpModelManager y TripModelOptions para dar de baja ConsumerTrip, ConsumerTripManager y ConsumerTripOptions.

    • 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 y PolylineStyleOptions se dieron de baja y se reemplazaron por MarkerOptions y PolylineOptions, 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.

v0.9.28 (18 de mayo de 2021)

Cambios en la API

  • Se actualizaron todos los métodos ConsumerTripCallback para usar TripInfo como parámetro.
  • Se agregó ConsumerTrip.isRefreshing(), que indica si ConsumerTrip 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 de java.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() y TripInfo.getRemainingRouteTraffic().
    • Se agregaron ConsumerTripCallback.onTripActiveRouteTrafficUpdated() y ConsumerTripCallback.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.

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 objeto ConsumerTrip ahora se obtiene de ConsumerTripManager.getTrip().
    • Se cambió el nombre de ConsumerTrip.unregisterCallback a ConsumerTrip.unregisterTripCallback.
    • Se cambió el nombre de ConsumerTrip.isCallbackRegistered a ConsumerTrip.isTripCallbackRegistered.
    • Se agregaron ConsumerTrip.setConsumerTripOptions() y ConsumerTrip.getConsumerTripOptions().
    • Se quitó ConsumerTrip.setAutoRefreshInterval().
  • 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 y SELECTED_DROPOFF_POINT.
  • Se cambiaron OnConsumerMarkerClickCallback y ConsumerMapReadyCallback de interfaces a clases abstractas.
  • Se agregaron ConsumerController.getCameraUpdate(), ConsumerController.isAutoCameraEnabled() y ConsumerController.enableAutoCamera().
  • Se quitaron el FAB personalizado y sus métodos asociados (ConsumerController.isMyLocationFabEnabled y ConsumerController.setMyLocationFabEnabled).

Cambios en la implementación

  • Un ConsumerTripCallback, ya sea que se haya registrado con o sin un LifecycleOwner, ya no se anula el registro automáticamente en TripStatus.COMPLETE o TripStatus.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() y TripInfo.getTripRemainingRoute().
  • Se agregó la clase options que se usa durante la inicialización de ConsumerApi y que permite establecer la dirección de FleetEngine de forma dinámica. Si no se llama a la API con un valor de FleetEngine, 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

Cambios en la API

  • Se agregó ConsumerController.disableAutoCamera() como la función opuesta a centerMapForState().

  • 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 a JOURNEY_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 con ConsumerTripManager.getActiveTripInfo().
  • Se agregó WaypointType.INTERMEDIATE_DESTINATION.

  • Se agregó MarkerType.TRIP_INTERMEDIATE_DESTINATION.

  • Se creó ConsumerMapState.JOURNEY_SHARING a partir de la combinación de ConsumerMapStates, ENROUTE_TO_PICKUP, ARRIVED_AT_PICKUP, ENROUTE_TO_DROPOFF y COMPLETE.

    • Se actualizó la tabla StateChangeCallbacks.

    • Se agregó onStateJourneySharing().

    • Se quitaron onStateWaitingForPickup(), onStateDriverArrived(), onStateEnroute() y onStateEndofTrip().

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 y TripInfo.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 devuelve ConsumerMapStyle en lugar de Task<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 con AndroidChannelBuilder.