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.

2.3.0 (2 de agosto de 2024)

Mudanças na API

2.2.0 (7 de maio de 2024)

Mudanças na API

  • Adição da API de suporte para a integração do Jetpack Compose. Este é um experimento . Para mais detalhes sobre a integração com o Jetpack Compose, entre em contato com com seu representante.

2.1.0 (17 de janeiro de 2024)

Correções de bugs

  • Corrige falhas que ocorrem quando o SDK é inicializado mais de uma vez o ciclo de vida do aplicativo.

Mudanças na API

  • Introdução de um método para extrair a instância GoogleMap criada pelo SDK (ConsumerGoogleMap.getGoogleMap()).
  • Introdução da API para recuperar as instâncias Marker criadas pelo SDK para representam o veículo (ConsumerController.getConsumerMarker()).
  • Introdução de APIs para receber atualizações projetadas pelo cliente de tempo e distância durante o Compartilhamento da jornada (ProjectedRouteEta).

1.99.2 (3 de novembro de 2023)

  • Corrige falhas que ocorrem quando o SDK é inicializado de um processo remoto separadamente do aplicativo.

  • Corrige falhas que ocorrem ao executar uma animação de câmera e não há espaço vertical ou horizontal suficiente para o padding. Isso ocorre apenas renderizador de mapas mais recente.

  • Corrige o bug que faz com que o primeiro trecho de uma viagem de ida e volta seja cortado quando o segundo trecho passa pela mesma estrada.

Problemas

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

2.0.0 (15 de setembro de 2023)

Anúncio: alterações interruptivas

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

  • Atualiza o requisito da 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 a partir da v1.6.10. para a v1.9.0

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

    • O requisito mínimo da versão da biblioteca play-services-base foi atualizado de v18.0.1 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 de v18.0.1 a v18.0.2

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

  • Atualizar as seguintes versões de dependências

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

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

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

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

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

    • O requisito mínimo da versão androidx.appCompat:appCompatibilidade foi atualizado de v1.0.0 a v1.6.1

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

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

  • Os aplicativos que usam o SDK para o consumidor agora precisam ter targetSdkVersion da API 31 ou mais recente, compileSdkVersion da API 33 ou maior.

  • Os apps que usam o SDK para consumidores agora precisam ativar o Java 8 suporte a bibliotecas. Consulte https://developer.android.com/studio/write/java8-support para ver instruções sobre atualizar.

  • Os apps que usam Proguard ou Dexguard precisam migrar para o R8. Consulte Confira mais informações em https://developer.android.com/build/reduce-code.

  • 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 obter instruções.

  • O método ConsumerApi.initialize() agora gera uma exceção se estiver sendo quando uma instância de API já foi criada. A Task retornou por ConsumerApi.getInstance() precisa ser usado para determinar se há uma API uma instância criada anteriormente.

Anúncio: descontinuação de APIs

  • Descontinuação do uso das classes de anotação Trip.TripStatus e Trip.TripType, que adiciona Classes de anotação TripInfo.TripStatus e TripInfo.TripType para substituir para resolvê-los com rapidez.

    • Como parte dessa mudança, O uso de 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, o uso de TripInfo#getTripStatus() foi descontinuado, TripInfo#getCurrentTripStatus() foi adicionado para substituí-lo.

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

  • Descontinua a classe Trip.

Outras alterações e correções de bugs

  • Aceita solicitações do renderizador mais recente do SDK do Maps. Consulte Novo renderizador de mapas. para mais detalhes.

  • Oferece suporte ao intervalo do SDK do Maps das versões 18.1.0(inclusive) a v19.0.0(exclusivas).

  • Corrige "prazo excedido" nas comunicações internas entre o SDK e back-end do Google.

  • Corrige o problema de renderização para telas pequenas e o modo picture-in-picture

Guia de migração

1.99.1 (31 de agosto de 2023)

Correções de bugs

  • Corrige falhas que ocorrem quando a atividade ou o fragmento do host do SDK é destruído.

  • Corrige falhas que ocorrem quando as dimensões do MapView são 0 (ou altura ou largura).

  • Corrige os acidentes que ocorrem ao projetar o local do veículo no trajeto polilinha.

