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.

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 de Driver para Android.

Las versiones del SDK de Driver 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 Driver 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.

v6.2.0 (18 de junio de 2025)

Correcciones de errores

  • Se corrigió la falla de NullPointerException que se producía cuando se llamaba a DriverApi.createInstance() sin proporcionar un DriverStatusListener.

Cambios en la configuración y las dependencias

  • A partir de la versión 6.2.0 del SDK de Driver para Android, las apps deben actualizarse a Kotlin 2.1.

  • Se actualizaron las versiones compatibles del SDK de Navigation, incluida la versión 6.1.0 y versiones posteriores.

v6.1.0 (10 de marzo de 2025)

Correcciones de errores

  • Se realizaron mejoras en el registro interno.

v5.99.1 (10 de enero de 2025)

Correcciones de errores

  • Se corrigió el problema por el que los conductores recibían errores de gRPC con el código "INTERNAL" y un mensaje de "Panic! Descripción de "¡Esto es un error!" en el primer inicio de la aplicación después de la instalación.

v6.0.0 (25 de noviembre de 2024)

Correcciones de errores

  • Se corrigió el problema por el que los conductores recibían errores de gRPC con el código "INTERNAL" y un mensaje de "Panic! Descripción de "¡Este es un error!".
  • Se realizó una mejora interna para reducir los errores de conexión de actualización de ubicación, especialmente cuando el dispositivo cambia de red. Se lanzará de forma progresiva (a partir del 0%) una vez que se haya integrado la versión.

Actualizaciones de API

  • Se quitó la interfaz obsoleta StatusListener.

Cambios en la configuración y las dependencias

  • Quita la dependencia de glide:cronet-integration en el archivo POM.xml.
  • Se actualizaron las versiones compatibles del SDK de Navigation a la versión 5.x.
  • A partir de la versión 6.0.0 del SDK de Driver para Android, las apps deben actualizarse a Kotlin 2.0.
  • Ahora, targetSdk es el 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.

v5.99.0 (20 de septiembre de 2024)

Correcciones de errores

  • Se corrigió el problema por el que los conductores recibían errores de gRPC con el código "INTERNAL" y un mensaje de "Panic! Descripción de "¡Este es un error!". Esta función se lanzará de forma progresiva (a partir del 0%) una vez que se integre la versión.
  • Se realizó una mejora interna para reducir los errores de conexión de actualización de ubicación, especialmente cuando el dispositivo cambia de red. Se lanzará de forma progresiva (a partir del 0%) una vez que se haya integrado la versión.

Cambios en la configuración y las dependencias

  • Quita la dependencia de glide:cronet-integration en el archivo POM.xml.

v5.0.0 (12 de septiembre de 2023)

Cambios en la configuración y las dependencias

  • 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 la 1.9.0.
  • Se agregó una dependencia en Room. * Las apps que usan el SDK de Driver ahora deben tener targetSdkVersion de la API 31 o una versión posterior.
  • Las apps que usan el SDK de Driver 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 Driver deben habilitar la desazucaración. Consulta https://developer.android.com/studio/write/java8-support#library-desugaring para obtener instrucciones.

Correcciones de errores

  • Se corrigió un problema con la sincronización de disableLocationTracking.
  • Se introdujo una nueva interfaz DriverStatusListener que informa una causa en las actualizaciones de estado de excepción.
  • Se corrigió un problema relacionado con los conductores que permanecen detenidos (disponible a partir de la versión 4.99.0).

v4.99.0 (9 de agosto de 2023)

  • Admite un rango de versiones para la dependencia de NavSDK. ** Admite la versión 4.5.0 hasta la versión 5.0.0 (sin incluirla).
  • Evita que la ETA disminuya por sí sola cuando el vehículo está detenido. Este cambio se implementará gradualmente como experimento, por lo que no todas las aplicaciones lo verán de forma simultánea.

