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
NullPointerExceptionque se producía cuando se llamaba aDriverApi.createInstance()sin proporcionar unDriverStatusListener.
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 las 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! Esta es una 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! Esta es la descripción del error.
- Se realizó una mejora interna para reducir los errores de conexión de actualización de ubicación, en especial 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-integrationen 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! Esta es la descripción del 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, en especial 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-integrationen 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ó
minSdkVersiona 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
targetSdkVersionde 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 lanza de forma gradual 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 de 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
UpdateVehicleque solo contienen una ubicación "sin procesar".Se corrigió una condición de carrera en la API ALPHA de "Route Overview".
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 "Conduce 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:
- El SDK de Navigation y el SDK de 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 congelamiento de la compatibilidad con Android 21 y 22 del 21 de junio de 2021, y el congelamiento 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 disminuyó 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
parentIddel objetoTaskatrackingId. 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 el 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:
TaskInfoSe reemplazó la función
getTasksdeVehicleStoppor la funcióngetTaskInfoList.Se reemplazó la función
setTasksdeVehicleStop.Builderpor la funciónsetTaskInfoList.
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.
- Se agregó la función
setAbnormalTerminationReportingEnabledaDriverApi.
Async getRemainingVehicleStops
- Se cambió la función
getRemainingVehicleStopsdeDeliveryVehicleReporterpara que muestre un objeto Future<List<VehicleStop>> en lugar de un objeto List<VehicleStop>.
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.
Se quitó
ServiceTypedeAuthTokenContext.Se quitó
getServiceType()deAuthTokenContext.Se quitó
setServiceTypedeAuthTokenContext.Builder.
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 se admitirán en 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()`Correcciones 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.
Los SDK de Navigation y Driver para Android se convertirán en las versiones 3.x del SDK de Navigation para Android y del SDK de Driver para Android (binarios divididos)
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 del 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 navegación para Android incluye el SDK de mapas para Android como parte del paquete (a partir de la versión 2 del SDK de navegación 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
Los siguientes métodos también se han eliminado en la versión 3, ya que habían sido marcados previamente como obsoletos y para los cuales ya existe una solución alternativa:
- Los siguientes métodos del SDK de navegación/conductor quedaron obsoletos en la versión 1.16, publicada el 10 de agosto de 2020, y se eliminaron 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. Consulte 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 dar soporte a esta versión adicional nos permitirá dar un mejor soporte a la última versión principal y desarrollar más funciones importantes para nuestros clientes.
Por lo tanto, el SDK Nav/Driver v1.x ahora está obsoleto y ya no recibirá mantenimiento después del 21 de junio de 2022.
Tómese un momento para ver cómo funcionan las versiones obsoletas del SDK.
Fin del soporte para el SDK de navegación y controladores de Android 21 y 22.
Lea el anuncio de revocación
La próxima versión 4.0 del SDK de navegación para Android y del SDK de controladores para Android admitirá 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 compatible actualmente 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 aplicación creadas con versiones anteriores a la v4.x seguirán funcionando en dispositivos Android 21 y 22. Sus aplicaciones de controlador que hayan integrado nuestros SDK actuales seguirán funcionando en dispositivos con Android 21 o superior. Esto no ha cambiado.
- Las versiones de la aplicación creadas con el SDK de controladores para Android y el SDK de navegación para Android v4.x (previsto para el cuarto trimestre de 2021, sujeto a cambios) y posteriores no se podrán instalar en dispositivos con Android 21 y 22. La versión v4.x requiere como mínimo Android 6.0 (nivel de API 23), por lo que las versiones de su aplicación creadas con la próxima versión v4.x solo serán compatibles con controladores en dispositivos con Android 23 o superior. En otras palabras, esto significa que ni los cambios relacionados con nuestro SDK ni los cambios que haya realizado en la aplicación llegarán a los controladores en dispositivos con Android 21 y 22.
En la siguiente tabla se explican las versiones de Navigation SDK para Android v3 y Driver SDK para Android v3 a las que deberá actualizar, junto con la fecha en que estarán disponibles.
| ¿Qué funciones de la plataforma para conductores usas? | ¿Utiliza usted estas capacidades? | Las primeras versiones disponibles a las que debería actualizar son... | Disponibilidad prevista (sujeta a cambios) |
Vínculos de migración |
|---|---|---|---|---|
| Solo navegación (métodos de NavSDK) |
No | NavSDK v3.0.1 | Ahora | Guía |
| Sí | 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 | La guía de migración del controlador v3.0 estará disponible en el lanzamiento. | |
| Sí | NavSDK v3.x y DriverSDK v3.0 |
Para continuar utilizando los métodos eliminados, puede permanecer en la versión 1.x, pero sin expectativa de soporte o mantenimiento después del 21 de junio de 2022 (consulte la siguiente sección).
Te recomendamos que migres a la versión 3.x. Esto significa lo siguiente:
* La última versión de la v1.x se lanzará en el 4º trimestre de 2021 (por lo que la 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 ni la funcionalidad del conductor) |
No | NavSDK v3.0 | Guía | |
| Sí | 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 y la guía de migración del controlador v3.0 disponible en el lanzamiento. |
| Sí | ||||
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 versiones posteriores en tu app para conductores.
v1.15.3 (9 de octubre de 2020)
Actualizaciones de API
- El SDK de Driver ahora se suscribe al SDK de Navigation para recibir actualizaciones de tráfico, que se envían a la API de Fleet Engine.
Correcciones 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.
Correcciones 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 1.15.0 indicó mejoras significativas en los informes de ubicación estable (reducción de 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.
Correcciones 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 en
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 SDK de Navigation a 19.
- Se corrigió un error que provocaba que no se respetaran los nombres de los puntos de ruta 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 (mejora el uso compartido del viaje y las entradas de ubicación de 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
Correcciones 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)
Correcciones de errores y mejoras de estabilidad
- Las actualizaciones de ubicación ahora continúan después de que
onArrival()se activa 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 solucionó un problema en el que un evento de actualización de ubicación retrasado podía provocar 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.
Correcciones 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 del Driver no agregue paradas únicas a la ruta.