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

Esta sección contiene notas de la versión del SDK para consumidores de Android.

Anuncio: Se suspenderá la compatibilidad con los niveles de API 23, 24 y 25

De acuerdo con la política de compatibilidad con versiones de SO para dispositivos móviles, suspenderemos la compatibilidad con Android 6 y 7 (niveles de API 23, 24 y 25) en las próximas versiones principales del SDK para consumidores para Android.

Las versiones del SDK para consumidores para Android que se lanzarán 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, el IDE cargará la versión más reciente del SDK y las compilaciones nuevas de tu app no serán compatibles con Android 6 y 7.

Especifica una versión del SDK para consumidores de Android en las dependencias de compilación de tu aplicación para controlar cuándo aumentas el SO mínimo compatible para las versiones nuevas de tu app.

3.0.0 (6 de diciembre de 2024)

Cambios de dependencia y configuración

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. 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 controladores recibían errores de gRPC con el código "INTERNAL" y el mensaje "Panic! ¡Esto es un error!". 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

  • Agrega compatibilidad con el diseño de mapas basado en la nube, 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 aplicar diseño al mapa con diseños de mapas basados en la nube.

  • Se agregó el método getServerTimeMillis() a VehicleLocation para determinar el momento en que el motor de flota recibió la actualización de ubicación.

2.2.0 (7 de mayo de 2024)

Cambios en la API

  • Se agregó la 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

  • Presenta el método para recuperar la instancia de GoogleMap que creó el SDK (ConsumerGoogleMap.getGoogleMap()).
  • Se presenta la API para recuperar las instancias de Marker que crea el SDK para representar el vehículo (ConsumerController.getConsumerMarker()).
  • Se presenta la API para recibir actualizaciones proyectadas del cliente de tiempo y distancia durante el uso compartido de viajes (ProjectedRouteEta).

1.99.2 (3 de noviembre de 2023)

  • Se corrigió la falla que se producía cuando el SDK se inicializaba desde un proceso remoto, independiente de la aplicación.

  • Se corrigió la falla que se producía cuando se ejecutaba una animación de la cámara y no había suficiente espacio vertical ni horizontal para el padding. Esto solo ocurre en el procesador de mapas más reciente.

  • Se corrigió el error que causaba que se recortara la primera etapa de un viaje consecutivo cuando la segunda etapa pasaba 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 muestra 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 actualiza el requisito de versión del SDK de Maps de la v17.0.0 a la v18.1.0.

  • Se actualizó el requisito de versión mínima de la biblioteca estándar de Kotlin de la v1.6.10 a la v1.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 de play-services-base de la v18.0.1 a la v18.2.0.

    • Se actualizó el requisito de versión mínima de la biblioteca de play-services-basement de la v18.0.0 a la v18.2.0.

    • Se actualizó el requisito de versión mínima de la biblioteca de play-services-location de la v17.0.0 a la v21.0.1.

    • Se actualizó el requisito de versión mínima de la biblioteca de play-services-tasks de la v18.0.1 a la v18.0.2.

  • Se agrega 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.

    • El requisito de versión mínima de androidx.lifecycle:lifecycle-extensions se actualiza de la versión 2.0.0 a la 2.2.0.

    • Se actualizó el requisito mínimo de versión 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 la versión 1.0.0 a la 1.6.1.

    • Se actualizó el requisito de versión mínima de androidx.fragment:fragment de la versión 1.0.0 a la 1.6.1.

  • Se quitaron las siguientes APIs que anteriormente estaban obsoletas: ConsumerTrip, ConsumerTripCallback, ConsumerTripManager y ConsumerTripOptions. Se reemplazaron por TripModel, TripModelCallback, TripModelManager y TripModelOptions.

  • Las apps que usan el SDK para consumidores ahora deben tener targetSdkVersion del nivel de API 31 o versiones posteriores, y compileSdkVersion del nivel de API 33 o versiones posteriores.

  • Las apps que usan el SDK para consumidores ahora deben habilitar la compatibilidad con la biblioteca de Java 8. Consulta https://developer.android.com/studio/write/java8-support para obtener instrucciones sobre 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 para consumidores deben habilitar la expansión de sintaxis. Consulta https://developer.android.com/studio/write/java8-support#library-desugaring para obtener instrucciones.

  • El método ConsumerApi.initialize() ahora arroja una excepción si se invoca cuando ya hay una instancia de API creada. Se debe usar el Task que muestra ConsumerApi.getInstance() para determinar si hay una instancia de API creada con anterioridad.

Anuncio: Bajas de las APIs

  • Deja de estar disponible las clases de anotaciones Trip.TripStatus y Trip.TripType, y agrega las clases de anotaciones 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 da de baja la clase Trip.