Versión 4.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

  • Se mejoró el tiempo de recuperación de la red cuando el SDK encuentra un problema de conexión temporal. Esta es una corrección experimental.

  • Descarta las solicitudes de UpdateVehicle que solo contienen una ubicación "sin procesar".

  • Se corrigió una condición de carrera en la API de ALPHA de "Descripción general de la ruta".

v4.4.1 (18 de noviembre de 2022)

Correcciones de errores

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

Cambios adicionales

  • Se realizaron mejoras internas en los encabezados de solicitud y en los informes de códigos 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 "Conduciendo 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)

Se realizaron mejoras internas.

Anuncio: Se suspende la compatibilidad con Android 5 (21 de julio de 2022)

En 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:

  • Los SDK de Navigation y Driver que se ejecutan en tus apps para Android admitirán 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.

Este aviso anula el aviso de congelación de la compatibilidad con Android 21 y 22 del 21 de junio de 2021, y la congelación de la compatibilidad con Android 23, 24 y 25 del 18 de octubre de 2021.

v4.2.0 (8 de junio de 2022)

Cambio de dependencia

  • Se actualizó la dependencia del SDK de Navigation a la versión 4.1.3.
  • Se reduce el nivel de API de Android mínimo admitido 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, pero está obsoleta.

v4.0.0 (29 de noviembre de 2021)

El nivel de API de Android mínimo admitido para esta versión es 23.

Actualizaciones de API

En 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 una lista de objetos Task. Si necesitas el estado de la tarea, te recomendamos que lo hagas un seguimiento en el código de tu 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 agregó la supervisión y la generación de informes 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.

Async getRemainingVehicleStops

Autenticación

Se quitaron las propiedades innecesarias de la interfaz AuthTokenContext. ServiceType quedó obsoleto. Ahora solo necesitas obtener reclamos para el ID del vehículo y el ID de la tarea incluidos, en lugar de depender de ServiceType.

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

Leer el anuncio del 18 de octubre

En respuesta a los 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 SDKs de Navigation y Driver para Android a partir del tercer trimestre de 2022.

Los SDKs de Navigation y Driver para las versiones de Android lanzadas a partir del tercer trimestre de 2022 solo admitirán dispositivos que ejecuten un nivel de API de Android 26 como mínimo.

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

v3.0.4 (28 de julio de 2021)

Funciones

Con este lanzamiento, el SDK de Driver se separa 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:

`RidesharingDriverApi.getDriverSdkVersion()`

Corrección de errores y mejoras de estabilidad

Se informan los 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 obsolescencias del SDK de Driver para Android y el SDK de Navigation para Android a partir de la fecha mencionada anteriormente. Este anuncio también se envió como un anuncio de servicio obligatorio (MSA) a los clientes afectados.

Para simplificar la integración del cliente y acelerar nuestra capacidad de ofrecer funciones útiles, dividiremos el SDK de Navigation para Android y el SDK de Driver para Android en dos archivos binarios diferentes:

  • SDK de Navigation para Android, que proporcionará funciones de navegación y rutas para tus conductores
  • SDK de Driver para Android, que 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 rutas principales.

¿Cuáles son los cambios?

