Notas da versão do SDK de consumidor para Android

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

Comunicado: congelamento do suporte para os níveis da API 23, 24 e 25

De acordo com a Política de suporte a versões de SO para dispositivos móveis, vamos congelar o suporte ao Android 6 e 7 (níveis 23, 24 e 25 da API) nas próximas versões principais do SDK do Consumidor para Android.

As versões do SDK do Consumidor para Android lançadas a partir do quarto trimestre de 2025 serão compatíveis com o Android 8 (nível 26 da API) ou versões mais recentes. As versões anteriores do SDK vão continuar compatíveis com o 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 serão compatíveis com o Android 6 e 7.

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

5.0.0 (9 de novembro de 2026)

  • Adição de suporte ao modo completo do R8. As regras do ProGuard do SDK agora mantêm as classes do provedor gRPC que são carregadas por reflexão. Assim, os apps que ativam o modo completo do R8 não falham mais na inicialização com Unable to load OkHttpChannelProvider.

Correções de bugs

  • Correção de um problema em que as tentativas de conexão segura com o Fleet Engine podiam permanecer pendentes indefinidamente se um proxy de operadora intermediário parasse durante a configuração da conexão, impedindo que as atualizações de status da viagem e de rastreamento de veículos fossem atualizadas em determinadas redes móveis. O SDK do Consumidor agora aplica um tempo limite de conexão e se recupera automaticamente em uma nova conexão.

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

A partir da versão 5.0.0 do SDK do Consumidor para Android, há novos requisitos mínimos:

  • A versão mínima do Android com suporte é o Android 7.0 (nível 24 da API).
  • Os apps precisam fazer upgrade para o Kotlin 2.4.

O SDK agora é criado com as seguintes ferramentas:

  • O Plug-in do Android para Gradle foi atualizado para a versão 9.2.0.
  • O Gradle foi atualizado para a versão 9.4.1.

4.1.0 (26 de maio de 2026)

  • Melhorias internas: migração do repositório de dados interno para o Jetpack DataStore.

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

  • A versão da dependência do Kotlin foi atualizada para a v2.3.0.
  • O Plug-in do Android para Gradle foi atualizado para a versão 8.13.2.
  • O Gradle foi atualizado para a versão 8.13.
  • A biblioteca Desugar foi atualizada para a versão 2.1.5.
  • Atualizamos o SDK do Maps para a versão 20.0.0 e as seguintes dependências do GMS Core:
    • play-services-location: 21.3.0
    • play-services-tasks: 18.4.1
    • play-services-common: 18.1.0
    • play-services-basement: 18.1.0
  • Adicionamos dependências do Jetpack Datastore (androidx.datastore:datastore-core:1.2.0, androidx.datastore:datastore-guava:1.2.0).

4.0.0 (3 de outubro de 2025)

  • Melhorias internas.

3.2.0 (26 de junho de 2025)

  • Melhorias na geração de registros internos.

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

  • A partir da versão 3.2.0 do SDK do Consumidor para Android, os apps precisam fazer upgrade para o Kotlin 2.1.

Correções de bugs

  • Use o comprimento da polilinha em vez da distância aérea para decisões de animação interna.

3.1.0 (10 de março de 2025)

  • Melhorias na geração de registros internos.

3.0.0 (6 de dezembro de 2024)

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

2.99.0 (25 de novembro de 2024)

Correções de bugs

  • Correção do erro de ANR que ocorre quando ConsumerApi.cleanUp() leva muito tempo para ser executado. Isso será lançado progressivamente (começando em 0%) depois que a versão for integrada.
  • Correção de um problema em que os motoristas recebiam erros de gRPC com o código "INTERNAL" e a mensagem "Panic! Isso é um bug!". Isso será lançado progressivamente (começando em 0%) depois que a versão for integrada.

2.3.0 (2 de agosto de 2024)

Mudanças na API

2.2.0 (7 de maio de 2024)

Mudanças na API

  • Adicionamos suporte à API para integração com o Jetpack Compose. Este é um recurso experimental. Para mais detalhes sobre a integração com o Jetpack Compose, entre em contato com seu representante.