Otros cambios y correcciones de errores

  • Admite la solicitud del renderizador más reciente del SDK de Maps. Consulta Nuevo renderizador de mapas para obtener más información.

  • Proporciona compatibilidad con el rango del SDK de Maps desde la versión 18.1.0(inclusive) hasta la versión 19.0.0(excluyente).

  • Se corrigió el error "Se superó la fecha límite" para las comunicaciones internas entre el SDK y el backend de Google.

  • Se corrigió el problema de renderización de la pantalla de tamaño pequeño y el modo de imagen en imagen.

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 (altura o ancho).

  • Se corrigió la falla que se producía cuando se proyectaba la ubicación del vehículo en el polilinea de la ruta.

Mejoras

  • Evita que el SDK falle cuando se transfiere 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ó el problema de renderización de la pantalla de tamaño pequeño y del modo de imagen en imagen.

  • Se corrigió el parpadeo del vehículo durante el uso compartido de viajes.

1.2.1 (7 de junio de 2023)

Correcciones de errores

  • Se corrigió un error que causaba que el vehículo parpadeara durante el uso compartido de viajes.

1.2.0 (21 de noviembre de 2022)

Correcciones de errores

  • Se corrigió el error que causaba que se informara tráfico vacío en la devolución de llamada de onTripActiveRouteTrafficUpdated.

Nuevas funciones

  • La función "Polilíneas con información del tráfico" ahora está disponible para el público en general.

1.1.2 (27 de octubre de 2022)

Correcciones de errores

  • Se solucionó el error que causaba que el polilinea de la ruta desapareciera después de que se iniciaba un JourneySharingSession más de una vez para un TripModel.

Anuncio: Se suspenderá la compatibilidad con Android 5 (25 de julio de 2022)

En el caso de la versión 1.1.1 del SDK, proporcionamos un año adicional de asistencia para las apps que se ejecutan en Android 5, para los niveles de API 21 y 22.

Qué significa:

  • El SDK para consumidores que se ejecuta en tus apps para Android admitirá Android 5 como mínimo (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

  • Regresa el nivel de API mínimo admitido de Android a 21.

v1.1.0 (28 de abril de 2022)

  • 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)

El nivel de API de Android mínimo admitido ahora 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 se alineen con la plataforma de iOS.
  • Se realizaron cambios en ConsumerTripCallback, ConsumerTrip y TripInfo.

    • Se cambiaron algunos nombres de clases para establecer la paridad con 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 dejaron de estar disponibles y se reemplazaron por MarkerOptions y PolylineOptions, que se comparten con el SDK de Maps.

Supervisión de fallas

  • Se agregó la detección y el registro de fallas.

    • Se agregó una opción para que puedas inhabilitar esta funcionalidad. Esto se hizo como parte de un esfuerzo más amplio a nivel geográfico para la supervisión de fallas.

Cambios de autenticación

  • Quita 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 de viaje actualizada del motor de flota.
  • 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 esté listo.
  • El SDK ya no contiene una copia no ofuscada de io.grpc.
  • Se corrigió un error que provocaba que los polilíneas de tráfico parpadearan en ciertos dispositivos. Los segmentos de tráfico ahora tendrán extremos redondeados.

v0.9.15 (7 de octubre de 2020)

Cambios en la API

  • Esta versión presenta los polilíneas con información sobre 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 nulo como argumento.

v0.9.9 (15 de julio de 2020)

Cambios en la API

  • Este es un cambio importante que presenta una arquitectura modular con una relación más clara entre la capa de solo datos (por ejemplo, ConsumerTripManager) y la capa de la interfaz de usuario (por ejemplo, JourneySharingSession). Para obtener información sobre cómo migrar a la nueva arquitectura, consulta la Guía de migración de 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 de viajes.
    • 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 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 quitó el FAB personalizado y sus métodos asociados (ConsumerController.isMyLocationFabEnabled y ConsumerController.setMyLocationFabEnabled).

Cambios en la implementación

  • Un ConsumerTripCallback, ya sea registrado con o sin un LifecycleOwner, ya no se desregistra automáticamente en TripStatus.COMPLETE o TripStatus.CANCELED.
  • AutoCamera ahora está habilitada de forma predeterminada y nunca se vuelve a habilitar ni inhabilitar. 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 de viajes.
  • Se realizaron las siguientes mejoras en la animación del vehículo de uso compartido de viajes:
    • La animación de uso compartido de viajes ahora controla la situación en la que un vehículo puede volver de forma legítima por una ruta que ya se recorrió.
    • El vehículo ahora se animará en línea recta en lugar de interpolar la ruta entre puntos cuando se determine de manera algorítmica 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, lo que permite que la dirección FleetEngine se establezca de forma dinámica. Si no se llama a la API con un valor FleetEngine, intenta recuperarlo del manifiesto de Android o, de lo contrario, recurre al valor predeterminado.

