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 para o nível 23, 24 e 25 da API

De acordo com a política de suporte à versão do SO para dispositivos móveis, vamos congelar o suporte ao 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 do Driver para Android lançadas a partir do quarto trimestre de 2025 vão oferecer suporte a, no mínimo, o 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 os novos builds do app não vão oferecer suporte ao Android 6 e 7.

Especifique uma versão do SDK do driver para Android nas dependências de build do seu aplicativo para controlar quando você aumenta o SO mínimo com suporte para novas versões do app.

v6.0.0 (25 de novembro de 2024)

Correções de bugs

  • Correção de um problema em que os drivers recebiam erros do 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 de forma progressiva (iniciando em 0%) assim que a versão for integrada.`

Atualizações da API

  • A interface StatusListener descontinuada foi removida.

Mudanças de dependência e configuração

  • Remover a dependência de glide:cronet-integration no POM.xml
  • O SDK do Navigation atualizado tem suporte a versões com intervalo v5.x.
  • A partir da versão 6.0.0 do SDK do Driver para Android, os apps precisam ser atualizados para o Kotlin 2.0.
  • O targetSdk agora é o nível 34 da API. Esse é um requisito para todos os apps que são 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

  • Correção de um problema em que os drivers recebiam erros do gRPC com o código "INTERNAL" e uma mensagem "Panic! Isso é um bug". Isso será lançado gradualmente (a partir de 0%) depois 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 (a partir de 0%) depois que a versão for integrada.`

Mudanças de dependência e configuração

  • Remover a dependência de glide:cronet-integration no POM.xml

v5.0.0 (12 de setembro de 2023)

Mudanças de dependência e configuração

  • Atualização do SDK do Navigation para a v5.x.
  • O minSdkVersion foi atualizado para a API 23.
  • Atualização da versão do Kotlin para 1.9.0.
  • Adição de dependência do Room. * Os apps que usam o SDK do driver agora precisam ter targetSdkVersion da API 31 ou mais recente.
  • Os apps que usam o SDK do 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 do Driver precisam ativar a simplificação. Consulte https://developer.android.com/studio/write/java8-support#library-desugaring para ver instruções.

Correções de bugs

  • Correção do problema com a sincronização de disableLocationTracking.
  • Introdução de uma nova interface DriverStatusListener que informa uma causa em atualizações de status de exceção.
  • Correção de um problema em que os drivers permaneciam parados (disponível a partir da v4.99.0).

v4.99.0 (9 de agosto de 2023)

  • Suporte a várias versões para dependência do NavSDK. ** Compatível com a v4.5.0 até a v5.0.0 (exceto a v5.0.0).
  • Impeça que o ETA diminua sozinho quando o veículo estiver parado. Essa mudança é lançada aos poucos como um teste. Por isso, nem todos os apps vão receber essa mudança ao mesmo tempo.

v4.5.0 (12 de maio de 2023)

  • A dependência do SDK Navigation foi atualizada para a v4.5. Os IDs de grupo e artefato do SDK de navegação mudaram.

v4.4.3 (20 de março de 2023)

Mudança de dependência

  • Faça upgrade da dependência do SDK do Navigation para a v4.4.1.

v4.4.2 (15 de fevereiro de 2023)

Correções de bugs

  • Melhoramos o tempo de recuperação de rede quando o SDK encontra um problema temporário de conexão. Esta é uma correção experimental.

  • Descartar solicitações UpdateVehicle que contêm apenas um local "Raw".

  • 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 "Dirigir 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 a apps executados no Android 5, para os níveis 21 e 22 da API.

O que isso significa:

  • O SDK de navegação e o SDK do driver em execução nos apps Android vão oferecer suporte a um mínimo do Android 5 (nível 21 da API) até 30 de junho de 2023.
  • Depois de 30 de junho de 2023, só vamos oferecer suporte aos níveis 23 e mais recentes da API do Android. Em outras palavras, vamos deixar 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 os 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 se comportar corretamente.

Este aviso substitui o aviso de congelamento de suporte do Android 21 e 22 de 21 de junho de 2021 e o congelamento de suporte do 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 do Nav para a v4.1.3.
  • O nível mínimo da API do Android com suporte foi rebaixado para 21.

v4.1.0 (28 de abril de 2022)

Atualizações da API

  • A propriedade parentId do objeto Task foi renomeada para trackingId. A propriedade antiga ainda existe, mas foi descontinuada.

v4.0.0 (29 de novembro de 2021)

O nível mínimo da API do Android com suporte para essa 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 fazem referência a uma lista de objetos TaskInfo em vez de uma lista de objetos Task. Se você precisar do estado da tarefa, recomendamos que o acompanhe no código do aplicativo.

  • Foi adicionada uma nova classe: TaskInfo

  • A função getTasks de VehicleStop foi substituída pela função getTaskInfoList.

  • A função setTasks de VehicleStop.Builder foi substituída pela função setTaskInfoList.

Monitoramento de falhas