2.1.0 (17 de janeiro de 2024)

Correções de bugs

  • Correção de uma falha que ocorre quando o SDK é inicializado mais de uma vez durante o ciclo de vida do aplicativo.

Mudanças na API

  • Introduz o método para recuperar a instância GoogleMap criada pelo SDK (ConsumerGoogleMap.getGoogleMap()).
  • Introduz a API para recuperar as instâncias de Marker criadas pelo SDK para representar o veículo (ConsumerController.getConsumerMarker()).
  • Introdução da API para receber atualizações projetadas do cliente sobre tempo e distância durante o compartilhamento de trajeto (ProjectedRouteEta).

1.99.2 (3 de novembro de 2023)

  • Correção de uma falha que ocorre quando o SDK é inicializado em um processo remoto, separado do aplicativo.

  • Correção de uma falha que ocorre durante a execução de uma animação de câmera quando não há espaço vertical ou horizontal suficiente para o padding. Isso só ocorre no renderizador de mapas mais recente.

  • Correção de um bug que fazia com que o primeiro trecho de uma viagem consecutiva fosse cortado quando o segundo trecho passava pela mesma via.

Problemas

  • O ConsumerApi.initialize() gera uma exceção se for invocado quando uma instância de API já existir. Para contornar esse problema, primeiro chame ConsumerApi.getInstance() e avalie o Task retornado para determinar se uma instância de API já existe.

2.0.0 (15 de setembro de 2023)

Comunicado: alterações interruptivas

  • O requisito de nível mínimo da API foi atualizado de 21 para 23.

  • Atualiza o requisito de versão do SDK do Maps da v17.0.0 para a v18.1.0.

  • O requisito mínimo da versão da biblioteca padrão do Kotlin foi atualizado da v1.6.10 para a v1.9.0.

  • Atualizar as versões das dependências do Google Play Services

    • O requisito mínimo da versão da biblioteca play-services-base foi atualizado da v18.0.1 para a v18.2.0.

    • O requisito mínimo da versão da biblioteca play-services-basement foi atualizado da v18.0.0 para a v18.2.0.

    • O requisito mínimo da versão da biblioteca play-services-location foi atualizado da v17.0.0 para a v21.0.1.

    • O requisito mínimo da versão da biblioteca play-services-tasks foi atualizado da v18.0.1 para a v18.0.2.

  • Adiciona a biblioteca androidx.room:room-runtime com o requisito de versão mínima definido como v2.5.2.

  • Atualize as seguintes versões de dependências:

    • O requisito mínimo da versão da biblioteca android-maps-utils foi atualizado da v0.4.2 para a v3.5.2.

    • O requisito de versão mínima do com.google.android.datatransport:transport-backend-cct foi atualizado da v3.0.0 para a v3.1.9.

    • O requisito de versão mínima do com.google.android.datatransport:transport-runtime foi atualizado da v3.0.1 para a v3.1.9.

    • O requisito mínimo da versão androidx.lifecycle:lifecycle-extensions foi atualizado da v2.0.0 para a v2.2.0.

    • O requisito mínimo da versão androidx.lifecycle:lifecycle-common-java8 foi atualizado da v2.0.0 para a v2.6.1.

    • O requisito mínimo da versão androidx.appcompat:appcompat foi atualizado da v1.0.0 para a v1.6.1.

    • O requisito mínimo da versão androidx.fragment:fragment foi atualizado da v1.0.0 para a v1.6.1.

  • Remove as seguintes APIs descontinuadas: ConsumerTrip, ConsumerTripCallback, ConsumerTripManager, ConsumerTripOptions. Eles foram substituídos por TripModel, TripModelCallback, TripModelManager e TripModelOptions.

  • Os apps que usam o SDK do Consumidor agora precisam ter targetSdkVersion da API 31 ou mais recente, compileSdkVersion da API 33 ou mais recente.

  • Os apps que usam o SDK do Consumidor agora precisam ativar o suporte à biblioteca do Java 8. Consulte https://developer.android.com/studio/write/java8-support para ver 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 Consumidor precisam ativar a simplificação. Consulte https://developer.android.com/studio/write/java8-support#library-desugaring para ver as instruções.

  • O método ConsumerApi.initialize() agora gera uma exceção se for invocado quando já houver uma instância de API criada. O Task retornado por ConsumerApi.getInstance() precisa ser usado para determinar se há uma instância da API criada anteriormente.

