Esta seção contém notas da versão do SDK Driver para Android.
Anúncio: congelamento do suporte aos níveis 23, 24 e 25 da API
De acordo com a política de suporte a versões de SO móveis, vamos congelar o suporte para Android 6 e 7 (nível 23, 24 e 25 da API) nas próximas versões principais do SDK Driver para Android.
As versões do SDK Driver para Android lançadas a partir do quarto trimestre de 2025 vão oferecer suporte a um mínimo de Android 8 (nível 26 da API). As versões anteriores do SDK vão continuar oferecendo suporte ao Android 6 e 7.
Se as dependências não especificarem um número de versão, o ambiente de desenvolvimento integrado vai carregar a versão mais recente do SDK, e novos builds do app não serão compatíveis com o Android 6 e 7.
Especifique uma versão do SDK Driver para Android nas dependências de build do aplicativo para controlar quando você aumenta o SO mínimo compatível para novas versões do app.
v6.2.0 (18 de junho de 2025)
Correções de bugs
- Correção de uma falha no
NullPointerException
ao chamarDriverApi.createInstance()
quando umDriverStatusListener
não é fornecido.
Mudanças na dependência e na configuração
A partir da versão 6.2.0 do SDK Driver para Android, os apps precisam ser atualizados para o Kotlin 2.1.
Atualização das versões compatíveis do SDK Navigation, incluindo e começando pela v6.1.0.
v6.1.0 (10 de março de 2025)
Correções de bugs
- Melhorias no registro interno.
v5.99.1 (10 de janeiro de 2025)
Correções de bugs
- Foi corrigido um problema em que os motoristas recebiam erros gRPC com o código "INTERNAL" e uma mensagem "Panic! This is a bug!" description on application first launch after install.
v6.0.0 (25 de novembro de 2024)
Correções de bugs
- Foi corrigido um problema em que os motoristas recebiam erros gRPC com o código "INTERNAL" e uma mensagem "Panic! Isso é um bug!".
- Melhoria interna para reduzir erros de conexão de atualização de local, principalmente quando o dispositivo muda de rede. Isso será lançado progressivamente (começando de 0%) assim que a versão for integrada.`
Atualizações da API
- A interface
StatusListener
descontinuada foi removida.
Mudanças na dependência e na configuração
- Remova a dependência de
glide:cronet-integration
no POM.xml. - Atualizamos as versões compatíveis do SDK Navigation para a v5.x.
- A partir da versão 6.0.0 do SDK Driver para Android, os apps precisam ser atualizados para o Kotlin 2.0.
- O targetSdk agora é o nível 34 da API. Essa é uma exigência para todos os apps que forem implantados na Google Play Store a partir de agosto de 2024. Consulte Atender ao requisito de nível desejado da API do Google Play.
v5.99.0 (20 de setembro de 2024)
Correções de bugs
- Foi corrigido um problema em que os motoristas recebiam erros gRPC com o código "INTERNAL" e uma mensagem "Panic! Isso é um bug!". Isso será lançado progressivamente (começando de 0%) assim que a versão for integrada.
- Melhoria interna para reduzir erros de conexão de atualização de local, principalmente quando o dispositivo muda de rede. Isso será lançado progressivamente (começando de 0%) assim que a versão for integrada.`
Mudanças na dependência e na configuração
- Remova a dependência de
glide:cronet-integration
no POM.xml.
v5.0.0 (12 de setembro de 2023)
Mudanças na dependência e na configuração
- Atualização do SDK do Navigation para a v5.x.
- O
minSdkVersion
foi atualizado para a API 23. - A versão do Kotlin foi atualizada para 1.9.0.
- Adicionada dependência do
Room.
* Os apps que usam o SDK Driver agora precisam ter
targetSdkVersion
da API 31 ou mais recente. - Os apps que usam o SDK Driver agora precisam ativar o suporte à biblioteca Java 8. Consulte https://developer.android.com/studio/write/java8-support para instruções de atualização.
- Os apps que usam o Proguard ou o Dexguard precisam migrar para o R8. Consulte https://developer.android.com/build/shrink-code para mais informações.
- Os apps que usam o SDK Driver precisam ativar a desaçucarização. Consulte https://developer.android.com/studio/write/java8-support#library-desugaring para instruções.
Correções de bugs
- Correção de um problema com a sincronização do disableLocationTracking.
- Introduzida uma nova interface DriverStatusListener que informa uma causa em atualizações de status de exceção.
- Correção de um problema para motoristas que permanecem parados (disponível a partir da versão 4.99.0).
v4.99.0 (9 de agosto de 2023)
- Suporte a várias versões da dependência do NavSDK. ** Compatível com v4.5.0 até v5.0.0 (sem incluir esta última).
- Evitar que a ETA diminua sozinha quando o veículo estiver parado. Essa mudança será implementada gradualmente como um experimento. Por isso, nem todos os aplicativos vão notar essa mudança ao mesmo tempo.
v4.5.0 (12 de maio de 2023)
- Atualize a dependência do SDK Navigation para a v4.5. Os IDs de grupo e artefato do SDK Navigation mudaram.
v4.4.3 (20 de março de 2023)
Mudança de dependência
- Faça upgrade da dependência do SDK Navigation para a v4.4.1.
v4.4.2 (15 de fevereiro de 2023)
Correções de bugs
Melhoramos o tempo de recuperação da rede quando o SDK encontra um problema temporário de conexão. Esta é uma correção experimental.
Descarte solicitações
UpdateVehicle
que contêm apenas um local "Bruto".Correção de uma disputa na API ALPHA "Visão geral do trajeto".
v4.4.1 (18 de novembro de 2022)
Correções de bugs
- Correção de um bug na lógica de upload de tráfego.
Alterações adicionais
- Melhorias internas nos cabeçalhos de solicitação e nos relatórios de código de status.
v4.4.0 (21 de setembro de 2022)
Correções de bugs
- Corrigimos um bug que impedia a remoção da notificação "Dirigindo com o Google Maps" se a instância da API não fosse limpa.
Mudança de dependência
- Faça upgrade da dependência do SDK Navigation para a v4.2.2.
v4.3.0 (24 de agosto de 2022)
Melhorias internas.
Aviso: suspensão do suporte para o Android 5 (21 de julho de 2022)
Para a versão mais recente do SDK (v4.2.0), estamos oferecendo mais um ano de suporte para apps executados no Android 5, nos níveis 21 e 22 da API.
O que isso significa:
- Os SDKs Navigation e Driver executados nos seus apps Android vão oferecer suporte a um mínimo de Android 5 (nível 21 da API) até 30 de junho de 2023.
- Após 30 de junho de 2023, vamos oferecer suporte apenas aos níveis 23 e mais recentes da API Android. Em outras palavras, vamos parar de oferecer suporte aos níveis 21 e 22 da API do Android em todas as versões do SDK após essa data. Isso significa que bugs relacionados ao Android 21 ou 22 em qualquer versão do SDK (incluindo 4.x) não serão corrigidos, e não garantimos que os SDKs vão funcionar corretamente.
Este aviso substitui o aviso de congelamento do suporte ao Android 21 e 22 de 21 de junho de 2021 e o congelamento do suporte ao Android 23, 24 e 25 de 18 de outubro de 2021.
v4.2.0 (8 de junho de 2022)
Mudança de dependência
- Faça upgrade da dependência do SDK de navegação para a v4.1.3.
- Reduz o nível mínimo da API do Android compatível para 21.
v4.1.0 (28 de abril de 2022)
Atualizações da API
A propriedade
parentId
do objetoTask
foi renomeada comotrackingId
. A propriedade antiga ainda existe por enquanto, mas está descontinuada.
v4.0.0 (29 de novembro de 2021)
O nível mínimo da API do Android compatível com esta versão é 23.
Atualizações da API
Nesta versão, o SDK Driver para Android foi atualizado com as seguintes mudanças.
Mudança na API VehicleStops
Os objetos VehicleStop
agora referenciam uma lista de objetos TaskInfo
em vez de uma lista de objetos Task
. Se você precisar do estado da tarefa, recomendamos que o rastreie no código do aplicativo.
Foi adicionada uma nova classe:
TaskInfo
Substituímos a função
getTasks
deVehicleStop
pela funçãogetTaskInfoList
.Substituímos a função
setTasks
deVehicleStop.Builder
pela funçãosetTaskInfoList
.
Monitoramento de falhas
O monitoramento e a geração de relatórios de erros foram adicionados para ajudar a melhorar a estabilidade do SDK.
Esse recurso é ativado por padrão, mas pode ser desativado se você chamar
setAbnormalTerminationReportingEnabled()
e transmitir um valor de false
antes de
inicializar o SDK.
- Adicionamos a função
setAbnormalTerminationReportingEnabled
aDriverApi
.
Async getRemainingVehicleStops
- Mudança na função
getRemainingVehicleStops
deDeliveryVehicleReporter
para retornar um Future<List<VehicleStop>> em vez de uma List<VehicleStop>.
Autenticação
Remoção de propriedades desnecessárias da interface AuthTokenContext
.
O uso de ServiceType
foi descontinuado. Agora você só precisa receber reivindicações para o
ID do veículo e da tarefa incluídos, em vez de depender de ServiceType
.
ServiceType
foi removido deAuthTokenContext
.getServiceType()
foi removido deAuthTokenContext
.setServiceType
foi removido deAuthTokenContext.Builder
.
18 de outubro de 2021: congelamento do suporte para os níveis 23, 24 e 25 da API
Leia o comunicado de 18 de outubro
Em resposta a mudanças nas nossas dependências internas, os níveis 23, 24 e 25 da API do Android (Android 6, 7.0 e 7.1) não serão compatíveis com novas versões dos SDKs Navigation e Driver para Android a partir do terceiro trimestre de 2022.
Os SDKs Navigation e Driver para versões do Android lançadas a partir do terceiro trimestre de 2022 só serão compatíveis com dispositivos que executam o nível 26 da API do Android, no mínimo.
As versões do app criadas com a v4.x ou versões anteriores dos SDKs Navigation e Driver para Android vão continuar funcionando em dispositivos com o nível 25 da API do Android e versões anteriores.
v3.0.4 (28 de julho de 2021)
Recursos
Com esta versão, o SDK Driver foi oficialmente separado do SDK Navigation. Para mais detalhes, consulte o guia de migração.
Atualizações da API
Os seguintes métodos foram adicionados:
`RidesharingDriverApi.getDriverSdkVersion()`Correções de bugs e melhorias na estabilidade
Relatar erros de PERMISSION_DENIED
em vez de classificá-los como erros de conexão.
Anúncio de descontinuação (21 de junho de 2021)
Este anúncio descreve as descontinuações do SDK Driver para Android e do SDK Navigation para Android a partir da data listada acima. Esse aviso também foi enviado como um aviso obrigatório de serviço (MSA) aos clientes afetados.
O SDK de navegação/motorista para Android vai se tornar o SDK Navigation para Android v3.x e o SDK Driver para Android v3.x para Android (binários divididos)
Para simplificar a integração do cliente e acelerar nossa capacidade de oferecer recursos úteis, estamos dividindo o SDK do Navigation para Android e o SDK Driver para Android em dois binários diferentes:
- SDK do Navigation para Android, que oferece funcionalidade de navegação/trajeto para seus motoristas.
- SDK Driver para Android, que permite aproveitar os serviços da Web com estado do Fleet Engine para progresso e alocação de viagens ou tarefas.
O SDK Driver para Android tem uma dependência obrigatória do SDK Navigation para Android para funções principais de rotas.
Quais são as mudanças?
As principais mudanças na v3 são:
- Dois binários em vez de um.
- Definições de pacote mais claras para classes do SDK Driver para Android.
- O SDK Navigation para Android inclui o SDK do Maps para Android como parte do pacote (a partir da v2 do SDK Navigation para Android).
- Isso permite que os recursos de mapas e navegação coexistam no mesmo mapa (como desenhar polilinhas em uma NavigationView) e reduz o uso de memória, já que um único mapa é usado em vez de dois.
- O SDK Navigation para Android 3.0 não tem paridade total de recursos com o SDK Navigation para Android, mas a v3.2 vai resolver a maioria dos problemas aqui. Consulte O que posso fazer e quando? para mais detalhes.
- Registro em log que vai facilitar a depuração de problemas que você possa encontrar.
Os seguintes métodos também foram removidos na v3, depois de terem sido marcados como obsoletos e para os quais já existe uma solução alternativa:
- Os métodos a seguir do SDK Navigation/Driver foram descontinuados na v1.16, lançada em 10 de agosto de 2020, e removidos na v3.0:
Waypoint#fromLatLng(*)
Waypoint#fromPlaceId(*)
Navigator#startGuidance(resumeIntent)
NavigationApi#initForegroundServiceManager(*)
- Para fins de integridade e clareza, observe que vários métodos foram removidos na transição da v1 para a v2. A maioria delas era consolidação de classes duplicadas entre o SDK do Navigation para Android e o SDK do Maps para Android. Consulte o guia de migração para entender melhor essas mudanças.
Descontinuação do SDK do Driver para Android e do SDK do Navigation para Android v1.x
O SDK de navegação/motorista v1 foi lançado em 2018. Com o lançamento das versões v3 em breve, é hora de descontinuar a v1 para evitar a insustentabilidade de oferecer suporte a muitas versões principais.
O tempo economizado por não precisar oferecer suporte a essa versão adicional vai nos permitir melhorar o suporte à versão principal mais recente e criar mais recursos importantes para nossos clientes.
Por isso, o SDK Navigation/Driver v1.x está descontinuado e não será mais mantido após 21 de junho de 2022.
Leia como funcionam as descontinuações nas versões do SDK.
Fim do suporte para o SDK do Navigation e do Driver para Android 21 e 22
Leia o anúncio revogado
A próxima versão 4.0 do SDK Navigation para Android e do SDK Driver para Android vai oferecer suporte a um mínimo de [Android 6.0 (nível 23 da API)](https://developer.android.com/studio/releases/platforms#6.0){: .external}. A versão mínima compatível atual é o Android 5.0 (nível da API 21). Prevemos o lançamento da v4.0 no quarto trimestre de 2021. Isso significa:
- As versões do app criadas com versões anteriores à v4.x vão continuar funcionando em dispositivos Android 21 e 22. Os apps de motorista que integraram nossos SDKs atuais vão continuar funcionando em dispositivos com Android 21 ou mais recente. Isso é igual a antes.
- As versões de apps criadas com o SDK Driver para Android e o SDK Navigation para Android v4.x (previsto para o quarto trimestre de 2021, sujeito a alterações) e posteriores não poderão ser instaladas em dispositivos com Android 21 e 22. A v4.x será executada no Android 6.0 (nível 23 da API) ou em versões mais recentes. Portanto, as versões do seu app criadas com a v4.x só poderão ser recebidas por motoristas com dispositivos Android 23 ou mais recentes. Isso significa que as mudanças relacionadas ao SDK e as mudanças feitas no app não vão chegar aos motoristas com dispositivos Android 21 e 22.
As versões do SDK Navigation para Android v3 e do SDK Driver para Android v3 que você vai querer atualizar estão explicadas na tabela a seguir, junto com a data de disponibilidade.
Quais recursos da plataforma Driver você usa? | Você usa esses recursos? | As primeiras versões disponíveis para upgrade são... | Disponibilidade prevista (sujeita a alterações) |
Links de migração |
---|---|---|---|---|
Somente navegação (métodos do NavSDK) |
Não | NavSDK v3.0.1 | Agora | Guia |
Sim | NavSDK v3.5 (projetado) | Setembro de 2021 | ||
Navegação e rastreamento do Fleet Engine (métodos NavSDK e DriverSDK) | Não | SDK Navigation v3.0 e SDK Driver v3.0 | Guia de migração do driver v3.0 disponível no lançamento | |
Sim | NavSDK v3.x e DriverSDK v3.0 |
Para continuar usando os métodos removidos, você pode permanecer na v1.x, mas sem expectativa de suporte ou manutenção após 21 de junho de 2022 (consulte a próxima seção).
Recomendamos migrar para a v3.x. Isso significa:
* A última versão da v1.x será lançada no quarto trimestre de 2021. Assim, a v1 será "congelada" a partir dessa data.
* Essa última versão pode receber patches por seis meses depois disso, até 21 de junho de 2022. Depois disso, não vamos mais responder a solicitações de recursos ou bugs para a v1.x.
Leia a tabela a seguir e o [guia de migração](/maps/documentation/navigation-sdk-android/v2/migration) para ajudar você a entender essas mudanças.
O que posso fazer e quando?
Se você estiver em... | Você usa esses recursos? | Para fazer upgrade agora | Para fazer upgrade em setembro de 2021 | Links de migração |
---|---|---|---|---|
v1.x (não usa FleetEngine.java / funcionalidade de motorista) |
Não | NavSDK v3.0 | Guia | |
Sim | Não há opção | NavSDK 3.x | ||
v1.x (usando FleetEngine.java / funcionalidade de motorista) |
Não | Não há opção | NavSDK 3.x + DriverSDK 3.x |
O guia acima e o guia de migração do Driver v3.0 disponível no lançamento. |
Sim |
Recomendamos que você notifique os motoristas com dispositivos Android 21 e 22 para fazer upgrade para uma versão mais recente do Android (mínimo Android 6.0) antes de integrar o SDK Driver para Android e o SDK Navigation para Android versão v4.x e mais recentes ao app de motorista.
v1.15.3 (9 de outubro de 2020)
Atualizações da API
- O SDK do driver agora se inscreve no SDK Navigation para receber atualizações de trânsito, que são enviadas à API Fleet Engine.
Correções de bugs e melhorias na estabilidade
- Correção de uma falha no ambiente de execução do gRPC.
v1.15.2
Recursos
Agora é possível interromper a notificação persistente. Se o relatório de localização for
interrompido na instância do Fleet Engine, a orientação será interrompida no Navigator
, todos os
listeners de navegação serão cancelados e o NavigationFragment
ou
NavigationView
será pausado.
Correções de bugs e melhorias na estabilidade
- Correção de um bug que causava uma exceção se a instância do Fleet Engine fosse limpa.
v1.15.1 (12 de maio de 2020)
Recursos
A análise preliminar dos dados da versão 1.15.0 indicou melhorias significativas nos relatórios de localização estáveis (redução de locais "travados"). Esse patch permite que o relatório de local aprimorado continue. O problema de ANR não estava relacionado a essas melhorias.
Correções de bugs e melhorias na estabilidade
- Correção de um bug que às vezes fazia uma linha reta aparecer no início do trajeto no app para consumidores.
- Correção de um bug que poderia resultar em um ANR quando os locais fossem informados pelo SDK. Isso resultou de melhorias no
onArrival()
que eram suscetíveis a disputa de bloqueio. Conseguimos reproduzir ANRs de forma confiável em algumas circunstâncias e verificar que as correções resolveram o problema. O app de teste modificado para produzir ANRs foi executado por oito horas sem um ANR após a correção.
v1.15.0 (23 de março de 2019)
Recursos
- Introduzimos o status de orientação de navegação em eventos de início, fora da rota e chegada para melhorar o rastreamento da localização do veículo.
- Agora é possível continuar recebendo locais ajustados à via, independente do estado de navegação.
- Adicionamos mais informações sobre locais antes do ajuste à via, como acurácia.
Correções de bugs e melhorias na estabilidade
- Aumentamos a minSdkVersion do navsdk para 19.
- Correção de um bug que fazia com que os nomes de pontos de referência de latitude/longitude não fossem respeitados quando a geocodificação inversa do lado do servidor falhava.
Versão 1.14.2 (2 de fevereiro de 2019)
Recursos
- Impede que o DriverSDK envie locais 0,0 para o Fleet Engine (melhor compartilhamento de viagem e entradas de local de alocação).
- Geração de registros adicional para melhorar problemas de localização travada e reduzir os substitutos para o compartilhamento de trajeto.
- Ignore chamadas repetidas para
setLocationReportingInterval()
, a menos que o intervalo mude. - Javadocs atualizados para o método
setReportingInterval()
com o objetivo de desencorajar a chamada repetida desse método em uma taxa alta em relação aos intervalos usados. - Melhoria na confiabilidade da localização da API 29.
v1.13.0
Correções de bugs e melhorias na estabilidade
- Adiciona uma dependência do okhttp que os clientes precisam adicionar aos builds do gradle.
v1.11.7 (18 de outubro de 2019)
Correções de bugs e melhorias na estabilidade
- As atualizações de local agora continuam depois que
onArrival()
é acionado para um determinado destino. - A notificação padrão (uma string constante no modo de navegação livre) corresponde ao esquema de cores definido para as notificações de navegação. Para mais informações, consulte Notificações permanentes compartilhadas.
- Foi corrigido um problema em que um evento de atualização de local atrasado podia causar uma atualização de local espúria, gerando artefatos como uma linha reta no início de um trajeto.
v1.11.6 (4 de outubro de 2019)
Atualizações da API
- Introduzimos uma série de mudanças para garantir que o SDK Driver retome as atualizações de local rapidamente após uma falha de rede. Quando a conexão de rede for restabelecida, as atualizações de localização vão começar de novo na próxima atualização programada.
Correções de bugs e melhorias na estabilidade
setVehicleState()
agora retorna imediatamente. A atualização do FleetEngine agora ocorre em uma thread em segundo plano. Corrige um problema de "O app não está respondendo" (ANR).- Corrigido um problema que fazia com que as rotas de compartilhamento de trajeto fossem exibidas como uma linha reta usando versões mais antigas do SDK Consumer. Garante que nenhum ponto de referência único seja adicionado à rota pelo SDK Driver.