Melhorias

  • impede que o SDK falhe quando o aplicativo host é 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

  • Corrige o problema de renderização para telas pequenas e no modo picture-in-picture

  • Corrige oscilações do veículo durante o compartilhamento da viagem.

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 da viagem.

1.2.0 (21 de novembro de 2022)

Correções de bugs

  • Corrige o bug que fazia com que o tráfego vazio fosse informado no onTripActiveRouteTrafficUpdated.

Novos recursos

  • "Polilinhas com reconhecimento de trânsito" já está disponível para todos os usuários.

1.1.2 (27 de outubro de 2022)

Correções de bugs

  • Bug de endereços que faz com que a polilinha do trajeto desapareça após um JourneySharingSession é iniciado mais de uma vez para um TripModel.

Anúncio: congelamento do suporte para o Android 5 (25 de julho de 2022)

Para nossa versão v1.1.1 do SDK, estamos fornecendo um ano adicional de suporte para Apps em execução no Android 5, para os níveis 21 e 22 da API.

O que isso significa:

  • O SDK do consumidor em execução nos seus apps Android vai oferecer suporte a, no mínimo, o Android 5 (nível 21 da API) até 30 de junho de 2023.

  • Após 30 de junho de 2023, vamos oferecer suporte apenas ao nível 23 da API do Android ou versões mais recentes. Em outras palavras, não ofereceremos mais suporte para os níveis 21 e 22 das APIs 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 a 4.x) não será corrigida. Além disso, garantir que os SDKs se comportem corretamente.

v1.1.1 (25 de julho de 2022)

Mudança na dependência

  • Faz o downgrade do nível mínimo da API do Android com suporte 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 para Android com suporte agora é 23.

Mudanças na API

  • Mudanças nas classes ConsumerTrip e ConsumerTripManager.

    • Limpeza de alguns nomes de métodos para deixar o significado mais claro e alinhar com a plataforma iOS.
  • Mudanças em ConsumerTripCallback, ConsumerTrip e TripInfo.

    • Mudamos alguns nomes de classes para formar paridade com o iOS. Lançamento TripModel, TirpModelManager e TripModelOptions para descontinuação ConsumerTrip, ConsumerTripManager e ConsumerTripOptions.

    • Alguns nomes de métodos foram apagados. Revisou ou adicionou comentários JavaDoc para e métodos para transmitir significados mais claros.

    • Tratamento de erros aprimorado.

Personalização de estilo

  • Wrappers legados descontinuados

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

Monitoramento de falhas

  • Detecção de falhas e geração de registros adicionadas.

    • Fizemos uma adição para permitir que você desative essa funcionalidade. Isso foi feito como parte de um esforço maior em toda a região geográfica para monitoramento de falhas.

Alterações na autenticação

  • Remover métodos desnecessários das interfaces do Authentication.
    • O parâmetro ServiceType foi removido.

v0.9.28 (18 de maio de 2021)

Mudanças na API

  • Todos os métodos ConsumerTripCallback foram atualizados para usar TripInfo como o .
  • Adição de 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 Guava (ImmutableSet, ImmutableList) por java.util classes equivalentes.
  • Alterações 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 podia falhar a partir de interações com o no mapa antes de ficar pronta.
  • 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áfego piscando em determinados dispositivos. Tráfego agora terão extremidades arredondadas.

v0.9.15 (7 de outubro de 2020)

Mudanças na API

  • Esta versão introduz o Traffic Aware Polilinhas. - TripInfo.getActiveRouteTraffic() adicionado e TripInfo.getRemainingRouteTraffic().
    • Adicionados ConsumerTripCallback.onTripActiveRouteTrafficUpdated() e ConsumerTripCallback.onTripRemainingRouteTrafficUpdated() para indicar quando o tráfego muda.
    • Adição de PolylineStyleOptions para personalização de tráfego. (setTrafficEnabled(), setTrafficColorNoData(), setTrafficColorNormal(), setTrafficColorSlow(). setTrafficColorTrafficJam()).
    • PolylineStyleOptions.TRAFFIC_Z_INDEX_ADDITION foi exposto.
    • TripWaypoint.getTrafficData() foi adicionado.
    • Tipo de dados TrafficData adicionado.
    • ConsumerController.hideAllSessions() foi adicionado. ConsumerController.showSession() não aceita mais valores nulos como .