Comunicado: descontinuação de APIs

  • Descontinua as classes de anotação Trip.TripStatus e Trip.TripType e adiciona as classes de anotação TripInfo.TripStatus e TripInfo.TripType para substituí-las.

    • Como parte dessa mudança, TripModelCallback#onTripStatusUpdated(TripInfo tripInfo, @Trip.TripStatus int status) foi descontinuado e TripModelCallback#onTripStatusUpdate(TripInfo tripInfo, @TripInfo.TripStatus int status) foi adicionado para substituí-lo.

    • Como parte dessa mudança, TripInfo#getTripStatus() foi descontinuado, e TripInfo#getCurrentTripStatus() foi adicionado para substituí-lo.

    • Como parte dessa mudança, TripInfo#getTripType() foi descontinuado, e TripInfo#getCurrentTripType() foi adicionado para substituí-lo.

  • Descontinua a classe Trip.

Outras mudanças e correções de bugs

  • Suporte para solicitar o renderizador mais recente do SDK do Maps. Consulte Novo renderizador de mapas para mais detalhes.

  • Oferece suporte ao intervalo do SDK do Maps da versão 18.1.0 (inclusive) até a versão 19.0.0 (exclusive).

  • Correção do erro "prazo excedido" para comunicações internas entre o SDK e o back-end do Google.

  • Correção de um problema de renderização em telas pequenas e no modo picture-in-picture.

Guia de migração

1.99.1 (31 de agosto de 2023)

Correções de bugs

  • Correção de uma falha que ocorre quando a atividade ou o fragmento do host do SDK é destruído.

  • Correção de uma falha que ocorre quando as dimensões do MapView são 0 (altura ou largura).

  • Correção de uma falha que ocorre ao projetar a localização do veículo na polilinha do trajeto.

Melhorias

  • Impede que o SDK falhe quando o aplicativo hospedado é transferido por sideload e os recursos visuais padrão não estão presentes.

1.99.0 (22 de junho de 2023)

Correções de bugs

  • Correção de um problema de renderização em telas pequenas e no modo picture-in-picture.

  • Correção de oscilações do veículo durante o compartilhamento de trajeto.

1.2.1 (7 de junho de 2023)

Correções de bugs

  • Correção de um bug que fazia o veículo piscar durante o compartilhamento de trajeto.

1.2.0 (21 de novembro de 2022)

Correções de bugs

  • Correção de um bug que fazia com que o tráfego vazio fosse informado no callback onTripActiveRouteTrafficUpdated.

Novos recursos

  • As polilinhas que consideram o trânsito agora estão em disponibilidade geral.

1.1.2 (27 de outubro de 2022)

Correções de bugs

  • Correção de um bug que fazia com que a polilinha do trajeto desaparecesse depois que uma JourneySharingSession era iniciada mais de uma vez para uma TripModel.

Comunicado: congelamento do suporte para o Android 5 (25 de julho de 2022)

Para a versão 1.1.1 do SDK, estamos oferecendo mais um ano de suporte para apps executados no Android 5, para os níveis da API 21 e 22.

O que isso significa:

  • O SDK do Consumidor em execução nos seus apps Android será compatível com o Android 5 (nível 21 da API) até 30 de junho de 2023.

  • Depois de 30 de junho de 2023, vamos oferecer suporte apenas 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 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 a 4.x) não serão corrigidos, e não garantimos que os SDKs vão se comportar corretamente.

v1.1.1 (25 de julho de 2022)

Mudança de dependência

  • O nível mínimo da API Android com suporte foi reduzido para 21.

v1.1.0 (28 de abril de 2022)

  • Melhorias internas.

v1.0.19 (17 de março de 2022)

Correções de bugs

  • Correção de um vazamento de memória na classe ConsumerApi.

