Notas da versão do SDK do driver para Android

Esta seção contém notas da versão do SDK do driver para Android.

v5.0.0 (12 de setembro de 2023)

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

  • Atualização do SDK do Navigation para a v5.x.
  • minSdkVersion atualizado para a API 23
  • Atualização da versão do Kotlin para a versão 1.9.0.
  • Adição de dependência à Room.
  • Os apps que usam o SDK do Driver agora precisam ter o targetSdkVersion da API 31 ou mais recente.
  • Os apps que usam o SDK do driver agora precisam ativar o suporte à biblioteca Java 8. Consulte as instruções de atualização em https://developer.android.com/studio/write/java8-support.
  • Os apps que usam o Proguard ou o Dexguard precisam migrar para o R8. Saiba mais em https://developer.android.com/build/shrink-code.
  • Os apps que usam o SDK do driver precisam ativar a simplificação. Consulte as instruções em https://developer.android.com/studio/write/java8-support#library-desugaring.

Correções de bugs

  • Correção do problema com a sincronização offLocationTracking.
  • Introdução da nova interface DriverStatusListener que relata uma causa em atualizações de status de exceção
  • Correção do problema para os motoristas que permaneceram parados (disponível a partir da v4.99.0).

v4.99.0 (9 de agosto de 2023)

  • Suporte a várias versões para a dependência do NavSDK. ** Compatível com as versões 4.5.0 até 5.0.0, mas não incluindo.
  • Impeça que o HEC diminua sozinho quando o veículo está parado. Como essa mudança é lançada gradualmente como um experimento, ela não vai ser vista em todos os apps simultaneamente.

v4.5.0 (12 de maio de 2023)

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

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

Mudança na dependência

  • Faça upgrade da dependência do SDK de navegação para a v4.4.1.

v4.4.2 (15 de fevereiro de 2023)

Correções de bugs

  • Melhore o tempo de recuperação da rede quando o SDK encontra um problema temporário de conexão. Esse recurso está sendo lançado como um experimento.

  • Descarte UpdateVehicle solicitações que contenham apenas um local "RAW".

  • Correção da disputa na API ALFA "Route Overview".

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 relatórios de cabeçalhos de solicitações e códigos de status.

v4.4.0 (21 de setembro de 2022)

Correções de bugs

  • Correção de um bug que impedia a remoção da notificação "Como dirigir com o Google Maps" se a instância da API não fosse apagada.

Mudança na dependência

  • Faça upgrade da dependência do SDK de navegação para a v4.2.2.

v4.3.0 (24 de agosto de 2022)

Melhorias internas.

Anúncio: congelamento da compatibilidade com o Android 5 (21 de julho de 2022)

Para nossa versão mais recente do SDK (v4.2.0), oferecemos um ano extra de suporte para apps executados no Android 5, tanto para os níveis 21 quanto 22 da API.

O que isso significa:

  • O SDK do Navigation e do Driver em execução nos apps Android vai oferecer suporte ao Android 5 (nível 21 da API) no mínimo até 30 de junho de 2023.
  • Após 30 de junho de 2023, vamos oferecer suporte apenas ao Android de nível 23 ou mais recente. Em outras palavras, não daremos mais 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 o 4.x) não serão corrigidos e não garantimos que os SDKs se comportem corretamente.

Esse aviso substitui o de congelamento do Android 21 e 22 de 21 de junho de 2021. Já as versões 23, 24 e 25 oferecem suporte ao congelamento a partir de 18 de outubro de 2021.

v4.2.0 (8 de junho de 2022)

Mudança na dependência

  • Upgrade da dependência do SDK do Nav para a v4.1.3.
  • Faz downgrade do nível mínimo da API do Android com suporte 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, mas foi descontinuada.

  • Alguns tipos de retorno foram mudados de Future para o ListenableFuture mais específico e de List para o ImmutableList mais específico.

v4.0.0 (29 de novembro de 2021)

O nível mínimo da API do Android com suporte para essa versão é o 23.

Atualizações da API

Nesta versão, o SDK do driver para Android foi atualizado com as mudanças a seguir.

Mudança na API VehicleStops

Os objetos VehicleStop agora se referem a uma lista de objetos TaskInfo em vez de uma lista de objetos Task. Se você precisar do estado da tarefa, acompanhe-o no código do aplicativo.

  • Nova turma adicionada: 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 de falhas e a geração de relatórios foram adicionados para ajudar a melhorar a estabilidade do SDK. Esse recurso é ativado por padrão, mas é possível desativá-lo se você chamar setAbnormalTerminationReportingEnabled() e transmitir a ele um valor de false antes de inicializar o SDK.

