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

En esta sección, se incluyen las notas de la versión del SDK de Driver para Android.

v5.0.0 (12 de septiembre de 2023)

Cambios de dependencia y configuración

  • Se actualizó el SDK de Navigation a la versión 5.x.
  • Se actualizó minSdkVersion a la API 23.
  • Se actualizó la versión de Kotlin a 1.9.0.
  • Se agregó una dependencia en Room.
  • Las apps que usan el SDK de Driver ahora deben tener targetSdkVersion de API 31 o superior.
  • Las apps que usan el SDK de Driver ahora deben habilitar la compatibilidad con la biblioteca de Java 8. Visita https://developer.android.com/studio/write/java8-support para obtener instrucciones para realizar la actualización.
  • Las apps que usan ProGuard o DexGuard deben migrar a R8. Para obtener más información, visita https://developer.android.com/build/shrink-code.
  • Las apps que usan el SDK de Driver deben habilitar la expansión de sintaxis. Para obtener instrucciones, consulta https://developer.android.com/studio/write/java8-support#library-desugaring.

Correcciones de errores

  • Se solucionó el problema con la sincronización dedisableLocationTracking.
  • Se introdujo la nueva interfaz DriverStatusListener, que informa una causa en las actualizaciones de estado de excepción.
  • Se solucionó el problema de los conductores detenidos (disponible a partir de la versión 4.99.0).

v4.99.0 (9 de agosto de 2023)

  • Admite una variedad de versiones para la dependencia de NavSDK. ** Admite v4.5.0 hasta v5.0.0 (sin incluir).
  • Evita que la hora de llegada estimada disminuya automáticamente cuando el vehículo esté detenido. Este cambio se lanza de forma gradual como un experimento, por lo que no todas las aplicaciones verán el cambio a la vez.

v4.5.0 (12 de mayo de 2023)

  • Se actualizó la dependencia del SDK de Navigation a la versión 4.5. Ten en cuenta que cambiaron los IDs de grupo y artefacto del SDK de Navigation.

v4.4.3 (20 de marzo de 2023)

Cambio de dependencia

  • Se actualizó la dependencia del SDK de Navigation a la versión 4.4.1.

v4.4.2 (15 de febrero de 2023)

Correcciones de errores

  • Mejora el tiempo de recuperación de la red cuando el SDK encuentre un problema temporal de conexión. Actualmente, se está lanzando como un experimento.

  • Descartar las solicitudes UpdateVehicle que solo contengan una ubicación “Sin procesar”.

  • Se corrigió la condición de carrera en la API de ALPHA "Route Overview".

v4.4.1 (18 de noviembre de 2022)

Correcciones de errores

  • Se corrigió un error en la lógica de carga de tráfico.

Cambios adicionales

  • Mejoras internas en los encabezados de solicitudes y los informes del código de estado

v4.4.0 (21 de septiembre de 2022)

Correcciones de errores

  • Se corrigió un error que impedía que se quitara la notificación "Conducir con Google Maps" si no se borraba la instancia de la API.

Cambio de dependencia

  • Se actualizó la dependencia del SDK de Navigation a la versión 4.2.2.

v4.3.0 (24 de agosto de 2022)

Mejoras internas.

Anuncio: Congelación de la compatibilidad con Android 5 (21 de julio de 2022)

Para nuestra versión más reciente del SDK (v4.2.0), 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 de Navigation y el SDK de Driver que se ejecutan en tus apps para Android admitirán, como mínimo, 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 23 y posteriores de Android. En otras palabras, dejaremos de brindar compatibilidad con 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.

Este aviso anula el aviso de bloqueo de Android 21 y 22 del 21 de junio de 2021, y los bloqueos de Android 23, 24 y 25 a partir del 18 de octubre de 2021.

v4.2.0 (8 de junio de 2022)

Cambio de dependencia

  • Se actualizó la dependencia del SDK de Nav a la versión 4.1.3.
  • Se reduce el nivel mínimo de API de Android compatible a 21.

v4.1.0 (28 de abril de 2022)

Actualizaciones de API

  • Se cambió el nombre de la propiedad parentId del objeto Task a trackingId. La propiedad anterior aún existe por ahora, pero está obsoleta.

  • Se cambiaron algunos tipos de datos que se muestran de Future al ListenableFuture más específico y de List al ImmutableList más específico.

v4.0.0 (29 de noviembre de 2021)

El nivel de API mínimo de Android compatible con esta versión es 23.

Actualizaciones de API

Para esta versión, se actualizó el SDK de Driver para Android con los siguientes cambios.

Cambio en la API de VehicleStops