v1.0.14 (30 de novembro de 2021)

O nível mínimo da API Android com suporte agora é o 23.

Mudanças na API

  • Mudanças nas classes ConsumerTrip e ConsumerTripManager.

    • Alguns nomes de métodos foram limpos para deixar o significado mais claro e se alinhar à plataforma iOS.
  • Mudanças em ConsumerTripCallback, ConsumerTrip e TripInfo.

    • Alguns nomes de classe foram alterados para formar paridade com o iOS. Introdução de TripModel, TirpModelManager e TripModelOptions para descontinuar ConsumerTrip, ConsumerTripManager e ConsumerTripOptions.

    • Alguns nomes de métodos foram limpos. Revisão ou adição de comentários do JavaDoc aos métodos para transmitir significados mais claros.

    • Melhoramos o tratamento de erros.

Personalização de estilo

  • Wrappers legados descontinuados

    • MarkerStyleOptions e PolylineStyleOptions foram descontinuados e substituídos por MarkerOptions e PolylineOptions, que são compartilhados com o SDK do Maps.

Monitoramento de falhas

  • Adicionamos a detecção e o registro de falhas.

    • Foi feita uma adição para permitir que você desative essa funcionalidade. Isso foi feito como parte de um esforço maior de monitoramento de falhas em toda a Geo.

Alterações na autenticação

  • Remova métodos desnecessários das interfaces de autenticação.
    • Remoção do parâmetro ServiceType.

v0.9.28 (18 de maio de 2021)

Mudanças na API

  • Atualizamos todos os métodos ConsumerTripCallback para usar TripInfo como parâmetro.
  • Adicionamos ConsumerTrip.isRefreshing(), que indica se ConsumerTrip está se atualizando ativamente com novas informações de viagem do Fleet Engine.
  • ConsumerTripCallback.onTripRemainingRouteDistanceUpdated() foi adicionado.
  • ConsumerTripCallback.onTripRemainingRouteUpdated() foi adicionado.
  • Substitua os tipos de retorno do Guava (ImmutableSet, ImmutableList) por classes equivalentes do java.util.
  • Mudanças no nome do pacote:

    • com.google.android.libraries.ridesharing.common.AuthTokenContext -> com.google.android.libraries.ridesharing.consumer.auth.AuthTokenContext
    • com.google.android.libraries.ridesharing.common.AuthTokenFactory -> com.google.android.libraries.ridesharing.consumer.auth.AuthTokenFactory
    • com.google.android.libraries.ridesharing.common.FleetEngineServiceType -> com.google.android.libraries.ridesharing.consumer.auth.FleetEngineServiceType - com.google.android.libraries.ridesharing.common.model.Trip

                                  ->
                                                                  com.google.android.libraries.ridesharing.consumer.model.Trip
      
                                  -   com.google.android.libraries.ridesharing.common.model.Vehicle
      
                                                          ->
                                      com.google.android.libraries.ridesharing.consumer.model.Vehicle
      

Mudanças na implementação

  • Correção de uma disputa em que o SDK poderia falhar devido a interações com o mapa antes que ele estivesse pronto.
  • O SDK não contém mais uma cópia não ofuscada de io.grpc.
  • Correção de um bug com polilinhas de trânsito piscando em determinados dispositivos. Os segmentos de trânsito agora terão extremidades arredondadas.

v0.9.15 (7 de outubro de 2020)

Mudanças na API

  • Esta versão apresenta as polilinhas com reconhecimento de trânsito. - Adição de TripInfo.getActiveRouteTraffic() e TripInfo.getRemainingRouteTraffic().
    • Adição de ConsumerTripCallback.onTripActiveRouteTrafficUpdated() e ConsumerTripCallback.onTripRemainingRouteTrafficUpdated() para indicar quando o tráfego mudou.
    • Adição de PolylineStyleOptions para personalização de tráfego (setTrafficEnabled(), setTrafficColorNoData(), setTrafficColorNormal(), setTrafficColorSlow(), setTrafficColorTrafficJam()).
    • Exposição de PolylineStyleOptions.TRAFFIC_Z_INDEX_ADDITION.
    • TripWaypoint.getTrafficData() foi adicionado.
    • O tipo de dado TrafficData foi adicionado.
    • ConsumerController.hideAllSessions() foi adicionado. ConsumerController.showSession() não aceita mais nulo como argumento.