GetLeftVehicleStops assíncronos

Autenticação

Propriedades desnecessárias removidas da interface AuthTokenContext O uso de ServiceType foi descontinuado. Agora você só precisa receber reivindicações do ID do veículo e da tarefa incluídos, em vez de depender de ServiceType.

18 de outubro de 2021: congelamento do suporte para as APIs de nível 23, 24 e 25

Leia o anúncio de 18 de outubro

Em resposta a mudanças em nossas dependências internas, as APIs de nível 23, 24 e 25 (Android 6, 7.0 e 7.1) do Android não vã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 do Navigation e do Driver para Android lançados a partir do terceiro trimestre de 2022 só vão oferecer suporte a dispositivos com o nível 26 da API do Android, no mínimo.

As versões do app criadas com a v4.x ou anterior dos SDKs Navigation e Driver para Android continuarão 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

Nesta versão, o SDK do Driver é oficialmente separado do SDK do Navigation. Para mais detalhes, consulte o Guia de migração.

Atualizações da API

Os seguintes métodos foram adicionados:

DeliveryDriverApi.getDriverSdkVersion()

Estabilidade e correções de bugs

Informe erros 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 dos SDKs do Driver para Android e do Navigation para Android a partir da data listada acima. Este aviso também foi enviado como um aviso de serviço obrigatório (MSA, na sigla em inglês) 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 fornecerá a funcionalidade de navegação/roteamento para seus motoristas.
  • SDK do Driver para Android, que permite usar os serviços da Web com estado do Fleet Engine para o progresso e alocação de viagens ou tarefas.

O SDK do Driver para Android tem uma dependência necessária do SDK do Navigation 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 do pacote (no SDK do Navigation para Android v2).
    • Isso permite que mapas e recursos de 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 do Navigation para Android 3.0 não tem total paridade de recursos com o SDK do Navigation para Android, mas a v3.2 resolverá a maioria dos problemas aqui. Consulte O que posso fazer e quando? para mais detalhes.
  • Logging que facilitará a depuração de problemas que você possa encontrar.

Os métodos a seguir também foram removidos na v3, tendo sido previamente marcados 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çados 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 foi consolidação de classes duplicadas entre o SDK do Navigation 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 Navigation para Android v1.x

O SDK Nav/Driver v1 foi lançado em 2018. Com as versões v3 que serão lançadas 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 nos permitirá oferecer melhor suporte à versão principal mais recente e criar mais recursos que são importantes para nossos clientes.

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

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

Ler aviso revogado