Los objetos VehicleStop ahora hacen referencia a una lista de objetos TaskInfo, en lugar de a una lista de objetos Task. Si necesitas el estado de la tarea, se recomienda que hagas un seguimiento en el código de la aplicación.

  • Se agregó una clase nueva: TaskInfo

  • Se reemplazó la función getTasks de VehicleStop por la función getTaskInfoList.

  • Se reemplazó la función setTasks de VehicleStop.Builder por la función setTaskInfoList.

Supervisión de fallas

Se agregaron informes y supervisión de fallas para ayudar a mejorar la estabilidad del SDK. Esta función está habilitada de forma predeterminada, pero puedes inhabilitarla si llamas a setAbnormalTerminationReportingEnabled() y le pasas un valor de false antes de inicializar el SDK.

getRemainingVehicleStops asíncronos

Autenticación

Se quitaron las propiedades innecesarias de la interfaz AuthTokenContext. ServiceType dejó de estar disponible. Ahora solo necesitas obtener reclamaciones para el ID de vehículo y el ID de tarea incluidos, en lugar de depender de ServiceType.

18 de octubre de 2021: Congelación de la compatibilidad con los niveles de API 23, 24 y 25

Leer el anuncio del 18 de octubre

En respuesta a cambios en nuestras dependencias internas, los niveles de API 23, 24 y 25 de Android (Android 6, 7.0 y 7.1) no serán compatibles con las nuevas versiones de los SDK de Navigation y Driver para Android a partir del tercer trimestre de 2022.

Los SDK de Navigation y Driver para las versiones de Android que se hayan lanzado a partir del tercer trimestre de 2022 solo serán compatibles con dispositivos que ejecuten un nivel mínimo de API de Android 26.

Las versiones de apps compiladas con la versión 4.x o anteriores de los SDK de Navigation y Driver para Android seguirán funcionando en dispositivos con nivel de API 25 o versiones anteriores.

v3.0.4 (28 de julio de 2021)

Funciones

Con esta versión, el SDK de Driver está separado oficialmente del SDK de Navigation. Consulta la guía de migración para obtener más detalles.

Actualizaciones de API

Se agregaron los siguientes métodos:

DeliveryDriverApi.getDriverSdkVersion()

Estabilidad y corrección de errores

Informa errores PERMISSION_DENIED en lugar de clasificarlos como errores de conexión.

Anuncio de baja (21 de junio de 2021)

En este anuncio, se describen las bajas de los SDKs de Driver para Android y de Navigation para Android a partir de la fecha mencionada anteriormente. Este anuncio también se envió como anuncio obligatorio del servicio (MSA) a los clientes afectados.

Para simplificar la integración de los clientes y acelerar nuestra capacidad de ofrecer funciones útiles, dividimos el SDK de Navigation para Android y el SDK de Driver para Android en dos objetos binarios diferentes:

  • SDK de Navigation para Android, que proporcionará funciones de navegación y enrutamiento para tus controladores.
  • El SDK de Driver para Android te permitirá aprovechar los servicios web con estado de Fleet Engine para el progreso y la asignación de viajes o tareas.

Ten en cuenta que el SDK de Driver para Android tiene una dependencia obligatoria en el SDK de Navigation para Android para las funciones de enrutamiento principales.

¿Cuáles son los cambios?

Los cambios principales en la v3 son los siguientes:

  • Dos objetos binarios en lugar de uno.
  • Definiciones de paquetes más claras para las clases del SDK de Driver para Android.
  • El SDK de Navigation para Android incluye el SDK de Maps para Android como parte del empaquetado (a partir del SDK de Navigation para Android versión 2).
    • De esta manera, los mapas y las funciones de navegación pueden coexistir en el mismo mapa (por ejemplo, dibujar polilíneas en una NavigationView) y reduce el uso de memoria, ya que se usa un solo mapa en lugar de dos.
    • El SDK de Navigation para Android 3.0 no tiene paridad de funciones completa con el SDK de Navigation para Android, pero la versión 3.2 resolverá la mayoría de los problemas aquí. Para obtener más información, consulta ¿Qué puedo hacer y cuándo?.
  • Logging que nos facilitará la depuración de los problemas que puedas encontrar.

Los siguientes métodos también se quitaron en la versión 3, ya que se habían marcado como obsoletos y para los que ya existe una solución alternativa:

  • Los siguientes métodos del SDK de Nav/Driver dejaron de estar disponibles en la versión 1.16, que se lanzaron el 10 de agosto de 2020 y se quitaron de la versión 3.0:
    • Waypoint#fromLatLng(*)
    • Waypoint#fromPlaceId(*)
    • Navigator#startGuidance(resumeIntent)
    • NavigationApi#initForegroundServiceManager(*)
  • Para completar y aclarar, ten en cuenta que se quitaron varios métodos en la transición de v1 a v2. La mayoría de ellas eran consolidaciones de clases duplicadas entre el SDK de Navigation para Android y el SDK de Maps para Android. Consulta la guía de migración para comprender mejor estos cambios.