v0.9.9 (15 de julho de 2020)

Mudanças na API

  • Essa é uma grande mudança que introduz uma arquitetura modularizada com uma relação mais clara entre a camada somente de dados (por exemplo, ConsumerTripManager) e a camada da interface do usuário (por exemplo, JourneySharingSession). Para saber mais sobre como migrar para a nova arquitetura, consulte o Guia de migração de modularização. - O objeto ConsumerTrip agora é recebido de ConsumerTripManager.getTrip().
    • ConsumerTrip.unregisterCallback foi renomeado como ConsumerTrip.unregisterTripCallback.
    • ConsumerTrip.isCallbackRegistered foi renomeado como ConsumerTrip.isTripCallbackRegistered.
    • Os elementos ConsumerTrip.setConsumerTripOptions() e a ConsumerTrip.getConsumerTripOptions() foram adicionados.
    • ConsumerTrip.setAutoRefreshInterval() foi removido.
  • As APIs que não são de compartilhamento de percurso foram removidas.
    • Remoção do mapa de densidade de veículos.
    • O estado de visualização do trajeto foi removido.
    • O estado de seleção de retirada foi removido.
    • Remoção do estado de seleção de entrega.
    • Os seguintes tipos de marcador foram removidos: SELECTED_PICKUP_POINT, SUGGESTED_PICKUP_POINT, HIGHLIGHTED_PICKUP_POINT e SELECTED_DROPOFF_POINT.
  • Mudança de OnConsumerMarkerClickCallback e ConsumerMapReadyCallback de interfaces para classes abstratas.
  • Adicionamos ConsumerController.getCameraUpdate(), ConsumerController.isAutoCameraEnabled() e ConsumerController.enableAutoCamera().
  • O FAB personalizado e os métodos associados (ConsumerController.isMyLocationFabEnabled e ConsumerController.setMyLocationFabEnabled) foram removidos.

Mudanças na implementação

  • Um ConsumerTripCallback, registrado com ou sem um LifecycleOwner, não cancela mais o registro automaticamente em TripStatus.COMPLETE ou TripStatus.CANCELED.
  • A AutoCamera agora está ativada por padrão e nunca é reativada ou desativada. Antes, a AutoCamera era reativada automaticamente em TripStatus.ARRIVED_AT_PICKUP e desativada quando o usuário interagia com o mapa durante o compartilhamento de trajeto.
  • As seguintes melhorias foram feitas na animação do veículo de compartilhamento de trajeto:
    • A animação de compartilhamento de trajeto agora lida com a situação em que um veículo pode voltar por um trajeto já percorrido.
    • O veículo agora vai se mover em linha reta em vez de interpolar a rota entre os pontos quando for determinado de forma algorítmica que isso é apropriado.
  • As permissões de FINE_LOCATION não são mais necessárias.

Outras alterações

  • As seguintes versões de dependência foram atualizadas:
    • com.google.android.datatransport:transport-api:2.2.0
    • com.google.android.datatransport:transport-backend-cct:2.2.0
    • com.google.android.datatransport:transport-runtime:2.2.0

v0.9.1 (23 de março de 2020)

Mudanças na API

  • Adicionamos TripInfo.getVehicleId(), TripInfo.getNumberOfPassengers(), TripInfo.getIntermediateDestinationIndex(), TripInfo.getTripActiveRoute() e TripInfo.getTripRemainingRoute().
  • Adicionamos a classe options usada durante a inicialização de ConsumerApi, que permite que o endereço FleetEngine seja definido dinamicamente. Se a API não for chamada com um valor FleetEngine, ela vai tentar buscá-lo no manifesto do Android ou vai usar o valor padrão.