A próxima v4.0 do SDK do Navigation para Android e do Driver para Android vai oferecer suporte ao [Android 6.0 (nível 23 da API)](https://developer.android.com/studio/releases/platforms#6.0){: .external} (link em inglês) no mínimo. A versão mínima compatível 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 com o Android 21 e 22. Seus apps de drivers que integraram nossos SDKs atuais continuarão funcionando em dispositivos com o Android 21 ou versões mais recentes. O processo é o mesmo de antes.
  • As versões do app criadas com o SDK do Driver para Android e o SDK do Navigation para Android v4.x (previstas para o quarto trimestre de 2021, sujeitas a mudanças) e posteriores não poderão ser instaladas em dispositivos com o Android 21 e 22. A v4.x será executada no Android 6.0 (nível 23 da API) no mínimo. Portanto, para os dispositivos Android com as versões v4 e os drivers do app que serão criados com as versões v4 do app e versões 2, você só poderá alcançar as versões v4 e os drivers relacionados ao app.

As versões do SDK do Navigation para Android v3 e do Driver para Android v3 para as quais você fará upgrade são explicadas na tabela a seguir e quando elas estarão disponíveis.

Quais recursos da plataforma do driver você usa? Você usa esses recursos? Então, as primeiras versões disponíveis para as quais você deve fazer upgrade são... Disponibilidade esperada
(sujeita a alterações)
Links de migração
Somente Navigation
(métodos do NavSDK)
Não NavSDK v3.0.1 Agora Guia
Sim NavSDK v3.5 (projetado) setembro de 2021
Rastreamento de navegação e mecanismos de frota (métodos NavSDK e DriverSDK) Não SDK Nav v3.0 e Driver SDK v3.0 Guia de migração do driver v3.0 disponível na versão
Sim NavSDK v3.x e DriverSDK v3.0

Para continuar usando os métodos removidos, você pode manter a v1.x, mas sem expectativa de 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 ocorrerá no 4o trimestre de 2021 (e, portanto, a v1 terá recursos "congelados" a partir dessa data).

* Esta versão mais recente poderá receber patch por seis meses, até 21 de junho de 2022. Após esse período, não será possível responder a solicitações de bugs ou recursos para a v1.x.

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

O que posso fazer e quando?

Se você estiver usando... Você usa esses recursos? Para fazer o upgrade agora Fazer upgrade em setembro de 2021 Links de migração
v1.x
(não usa FleetEngine.java / funcionalidade do driver)
Não NavSDK v3.0 Guia
Sim Não há opção NavSDK 3.x
v1.x
(usando FleetEngine.java / funcionalidade)
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 na versão.
Sim

Recomendamos que você notifique os motoristas com dispositivos com o Android 21 e 22 para fazer upgrade para uma versão mais recente do Android (no mínimo, o Android 6.0) antes de integrar o SDK do Driver para Android e o do Navigation para Android versão v4.x e posteriores ao app do driver.

v1.15.3 (9 de outubro de 2020)

Atualizações da API

  • O SDK do Driver agora é inscrito no SDK do Navigation para receber atualizações de tráfego, que são enviadas à API Fleet Engine.

Estabilidade e correções de bugs

  • 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.

Estabilidade e correções de bugs

  • Correção de um bug que fazia com que uma exceção fosse gerada 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 localização estável (redução de locais "travados"). Essa correção de patch permite a continuidade do Relatório de localização aprimorado. O problema do ANR não estava relacionado a essas melhorias.

Estabilidade e correções de bugs

  • Correção de um bug que às vezes fazia com que uma linha reta no início do trajeto fosse mostrada no app do consumidor
  • Correção de um bug que poderia resultar em um ANR quando os locais são informados pelo SDK. Isso resultou de melhorias de onArrival() que foram suscetíveis à contenção de bloqueio. Conseguimos reproduzir os ANRs de maneira confiável em algumas circunstâncias e verificar que 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

  • Introdução do status de orientação de navegação nos eventos de partida, chegada e fora do trajeto para melhorar o rastreamento da localização do veículo.
  • Foi adicionada a capacidade de continuar recebendo localizações de trajetos independentemente do estado de navegação.
  • Inclusão de informações sobre locais pré-comparado, como precisão.

Estabilidade e correções de bugs

  • Aumento da minSdkVersion do navsdk para 19.
  • Correção de um bug que fazia com que os nomes de waypoints de lat/lng não fossem honrados quando a geocodificação inversa do lado do servidor falhasse.

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

Recursos

  • Impede que o DriverSDK envie 0,0 locais para o Fleet Engine (melhor compartilhamento de jornada e entradas de localização de alocação).
  • Geração de registros adicional para melhorar problemas de localização travada e reduzir substitutos para o compartilhamento de jornada.
  • Ignorar chamadas repetidas para setLocationReportingInterval(), a menos que o intervalo mude.
  • Os javadocs foram atualizados para o método setReportingInterval() com o objetivo de desencorajar chamadas repetidas desse método a uma taxa alta em relação aos intervalos usados.
  • A confiabilidade do local da API 29 foi aprimorada.

v1.13.0

Estabilidade e correções de bugs

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

v1.11.7 (18 de outubro de 2019)

Estabilidade e correções de bugs

  • As atualizações de localização agora continuam depois que onArrival() é disparado 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 persistentes compartilhadas.
  • Resolução de um problema em que um evento de atualização de local atrasado poderia causar uma atualizaçã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

  • Foi introduzida uma série de mudanças que garantem 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 local serão reiniciadas na próxima atualização de local programada.

Estabilidade e correções de bugs

  • setVehicleState() agora retorna imediatamente. A atualização do FleetEngine agora ocorre em uma linha de execução em segundo plano. Resolução de um problema de "O app não está respondendo" (ANR).
  • Correção de um problema que fazia com que os trajetos de compartilhamento de jornada fossem exibidos como uma linha reta usando versões mais antigas do SDK do consumidor. Garante que nenhum waypoint único seja adicionado ao trajeto pelo SDK do Driver.