SDK de Driver para Android y Baja de la versión 1.x del SDK de Navigation para Android

El SDK de Nav/Driver versión 1 se lanzó en 2018 y, como pronto se lanzarán nuestras versiones 3, es hora de dar de baja la versión 1 para evitar la falta de sustentabilidad de muchas versiones principales.

El tiempo que se ahorra por no tener que admitir esta versión adicional nos permitirá brindar una mejor compatibilidad con la versión principal más reciente y compilar más funciones importantes para nuestros clientes.

Por lo tanto, la versión 1.x del SDK de Nav/Driver está obsoleta y no se mantendrá después del 21 de junio de 2022.

Tómate un momento para ver cómo funcionan las bajas en las versiones del SDK.

Leer el anuncio revocado

Las próximas versiones 4.0 del SDK de Navigation para Android y el SDK de Driver para Android admitirán, como mínimo, [Android 6.0 (nivel de API 23)](https://developer.android.com/studio/releases/platforms#6.0){: .external}. La versión mínima actual compatible es Android 5.0 (nivel de API 21). Prevemos lanzar la versión 4.0 durante el cuarto trimestre de 2021. Esto significa lo siguiente:

  • Las versiones de apps compiladas con versiones anteriores a v4.x seguirán funcionando en dispositivos con Android 21 y 22. Las apps de controladores que hayan integrado nuestros SDK actuales seguirán funcionando en dispositivos con Android 21 y versiones posteriores. Esto es lo mismo que antes.
  • Las versiones de apps compiladas con el SDK de Driver para Android y el SDK de Navigation para Android v4.x (previstas para el cuarto trimestre de 2021, sujeto a cambios) y después de esa fecha no podrán instalarse en dispositivos con Android 21 y 22. v4.x se ejecutarán como mínimo Android 6.0 (nivel de API 23), por lo que las versiones de tu app compiladas con Android 2 y los controladores de la app v4.x solo podrán repetirse con los controladores de Android 2 o versiones posteriores.

Las versiones del SDK de Navigation para Android 3 y el SDK de Driver para Android 3 que deseas actualizar se explican en la siguiente tabla y cuándo estarán disponibles.

¿Qué funciones de la plataforma de Driver usas? ¿Usas estas funciones? Entonces, las primeras versiones disponibles a las que debes actualizar son... Disponibilidad esperada
(sujeta a cambios)
Vínculos de migración
Solo Navigation
(métodos de NavSDK)
No NavSDK versión 3.0.1 Ahora Guía
NavSDK v3.5 (proyectada) Septiembre de 2021
Seguimiento de Navigation y Fleet Engine (métodos de NavSDK y DriverSDK) No SDK de Nav 3.0 y SDK de Driver 3.0 La guía de migración del controlador v3.0 está disponible al momento del lanzamiento
NavSDK 3.x y DriverSDK 3.0

Para seguir usando los métodos que se quitaron, puedes permanecer en la versión 1.x, pero sin esperar asistencia o mantenimiento después del 21 de junio de 2022 (consulta la siguiente sección).

Te recomendamos que migres a la versión 3.x. Esto significa lo siguiente:

* La última versión de la versión 1.x se lanzará el 4o trimestre de 2021 (por lo tanto, la versión 1 quedará “sin funciones” a partir de ese momento).

* Se podrá aplicar un parche a esta última versión durante 6 meses a partir del 21 de junio de 2022. Después de esa fecha, no podremos responder a solicitudes de funciones o errores de la versión 1.x.

Dedica un momento a revisar la siguiente tabla y la [guía de migración](/maps/documentation/navigation-sdk-android/v2/migration) para ayudarte a navegar por estos cambios.

¿Qué puedo hacer antes de esa fecha?

Si actualmente estás en... ¿Usas estas funciones? Para actualizar ahora Para actualizar en septiembre de 2021 Vínculos de migración
v1.x
(no usa la funcionalidad FleetEngine.java / Driver)
No NavSDK versión 3.0 Guía
Sin opción NavSDK 3.x
v1.x
(con las funciones de FleetEngine.java y Driver)
No Sin opción NavSDK 3.x +
DriverSDK 3.x
La guía anterior y la guía de migración de Driver v3.0 disponible en el lanzamiento.

Te recomendamos que notifiques a tus conductores con dispositivos con Android 21 y 22 para que se actualicen a una versión más reciente de Android (Android 6.0 como mínimo) antes de integrar el SDK de Driver para Android y el SDK de Navigation para Android versión 4.x o posterior en tu app de controlador.

v1.15.3 (9 de octubre de 2020)

Actualizaciones de API

  • El SDK de Driver ahora se suscribe al SDK de Navigation para las actualizaciones de tráfico, que se envían a la API de Fleet Engine.

Estabilidad y corrección de errores

  • Se corrigió una falla del entorno de ejecución de gRPC.

v1.15.2

Funciones

Se agregó la capacidad de detener las notificaciones persistentes. Si se detienen los informes de ubicación en la instancia de Fleet Engine, se detiene la guía en Navigator, se anulan el registro de todos los objetos de escucha de navegación y se pausan NavigationFragment o NavigationView.

Estabilidad y corrección de errores

  • Se corrigió un error que causaba que se arrojara una excepción si se borraba la instancia de Fleet Engine.

v1.15.1 (12 de mayo de 2020)

Funciones

El análisis preliminar de datos 1.15.0 indicó mejoras significativas en los informes de ubicaciones estables (reducción de ubicaciones "atascadas"). Esta corrección de parche permite que continúen los informes de ubicación mejorados. El problema de ANR no estaba relacionado con estas mejoras.

Estabilidad y corrección de errores

  • Se corrigió un error que, a veces, provocaba que se mostrara una línea recta al comienzo de la ruta en la app para consumidores.
  • Se corrigió un error que podía generar un error de ANR cuando el SDK informaba las ubicaciones. Esto es el resultado de las mejoras de onArrival() que eran susceptibles a la contención de bloqueo. Pudimos reproducir los errores de ANR de manera confiable en algunas circunstancias y verificar que las correcciones resolvieron el problema. La app de prueba modificada para producir los errores de ANR se ejecutó durante ocho horas sin un ANR después de la corrección.

v1.15.0 (23 de marzo de 2019)

Funciones

  • Se introdujo el estado de las indicaciones de navegación en los eventos de inicio, desvío y llegada para mejorar el seguimiento de la ubicación del vehículo.
  • Se agregó la capacidad de continuar obteniendo ubicaciones ajustadas a la ruta independientemente del estado de navegación.
  • Se agregó información adicional sobre ubicaciones ajustadas previamente a la ruta, como la precisión.

Estabilidad y corrección de errores

  • Se aumentó minSdkVersion para navsdk a 19.
  • Se corrigió un error que causaba que no se respetaran los nombres de puntos de referencia de latitud y longitud cuando fallaba la geocodificación inversa del servidor.

Versión v1.14.2 (2 de febrero de 2019)

Funciones

  • Impide que DriverSDK envíe 0,0 ubicaciones a Fleet Engine (mejor uso compartido del recorrido y entradas de ubicación de asignación).
  • Registro adicional para mejorar los problemas de ubicaciones bloqueadas y reducir los resguardos para compartir recorridos
  • Ignora las llamadas repetidas a setLocationReportingInterval(), a menos que cambie el intervalo.
  • Se actualizaron javadocs para el método setReportingInterval() con el objetivo de desalentar las llamadas repetidas de este método a una tasa alta en relación con los intervalos que se usan.
  • Se mejoró la confiabilidad de ubicación de la API 29.

v1.13.0

Estabilidad y corrección de errores

  • Se agregó una dependencia en okhttp que los clientes deberán agregar a sus compilaciones de Gradle.

v1.11.7 (18 de octubre de 2019)

Estabilidad y corrección de errores

  • Las actualizaciones de ubicación ahora continúan después de que se activa onArrival() para un destino determinado.
  • La notificación predeterminada (una string constante en el modo de navegación gratuita) coincide con el esquema de colores establecido para las notificaciones de navegación. Para obtener más información, consulta Notificaciones persistentes compartidas.
  • Se solucionó un problema por el que un evento de actualización de ubicación retrasado podía provocar una actualización de ubicación falsa, lo que provocaba artefactos como una línea recta al comienzo de una ruta.

v1.11.6 (4 de octubre de 2019)

Actualizaciones de API

  • Se introdujo una serie de cambios que garantizan que el SDK de Driver reanude rápidamente las actualizaciones de ubicación después de una falla de la red. Una vez que se restablece la conexión de red, las actualizaciones de ubicación comienzan de nuevo en la próxima actualización de ubicación programada.

Estabilidad y corrección de errores

  • setVehicleState() ahora se muestra de inmediato. La actualización de FleetEngine ahora se realiza en un subproceso en segundo plano. Soluciona un problema de Aplicación no responde (ANR).
  • Se solucionó un problema por el que las rutas de uso compartido de viajes se mostraban como una línea recta mediante versiones anteriores del SDK de consumidores. Garantiza que el SDK de Driver no agregue puntos de referencia únicos a la ruta.