Melhorias

  • A polilinha do trajeto não é mostrada quando o status da viagem é ARRIVED_AT_PICKUP.
  • O rastreamento de veículos fora da rota foi melhorado (requer o DriverSDK 1.15):
    • O rastreamento não fixa o veículo à rota quando ele passa do ponto de retirada.
    • O rastreamento de veículos permite mostrar o veículo fora da via, por exemplo, em estacionamentos não mapeados.
  • O ícone do veículo agora é atualizado quando o destino do motorista não corresponde ao destino no Fleet Engine.

v0.8.6 (16 de dezembro de 2019)

Mudanças na API

  • TripInfo.getVehicleLocation() foi adicionado.

  • ConsumerMapView não é mais final.

Mudanças na implementação

  • A distância restante do trecho ativo agora é calculada usando a distância do servidor (informada pelo motorista + trajeto estático, quando aplicável) em vez do ajuste local. Essa mudança produz valores de distância restante mais precisos.

Outras alterações

  • Novas dependências necessárias. Consulte o arquivo .pom para mais detalhes.

    • com.google.android.datatransport:transport-api:2.0.0
    • com.google.android.datatransport:transport-backend-cct:2.0.2
    • com.google.android.datatransport:transport-runtime:2.0.0
  • Adicionamos registros para a latência de solicitação de viagem.

  • Adicionamos registros para erros de resposta de viagem.

Observações

  • Desde a versão 0.8.1, o SDK do Consumidor para Android é enviado como um arquivo ZIP jetificado. Para saber como fazer isso, consulte Jetifier: modo reverso.

v0.8.1 (13 de setembro de 2019)

Novos recursos

Mudanças na API

  • Adicionamos ConsumerController.disableAutoCamera() como a função oposta a centerMapForState().

  • VehicleLocation.getUpdateTime() agora retorna um Long que representa o carimbo de data/hora (em milissegundos).

  • Simplificamos a interface AuthTokenFactory para expor um único método de geração de tokens. Mudança de AuthTokenFactory de uma interface para uma classe abstrata para permitir a compatibilidade com versões anteriores no Java7. Essa mudança é compatível com versões anteriores, mas os métodos antigos para geração de token de serviço único foram descontinuados e serão removidos.

Mudanças na implementação

  • Os recursos agora estão centralizados no ícone, eliminando o deslocamento da sombra.

  • setState para JOURNEY_SHARING onStartTripMonitoring() em vez de esperar pelo status da viagem monitorada.

  • Sempre retorna dados para a primeira atualização de dados da viagem, mesmo quando os dados da viagem estão fora de sincronia.

  • Adicionamos os utilitários de mapa do Android como uma dependência fornecida.

Correções de bugs

  • Correção da sintaxe de exportação do ProGuard para grpc keep.

v0.7.0 (7 de agosto de 2019)

Novos recursos

  • Suporte a vários destinos para o Compartilhamento de Percurso.

Mudanças na API

  • Novos métodos para ConsumerTripCallback.

    • onTripIntermediateDestinationsUpdated().
    • onTripETAToNextTripWaypointUpdated().
  • Novos métodos ConsumerController.

    • getIntermediateDestinations().
    • setIntermediateDestinations(List<TerminalLocation> intermediateDestinations).
  • Novo TripStatuses.

    • TripStatus.ENROUTE_TO_INTERMEDIATE_DESTINATION.
    • TripStatus.ARRIVED_AT_INTERMEDIATE_DESTINATION.
  • Novos getters de TripWaypoint.

    • getETAMillis().
    • getDistanceMeters().
  • Adicionamos a classe TripInfo.

    • É possível receber TripInfo para a viagem ativa com ConsumerTripManager.getActiveTripInfo().
  • WaypointType.INTERMEDIATE_DESTINATION foi adicionado.

  • MarkerType.TRIP_INTERMEDIATE_DESTINATION foi adicionado.

  • ConsumerMapState.JOURNEY_SHARING criado com base em ConsumerMapStates, ENROUTE_TO_PICKUP, ARRIVED_AT_PICKUP, ENROUTE_TO_DROPOFF e COMPLETE mesclados.

    • A tabela StateChangeCallbacks foi atualizada.

    • onStateJourneySharing() foi adicionado.

    • onStateWaitingForPickup(), onStateDriverArrived(), onStateEnroute() e onStateEndofTrip() foram removidos.