Los principales cambios en la versión 3 son los siguientes:

  • Dos archivos binarios en lugar de uno
  • Se definieron paquetes más claros 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 paquete (a partir de la versión 2 del SDK de Navigation para Android).
    • Esto permite que las funciones de mapas y navegación coexistan en el mismo mapa (por ejemplo, dibujar polilíneas en un 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 completa de funciones con el SDK de Navigation para Android, pero la versión 3.2 resolverá la mayoría de los problemas aquí. Consulta ¿Qué puedo hacer y cuándo? para obtener más información.
  • Registros que nos facilitarán la depuración de los problemas que puedas encontrar

En la versión 3, también se quitaron los siguientes métodos, 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, lanzada el 10 de agosto de 2020, y se quitaron en la versión 3.0:
    • Waypoint#fromLatLng(*)
    • Waypoint#fromPlaceId(*)
    • Navigator#startGuidance(resumeIntent)
    • NavigationApi#initForegroundServiceManager(*)
  • Para mayor claridad y exhaustividad, ten en cuenta que se quitaron varios métodos en la transición de la versión 1 a la versión 2. La mayoría de estos cambios fueron 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.

Baja de las versiones 1.x del SDK de Navigation para Android y del SDK de Driver para Android

La versión 1 del SDK de Nav/Driver se lanzó en 2018, y, con el próximo lanzamiento de nuestras versiones 3, es hora de dejar de usar la versión 1 para evitar la insostenibilidad de admitir muchas versiones principales.

El tiempo que ahorraremos al no tener que admitir esta versión adicional nos permitirá brindar una mejor asistencia para la versión principal más reciente y crear más funciones que sean importantes para nuestros clientes.

Por lo tanto, la versión 1.x del SDK de Nav/Driver ahora está obsoleta y dejará de recibir mantenimiento después del 21 de junio de 2022.

Dedica un momento a ver cómo funcionan las bajas en las versiones del SDK.

Leer el anuncio de revocación

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

  • Las versiones de la app compiladas con versiones anteriores a la v4.x seguirán funcionando en dispositivos con Android 21 y 22. Tus apps para conductores que integraron nuestros SDKs actuales seguirán funcionando en dispositivos con Android 21 o versiones posteriores, como antes.
  • Las versiones de la app compiladas con el SDK de Driver para Android y el SDK de Navigation para Android v4.x (previsto para el cuarto trimestre de 2021, sujeto a cambios) y versiones posteriores no se podrán instalar en dispositivos que ejecuten Android 21 y 22. La versión 4.x se ejecutará en Android 6.0 (nivel de API 23) como mínimo, por lo que los conductores con dispositivos que tengan Android 23 o versiones posteriores solo podrán recibir las versiones de tu app compiladas con la próxima versión 4.x. Para reiterar, esto significa que ni los cambios relacionados con el SDK ni los cambios que hayas realizado en la app llegarán a los conductores con dispositivos que ejecuten Android 21 y 22.

En la siguiente tabla, se explican las versiones del SDK de Navigation para Android v3 y del SDK de Driver para Android v3 a las que te recomendamos actualizar, junto con la fecha en la que estarán disponibles.

¿Qué funciones de la plataforma para conductores usas? ¿Usas estas capacidades? Luego, las primeras versiones disponibles a las que deberías actualizar son las siguientes: Disponibilidad esperada
(sujeto a cambios)
Vínculos de migración
Solo navegación
(métodos de NavSDK)
No NavSDK v3.0.1 Ahora Guía
NavSDK v3.5 (proyectado) Septiembre de 2021
Navegación y seguimiento de Fleet Engine (métodos de NavSDK y DriverSDK) No SDK de Navigation v3.0 y SDK de Driver v3.0 Guía de migración del controlador v3.0 disponible en el lanzamiento
NavSDK v3.x y DriverSDK v3.0

Para seguir usando los métodos quitados, puedes permanecer en la versión 1.x, pero sin esperar asistencia ni 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 v1.x se lanzará en el 4º trimestre de 2021 (por lo que v1 estará “congelada” desde entonces).

* Esta última versión se puede corregir durante 6 meses después de esa fecha, hasta el 21 de junio de 2022. Después de este período, no podremos responder a las solicitudes de errores o funciones para la versión 1.x.

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

¿Qué puedo hacer y para cuándo?

Si actualmente tienes… ¿Usas estas capacidades? Para actualizar ahora Actualización en septiembre de 2021 Vínculos de migración
v1.x
(no usa FleetEngine.java / función de Driver)
No NavSDK v3.0 Guía
Sin opción NavSDK 3.x
v1.x
(con FleetEngine.java / funcionalidad del conductor)
No Sin opción NavSDK 3.x + DriverSDK 3.x
La guía anterior, además de la guía de migración del controlador v3.0 disponible en el lanzamiento.

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

v1.15.3 (9 de octubre de 2020)

Actualizaciones de API

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

Corrección de errores y mejoras de estabilidad

  • 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 detiene el informe de ubicación en la instancia de Fleet Engine, se detendrá la guía en Navigator, se anulará el registro de todos los objetos de escucha de navegación y se pausará NavigationFragment o NavigationView.

Corrección de errores y mejoras de estabilidad

  • Se corrigió un error que provocaba que se lanzara 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 los datos de la versión 1.15.0 indicó mejoras significativas en la generación de informes de ubicación estable (reducción de las ubicaciones “atascadas”). Esta corrección permite que continúe la generación de informes de ubicación mejorada. El problema de ANR no estaba relacionado con estas mejoras.

Corrección de errores y mejoras de estabilidad

  • Se corrigió un error que, en ocasiones, mostraba una línea recta al comienzo de la ruta en la app para el consumidor.
  • Se corrigió un error que podía provocar un ANR cuando el SDK informaba ubicaciones. Esto se debió a las mejoras de onArrival() que eran susceptibles a la contención de bloqueos. Pudimos reproducir los ANR de forma confiable en algunas circunstancias y verificar que las correcciones solucionaron el problema. La app de prueba modificada para producir los errores de ANR se ejecutó durante ocho horas sin errores de ANR después de la corrección.

v1.15.0 (23 de marzo de 2019)

Funciones

  • Se introdujo el estado de guía de navegación en los eventos de inicio, fuera de ruta y llegada para mejorar el seguimiento de la ubicación del vehículo.
  • Se agregó la capacidad de seguir obteniendo ubicaciones ajustadas a la ruta independientemente del estado de navegación.
  • Se agregó información adicional sobre las ubicaciones previas al ajuste a la ruta, como la precisión.

Corrección de errores y mejoras de estabilidad

  • Se aumentó el valor de minSdkVersion para el NavSDK a 19.
  • Se corrigió un error que impedía que se respetaran los nombres de los puntos de referencia de latitud y longitud cuando fallaba la geocodificación inversa del servidor.

Versión 1.14.2 (2 de febrero de 2019)

Funciones

  • Evita que el Driver SDK envíe ubicaciones 0,0 a Fleet Engine (mejores entradas de ubicación para el uso compartido del viaje y la asignación).
  • Se agregó un registro adicional para mejorar los problemas de ubicación atascada y reducir las copias de seguridad para compartir viajes.
  • Ignora las llamadas repetidas a setLocationReportingInterval(), a menos que cambie el intervalo.
  • Se actualizaron los Javadoc del método setReportingInterval() con el objetivo de desalentar las llamadas repetidas a este método a una velocidad alta en relación con los intervalos que se utilizan.
  • Se mejoró la confiabilidad de la ubicación de la API 29.

v1.13.0

Corrección de errores y mejoras de estabilidad

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

v1.11.7 (18 de octubre de 2019)

Corrección de errores y mejoras de estabilidad

  • Las actualizaciones de ubicación ahora continúan después de que se activa onArrival() para un destino determinado.
  • La notificación predeterminada (una cadena constante en el modo de navegación libre) coincide con el esquema de colores establecido para las notificaciones de navegación. Para obtener más información, consulta Notificaciones persistentes compartidas.
  • Se corrigió un problema en el que un evento de actualización de ubicación retrasado podía causar una actualización de ubicación falsa, lo que generaba 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 las actualizaciones de ubicación rápidamente después de una falla de red. Una vez que se restablece la conexión de red, las actualizaciones de ubicación se reanudan en la próxima actualización de ubicación programada.

Corrección de errores y mejoras de estabilidad

  • setVehicleState() ahora se muestra de inmediato. La actualización de FleetEngine ahora se realiza en un subproceso en segundo plano. Se solucionó un problema de Aplicación no responde (ANR).
  • Se corrigió un problema que provocaba que las rutas de uso compartido del viaje se mostraran como una línea recta en versiones anteriores del SDK de Consumer. Garantiza que el SDK de Driver no agregue paradas únicas a la ruta.