v0.9.9 (15 de julho de 2020)

Mudanças na API

  • Essa é uma grande mudança que introduz uma arquitetura modularizada com uma uma relação mais clara entre a camada somente de dados (por exemplo, ConsumerTripManager) e a camada de interface do usuário (por exemplo, JourneySharingSession). Para mais informações sobre como migrar do Cloud, consulte o artigo Modularização Guia (em inglês). - O objeto ConsumerTrip agora está obtido 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.
  • Remoção de APIs sem compartilhamento de jornada.
    • Mapa de densidade de veículos removido.
    • Estado de visualização da viagem removido.
    • Estado de seleção de retirada removido.
    • Estado de seleção de desistência removido.
    • Os seguintes tipos de marcador foram removidos: SELECTED_PICKUP_POINT, SUGGESTED_PICKUP_POINT, HIGHLIGHTED_PICKUP_POINT e SELECTED_DROPOFF_POINT.
  • OnConsumerMarkerClickCallback e ConsumerMapReadyCallback alterados de para classes abstratas.
  • ConsumerController.getCameraUpdate() adicionado, ConsumerController.isAutoCameraEnabled() e ConsumerController.enableAutoCamera()
  • Remoção do FAB personalizado e dos métodos associados a ele (ConsumerController.isMyLocationFabEnabled e ConsumerController.setMyLocationFabEnabled).

Mudanças na implementação

  • Um ConsumerTripCallback, registrado com ou sem um LifecycleOwner, não cancela mais a inscrição automaticamente em TripStatus.COMPLETE ou TripStatus.CANCELED.
  • AutoCamera agora está ativado por padrão e nunca é reativado ou desativado. Antes, a AutoCamera reativava automaticamente TripStatus.ARRIVED_AT_PICKUP e desativado quando o usuário interagiu com o mapa durante o compartilhamento da viagem.
  • As seguintes melhorias foram feitas no veículo de compartilhamento de viagens animação:
    • A animação de compartilhamento da jornada agora lida com a situação em que um veículo pode voltar legitimamente por um trajeto já percorrido.
    • A animação do veículo será feita em linha reta em vez do trajeto interpolar entre pontos quando é determinado por algoritmos como sendo apropriados.
  • As permissões FINE_LOCATION não são mais necessárias.

Outras mudanças

  • 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

  • Adicionados TripInfo.getVehicleId(), TripInfo.getNumberOfPassengers(), TripInfo.getIntermediateDestinationIndex(), TripInfo.getTripActiveRoute() e TripInfo.getTripRemainingRoute().
  • Adicionada a classe options, usada durante a inicialização de ConsumerApi, que permite que o FleetEngine a ser definido dinamicamente. Se a API não for chamada com uma FleetEngine, ele tenta buscá-lo no manifesto do Android ou caso contrário, retorna ao valor padrão.

Melhorias

  • A polilinha do trajeto não aparece quando o status da viagem é ARRIVED_AT_PICKUP:
  • O rastreamento de veículos fora do trajeto foi aprimorado (requer o DriverSDK 1.15):
    • O rastreamento não coloca o veículo no trajeto quando ele dirigir depois do ponto de embarque.
    • O rastreamento de veículos permite que ele seja mostrado fora da estrada. para em estacionamentos não mapeados.
  • O ícone do veículo agora é atualizado quando o destino do motorista não corresponde o destino no Fleet Engine.

v0.8.6 (16 de dezembro de 2019)

Mudanças na API

  • TripInfo.getVehicleLocation() foi adicionado.

  • ConsumerMapView não é mais definitivo.