Correções de bugs

  • Correção de um bug em que o trajeto não é ajustado ao local do veículo quando o monitoramento da viagem começa no meio de uma viagem ativa (não no início do trajeto).

  • Correção de um bug em que os callbacks de viagem não eram invocados para listeners registrados no TripManager depois que ele já havia buscado dados de viagem.

  • O zoom da câmera agora inclui apenas o trajeto ativo e o próximo ponto de referência da viagem (que pertence à viagem). Mesmo que o trecho restante esteja visível, o zoom nunca o incluirá. Antes, o ponto de entrega era incluído no zoom quando o veículo estava a caminho da retirada ou chegava ao local de retirada. Isso não é mais verdade.

Melhorias

  • Preencha o waypoint restante zero com os dados do motorista (a lista de waypoints restantes é retornada de ConsumerTripCallback.onTripRemainingWaypointsUpdated e TripInfo.getRemainingWaypoints().

  • Atualize todos os ETAs dos pontos de passagem restantes quando o ETA do primeiro ponto de passagem na lista mudar.

  • Forçar a reativação da câmera automática somente quando o motorista chegar ao local de retirada. Antes, a câmera automática era redefinida para ativada a cada mudança de estado da viagem. A câmera automática ainda está ativada por padrão. A câmera automática não será reativada se uma nova viagem ativa for definida sem uma nova chamada para startTripMonitoring().

v0.6.1 (26 de junho de 2019)

Novos recursos

  • Suporte do Carpool para compartilhamento de percurso.

Mudanças na API

  • ConsumerController.getConsumerMapStyle() agora retorna ConsumerMapStyle em vez de Task<ConsumerMapStyle>.

  • PolylineStyle.setZIndex() foi adicionado.

Correções de bugs

  • A animação do trajeto agora só acontece quando o segmento do trajeto está sincronizado, resultando em uma experiência do usuário melhor.

  • Corrigimos o "piscar" do veículo durante a interpolação da animação quando as atualizações de localização do motorista estão próximas.

  • Correção de um bug em que o veículo começava no início do trajeto, em vez de no local mais atualizado, quando o monitoramento da viagem começava no meio de uma viagem ativa.

  • Mostre a polilinha da rota ativa acima da rota restante quando elas se sobrepuserem.

Melhorias

  • Agora, exponha a classe gRPC Status com métodos não ofuscados.

v0.5.1.01 (17 de maio de 2019)

Novos recursos

  • Suporte para compartilhamento de trajetos consecutivos.

Mudanças na API

  • Nova classe ConsumerController.

PolylineType

Valor antigo Novo valor
TRIP_PREVIEW_AUTO_ROUTE PREVIEW_AUTO_ROUTE
TRIP_PREVIEW_TAXI_ROUTE PREVIEW_TAXI_ROUTE
TRIP_PREVIEW_TRUCK_ROUTE PREVIEW_TRUCK_ROUTE
TRIP_PREVIEW_TWO_WHEELER_ROUTE PREVIEW_TWO_WHEELER_ROUTE
TRIP_ROUTE ACTIVE_ROUTE
REMAINING_ROUTE

ConsumerTripCallback

Valor antigo Novo valor
onTripRouteUpdated onTripActiveRouteUpdated
onTripRemainingDistanceUpdated onTripActiveRouteRemainingDistanceUpdated
onTripRemainingWaypointsUpdated()

ConsumerController

  • Agora é possível definir callbacks para estados sem entrar neles.
Método Chamada de retorno
startPickupSelection setPickupSelectionCallback
startDropoffSelection setDropoffSelectionCallback
startTripPreview setTripPreviewSelectionCallback
  • ConsumerController.setLanguage(String languageCode) permite definir o idioma usado nas chamadas do Fleet Engine (para descrições de pontos de retirada, por exemplo).

Melhorias

  • O estado de seleção de desembarque agora tem um alfinete arrastável.
  • Removemos a animação da câmera no estado INITIALIZE.
  • A ManagedChannelBuilder foi substituída pela AndroidChannelBuilder