O monitoramento e os 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.

getRemainingVehicleStops assíncrono

Autenticação

Propriedades desnecessárias foram removidas da interface AuthTokenContext. O uso de ServiceType foi descontinuado. Agora, você só precisa receber declaraçõ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 o nível 23, 24 e 25 da API

Leia o anúncio de 18 de outubro

Em resposta a mudanças nas nossas dependências internas, o Android API Nível 23, 24 e 25 (Android 6, 7.0 e 7.1) não terá suporte em novas versões dos SDKs de navegação e driver para Android, a partir do terceiro trimestre de 2022.

Os SDKs de navegação e driver para versões do Android lançadas a partir do terceiro trimestre de 2022 só vão oferecer suporte a dispositivos com um mínimo de nível 26 da API Android.

As versões do app criadas com a v4.x ou anterior dos SDKs de navegação 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 do Driver foi oficialmente separado do SDK do Navigation. Consulte o guia de migração para mais detalhes.

Atualizações da API

Os seguintes métodos foram adicionados:

`RidesharingDriverApi.getDriverSdkVersion()`

Correções de bugs e estabilidade

Os erros PERMISSION_DENIED são informados em vez de serem classificados como erros de conexão.

Aviso de descontinuação (21 de junho de 2021)

Este anúncio descreve a descontinuação do SDK do Driver para Android e do SDK do 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 do Driver para Android em dois binários diferentes:

  • SDK do Navigation para Android, que oferece a funcionalidade de navegação/roteamento para seus motoristas.
  • SDK do 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 necessária do SDK de navegação para Android para as principais funções de roteamento.

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 as classes do SDK do Driver para Android.
  • O SDK do Navigation para Android inclui o SDK do Maps para Android como parte da embalagem (a partir do SDK do Navigation para Android v2).
    • Isso permite que os mapas e os recursos de navegação coexistam no mesmo mapa (como desenhar polilinhas em um NavigationView) e reduz o uso de memória, já que um único mapa é usado em vez de dois.
    • O SDK do Navigation para Android 3.0 não tem a paridade total de recursos com o SDK do Navigation para Android, mas a v3.2 vai resolver a maioria dos problemas aqui. Consulte O que posso fazer e quando? para mais detalhes.
  • Geração de registros que facilita a depuração de problemas.

Os métodos a seguir também foram removidos na v3, tendo sido marcados anteriormente como descontinuados e para os quais já existe uma solução alternativa:

  • Os seguintes métodos do SDK Nav/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 maior clareza, alguns métodos foram removidos na transição da v1 para a v2. A maioria delas foi a 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.

Desatualização do SDK do Driver para Android e do SDK do Navigation para Android v1.x

O SDK Nav/Driver v1 foi lançado em 2018, e com as versões v3 prestes a ser lançadas, é hora de descontinuar o v1 para evitar a insustentabilidade do suporte a muitas versões principais.

O tempo economizado ao não oferecer suporte a essa versão extra vai nos permitir oferecer melhor suporte à versão principal mais recente e criar mais recursos que são importantes para nossos clientes.

Portanto, o SDK Nav/Driver v1.x foi descontinuado e não será mais mantido após 21 de junho de 2022.

Confira como as descontinuações nas versões do SDK funcionam.

Leia o anúncio de revogação

A próxima v4.0 do SDK Navigation for Android e do SDK Driver for Android vão 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 com suporte atual é o Android 5.0 (nível 21 da API). Prevemos o lançamento da v4.0 no quarto trimestre de 2021. Isso significa que:

  • 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 driver que integraram nossos SDKs atualizados vão continuar funcionando em dispositivos com o Android 21 e versões mais recentes. Isso não mudou.
  • As versões do app criadas com o SDK do Driver para Android e o SDK Navigation para Android v4.x (com lançamento previsto para o 4º trimestre de 2021, sujeito a alterações) e mais recentes não poderão ser instaladas em dispositivos com Android 21 e 22. O v4.x será executado no Android 6.0 (nível 23 da API) ou versões mais recentes. Portanto, as versões do app criadas com o v4.x não poderão ser recebidas por motoristas com dispositivos que tenham o Android 23 ou mais recente. Isso significa que nossas mudanças relacionadas ao SDK e as mudanças feitas no app não vão alcançar motoristas com dispositivos que tenham o Android 21 e 22.

As versões do SDK do Navigation para Android v3 e do SDK do Driver para Android v3 que você vai atualizar são explicadas na tabela a seguir, além de quando elas vão estar disponíveis.