Mudanças na implementação

  • A distância restante do trecho ativo agora é calculada usando a distância do servidor (informação informada pelo motorista + rota estática, quando aplicável) em vez de ajuste local. Essa alteração produz valores de distância restantes mais precisos.

Outras mudanças

  • Novas dependências são necessárias. Para mais detalhes, consulte o arquivo .pom.

    • 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
  • Foram adicionados registros para latência de solicitação de viagem.

  • Foram adicionados 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 ZIP jetificado. arquivado. Para saber como desjetificá-lo, consulte Jetifier: Reverse .

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 longo que representa em milissegundos.

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

Mudanças na implementação

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

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

  • Sempre retorna dados para a primeira atualização dos dados da viagem, mesmo quando eles estão indisponíveis de sincronização.

  • Os utilitários de mapa do Android foram adicionados como uma dependência fornecida.

Correções de bugs

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

v0.7.0 (7 de agosto de 2019)

Novos recursos

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

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

    • getETAMillis().
    • getDistanceMeters().
  • A classe TripInfo foi adicionada.

    • Você pode receber TripInfo para a viagem ativa com ConsumerTripManager.getActiveTripInfo().
  • WaypointType.INTERMEDIATE_DESTINATION foi adicionado.

  • MarkerType.TRIP_INTERMEDIATE_DESTINATION foi adicionado.

  • Criado em ConsumerMapState.JOURNEY_SHARING a partir de ConsumerMapStates mesclado ENROUTE_TO_PICKUP, ARRIVED_AT_PICKUP, ENROUTE_TO_DROPOFF e COMPLETE.

    • A tabela StateChangeCallbacks foi atualizada.

    • onStateJourneySharing() foi adicionado.

    • Removidos onStateWaitingForPickup(), onStateDriverArrived(), onStateEnroute() e onStateEndofTrip().

Correções de bugs

  • Correção de um bug em que o trajeto não é cortado para o local do veículo durante a viagem o monitoramento 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 são invocados para listeners registrados no o Tripmanager depois que o TripManager já tiver buscado os dados da viagem.

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

Melhorias

  • Preencher o zero do waypoint restante com os dados do motorista (waypoint restante) A lista é retornada de ConsumerTripCallback.onTripRemainingWaypointsUpdated e TripInfo.getRemainingWaypoints().

  • Atualizar todos os HECs restantes do waypoint quando for o primeiro waypoint da mudanças na lista.

  • Forçar a reativação da câmera automática apenas quando o motorista chega no local de embarque. Antes, a câmera automática seria redefinida como ativada em cada mudança do estado da viagem. Câmera automática é ativada por padrão. A câmera automática não será reativada se houver uma nova viagem ativa é definido sem uma nova chamada para startTripMonitoring().

v0.6.1 (26 de junho de 2019)

Novos recursos

  • Suporte para compartilhamento de viagens.

Mudanças na API

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

  • PolylineStyle.setZIndex() foi adicionado.

Correções de bugs

  • Agora a animação do trajeto só acontece quando o trecho do trajeto está sincronizado. resultando em uma melhor experiência do usuário.

  • O veículo "oscilando" corrigido durante a interpolação da animação quando o driver as atualizações de localização estão próximas.

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

  • Mostrar a polilinha do trajeto ativo acima do trajeto restante quando se sobreponham.

Melhorias

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

v0.5.1.01 (17 de maio de 2019)

Novos recursos

  • Suporte contínuo para o Compartilhamento de jornada.

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 inserir o estado.
Método Chamada de retorno
startPickupSelection setPickupSelectionCallback
startDropoffSelection setDropoffSelectionCallback
startTripPreview setTripPreviewSelectionCallback
  • ConsumerController.setLanguage(String languageCode) permite que você defina linguagem usada nas chamadas do FleetEngine (para descrições dos pontos de retirada, para exemplo).

Melhorias

  • O estado de seleção do descarte agora tem um pino arrastável.
  • A animação da câmera foi removida no estado INITIALIZE.
  • A ManagedChannelBuilder foi substituída pela AndroidChannelBuilder