Notas da versão do SDK do driver para Android

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 chamar DriverApi.createInstance() quando um DriverStatusListener 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 objeto Task foi renomeada como trackingId. 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 de VehicleStop pela função getTaskInfoList.

  • Substituímos a função setTasks de VehicleStop.Builder pela função setTaskInfoList.

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.

Async getRemainingVehicleStops

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.

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.

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.

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.