Quais recursos da plataforma Driver você usa? Você usa esses recursos? As primeiras versões disponíveis para upgrade são: Disponibilidade prevista
(sujeito 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 (previsto) Setembro de 2021
Acompanhamento de navegação e do Motor de frota (métodos NavSDK e DriverSDK) Não SDK Nav v3.0 e SDK Driver v3.0 O guia de migração da versão 3.0 do driver está 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 esperar suporte ou manutenção após 21 de junho de 2022 (consulte a próxima seção).

Recomendamos que você migre para a v3.x. Isso significa que:

* A última versão da v1.x vai ocorrer no 4º trimestre de 2021. A partir de então, a v1 vai ficar "congelada".

* Essa última versão pode ser corrigida por 6 meses, até 21 de junho de 2022. Após esse período, não vamos mais responder a solicitações de recursos ou bugs para a v1.x.

Analise a tabela a seguir e o [guia de migração](/maps/documentation/navigation-sdk-android/v2/migration) para entender essas mudanças.

O que posso fazer até quando?

Se você estiver usando... Você usa esses recursos? Para fazer upgrade agora Para fazer upgrade em setembro de 2021 Links de migração
v1.x
(não usando a funcionalidade FleetEngine.java / Driver)
Não NavSDK v3.0 Guia
Sim Não há opção NavSDK 3.x
v1.x
(usando a funcionalidade FleetEngine.java / Driver)
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 no 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 do Driver para Android e o SDK de navegação para Android versão v4.x e mais recentes no app do motorista.

v1.15.3 (9 de outubro de 2020)

Atualizações da API

  • O SDK do motorista agora se inscreve no SDK Navigation para atualizações de tráfego, que são enviadas para a API Fleet Engine.

Correções de bugs e estabilidade

  • Correção de uma falha no ambiente de execução do gRPC.

v1.15.2

Recursos

Foi adicionada a capacidade de interromper notificações persistentes. Se o relatório de localização for interrompido na instância do Fleet Engine, a orientação será interrompida em Navigator, todos os listeners de navegação serão cancelados e NavigationFragment ou NavigationView será pausado.

Correções de bugs e estabilidade

  • Correção de um bug que causava uma exceção se a instância do Fleet Engine fosse apagada.

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 local estável (redução de locais "travados"). Essa correção 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 estabilidade

  • Correção de um bug que às vezes fazia com que uma linha reta no início da rota fosse mostrada no app do consumidor.
  • Correção de um bug que poderia resultar em um ANR quando os locais fossem informados pelo SDK. Isso resultou em melhorias de onArrival() que eram suscetíveis a contenção de bloqueio. Conseguimos reproduzir ANRs de forma confiável em algumas circunstâncias e verificar se as correções resolveram o problema. O app de teste modificado para produzir os ANRs foi executado por oito horas sem um ANR após a correção.

v1.15.0 (23 de março de 2019)

Recursos

  • O status de orientação de navegação foi introduzido em eventos de início, saída da rota e chegada para melhorar o rastreamento de localização do veículo.
  • Foi adicionada a capacidade de continuar recebendo locais aproximados de estrada independentemente do estado de navegação.
  • Adicionamos mais informações sobre locais pré-ajustados à estrada, como a precisão.

Correções de bugs e estabilidade

  • A minSdkVersion do navsdk foi aumentada para 19.
  • Correção de um bug que fazia com que os nomes de waypoint de lat/lng não fossem aceitos quando a geocodificação reversa do lado do servidor falhava.

Versão v1.14.2 (2 de fevereiro de 2019)

Recursos

  • Evita que o DriverSDK envie locais 0,0 para o Fleet Engine (melhores entradas de local de alocação e compartilhamento de trajeto).
  • Geração de registros adicional para melhorar problemas de local travado e reduzir alternativas para compartilhamento de trajeto.
  • Ignora chamadas repetidas para setLocationReportingInterval(), a menos que o intervalo mude.
  • Atualizamos os javadocs do 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 do local da API 29.

v1.13.0

Correções de bugs e estabilidade

  • Adiciona uma dependência do okhttp que os clientes vão precisar adicionar aos builds do Gradle.

v1.11.7 (18 de outubro de 2019)

Correções de bugs e estabilidade

  • As atualizações de local agora continuam depois que onArrival() é acionado para um destino específico.
  • A notificação padrão (uma string constante no modo Navegação livre) corresponde ao esquema de cores definido para as notificações de navegação. Para mais informações, consulte Notificações persistentes compartilhadas.
  • Correção de um problema em que um evento de atualização de localização atrasado podia causar uma atualização de localização falsa, causando artefatos, como uma linha reta no início de um trajeto.

v1.11.6 (4 de outubro de 2019)

Atualizações da API

  • Foram feitas várias mudanças para garantir que o SDK do driver retome as atualizações de localização rapidamente após uma falha de rede. Depois que a conexão de rede for restaurada, as atualizações de localização vão começar novamente na próxima atualização de localização programada.

Correções de bugs e estabilidade

  • setVehicleState() agora retorna imediatamente. A atualização do FleetEngine agora ocorre em uma linha de execução em segundo plano. Resolve um problema de "O app não está respondendo" (ANR).
  • Corrigimos um problema que fazia com que as rotas de compartilhamento de trajetos fossem exibidas como uma linha reta usando versões mais antigas do SDK do consumidor. Garante que nenhum ponto de passagem único seja adicionado à rota pelo SDK do motorista.