Mejoras

  • El polilinea de la ruta no se muestra cuando el estado del viaje es ARRIVED_AT_PICKUP.
  • Se mejoró el seguimiento de vehículos fuera de ruta (requiere DriverSDK 1.15):
    • El seguimiento de vehículos no ajusta el vehículo a la ruta cuando este pasa por el punto de partida.
    • El seguimiento de vehículos permite mostrar el vehículo fuera de la ruta, por ejemplo, en estacionamientos sin asignar.
  • 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

  • La distancia restante del tramo activo ahora se calcula con la distancia del servidor (la que informa el conductor + la ruta estática, si corresponde) en lugar de la vinculación local. Este cambio produce valores de distancia restantes más precisos.

Otros cambios

  • Se requieren dependencias nuevas. Consulta el archivo .pom para obtener más información.

    • 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 viaje.

Notas

  • A partir de la versión 0.8.1, el SDK para consumidores para Android se envía como un archivo ZIP con optimización para Jet. Para obtener información sobre cómo quitar la jetificación, 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().

  • VehicleLocation.getUpdateTime() ahora muestra un 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 Java7. Este cambio es retrocompatible, pero los métodos anteriores para la generación de tokens de servicio único dejaron de estar disponibles y, con el tiempo, se quitarán.

Cambios en la implementación

  • Los recursos ahora se centran 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 muestra datos de la primera actualización de datos del viaje, incluso cuando los datos del viaje no están sincronizados.

  • Se agregó Android Map Utils como una dependencia proporcionada.

Correcciones de errores

  • Se corrigió la sintaxis de exportación de Proguard dañada para mantener GRPC.

v0.7.0 (7 de agosto de 2019)

Nuevas funciones

  • 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).
  • Nueva TripStatuses.

    • TripStatus.ENROUTE_TO_INTERMEDIATE_DESTINATION.
    • TripStatus.ARRIVED_AT_INTERMEDIATE_DESTINATION.
  • Nuevos métodos get 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 ConsumerMapStates, ENROUTE_TO_PICKUP, ARRIVED_AT_PICKUP, ENROUTE_TO_DROPOFF y COMPLETE combinados.

    • Se actualizó la tabla StateChangeCallbacks.

    • Se agregó onStateJourneySharing().

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

Correcciones de errores

  • Se solucionó un error por el que la ruta no se ajustaba a la ubicación del vehículo cuando la supervisión de viajes comenzaba en medio de un viaje activo (no al comienzo de la ruta).

  • Se corrigió un error por el que no se invocaban las devoluciones de llamada de viaje para los objetos de escucha registrados en el 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 próximo punto de referencia del viaje (punto de referencia que pertenece al viaje). Incluso si la parte restante es visible, el zoom nunca la incluirá. Anteriormente, el punto de destino se incluía en el zoom cuando el vehículo estaba en camino al punto de partida o cuando llegaba a él. Esto ya no es cierto.

Mejoras

  • Completa el punto de referencia restante cero con los datos del conductor (la lista de puntos de referencia restantes se muestra desde ConsumerTripCallback.onTripRemainingWaypointsUpdated y TripInfo.getRemainingWaypoints()).

  • Actualiza todas las ETA de los puntos de referencia restantes cuando cambie la ETA del primer punto de referencia de la lista.

  • Se vuelve a habilitar la cámara automática solo cuando el conductor llega al punto de partida. Anteriormente, la cámara automática se restablecía a la opción habilitada para cada cambio de estado del viaje. La cámara automática sigue habilitada de forma predeterminada. La cámara automática no se volverá a habilitar si se establece un viaje activo nuevo 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 muestra ConsumerMapStyle en lugar de Task<ConsumerMapStyle>.

  • Se agregó PolylineStyle.setZIndex().

Correcciones de errores

  • La animación de la ruta ahora se produce solo 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 animación cuando las actualizaciones de ubicación del conductor están muy juntas.

  • Se corrigió un error por el que el vehículo comenzaba al principio de la ruta en lugar de en su ubicación más actualizada cuando el monitoreo de viajes comenzaba en medio de un viaje activo.

  • Muestra el polilinea de la ruta activa sobre la ruta restante cuando se superponen.

Mejoras

  • Ahora expone la clase Status de gRPC con métodos no ofuscados.

v0.5.1.01 (17 de mayo de 2019)

Nuevas funciones

  • Compatibilidad consecutiva con la función Viajes compartidos

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 configurar 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 partida).

Mejoras

  • El estado de selección de la entrega ahora tiene un pin que se puede arrastrar.
  • Se quitó la animación de la cámara en el estado INITIALIZE.
  • Se reemplazó ManagedChannelBuilder con AndroidChannelBuilder.