Esta seção contém as notas da versão do SDK Consumer para Android.
2.3.0 (2 de agosto de 2024)
Mudanças na API
Adicione suporte à Estilização de mapas baseada na nuvem, que permite criar uma experiência de mapa rodoviário personalizada para os usuários sem precisar atualizar o código dos apps sempre que você fizer uma mudança no estilo do mapa. Para mais informações, confira Estilizar o mapa com a Estilização de mapas baseada na nuvem.
Adicione o método
getServerTimeMillis()
aVehicleLocation
para determinar a hora em que a atualização de local foi recebida pelo Fleet Engine.
2.2.0 (7 de maio de 2024)
Mudanças na API
- API de suporte adicionada para integração com o Jetpack Compose. Esse é um recurso experimental. Para ver 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 falhas que ocorrem quando o SDK é inicializado mais de uma vez no ciclo de vida do aplicativo.
Mudanças na API
- Introdução de um método para extrair a instância de
GoogleMap
criada pelo SDK (ConsumerGoogleMap.getGoogleMap()
). - Apresenta a API para extrair as instâncias de
Marker
criadas pelo SDK para representar o veículo (ConsumerController.getConsumerMarker()
). - Apresenta a API para receber atualizações projetadas do cliente para tempo e distância
durante o Compartilhamento de trajeto (
ProjectedRouteEta
).
1.99.2 (3 de novembro de 2023)
Correção de falhas que ocorrem quando o SDK é inicializado em um processo remoto, separado do aplicativo.
Correção de 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 no 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 já existe uma instância da API. Para contornar esse problema, primeiro chameConsumerApi.getInstance()
e avalie oTask
retornado para determinar se já existe uma instância de API.
2.0.0 (15 de setembro de 2023)
Anúncio: alterações interruptivas
O requisito de nível mínimo da API foi atualizado de 21 para 23.
Atualização do requisito de versão do SDK do Maps de v17.0.0 para 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 de versão da biblioteca play-services-base foi atualizado da v18.0.1 para a v18.2.0.
O requisito mínimo de versão da biblioteca play-services-basement foi atualizado da v18.0.0 para a v18.2.0.
O requisito mínimo de 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.
Adição da biblioteca androidx.room:room-runtime com o requisito de versão mínima definido como v2.5.2
Atualize as versões das seguintes 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 mínimo da versão com.google.android.datatransport:transport-backend-cct foi atualizado da v3.0.0 para a v3.1.9.
O requisito mínimo de versão 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 de versão do androidx.fragment:fragment foi atualizado de v1.0.0 para v1.6.1.
As seguintes APIs descontinuadas foram removidas:
ConsumerTrip
,ConsumerTripCallback
,ConsumerTripManager
eConsumerTripOptions
. Eles foram substituídos porTripModel
,TripModelCallback
,TripModelManager
eTripModelOptions
.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 Java 8. Consulte https://developer.android.com/studio/write/java8-support para ver instruções de atualização.
Os apps que usam Proguard ou 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 instruções.
O método
ConsumerApi.initialize()
agora gera uma exceção quando está sendo invocado quando há uma instância de API já criada. OTask
retornado porConsumerApi.getInstance()
precisa ser usado para determinar se há uma instância de API criada anteriormente.
Anúncio: descontinuação de APIs
As classes de anotação
Trip.TripStatus
eTrip.TripType
foram descontinuadas. As classes de anotaçãoTripInfo.TripStatus
eTripInfo.TripType
foram adicionadas para substituí-las.Como parte dessa mudança,
TripModelCallback#onTripStatusUpdated(TripInfo tripInfo, @Trip.TripStatus int status)
foi descontinuado eTripModelCallback#onTripStatusUpdate(TripInfo tripInfo, @TripInfo.TripStatus int status)
foi adicionado para substituí-lo.Como parte dessa mudança,
TripInfo#getTripStatus()
foi descontinuado, eTripInfo#getCurrentTripStatus()
foi adicionado para substituí-lo.Como parte dessa mudança, o uso de
TripInfo#getTripType()
foi descontinuado eTripInfo#getCurrentTripType()
foi adicionado para substituí-lo.
Descontinua a classe
Trip
.
Outras alterações e correções de bugs
Suporte a 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 nas versões v18.1.0(inclusiva) a v19.0.0(exclusiva).
Corrige o erro "prazo excedido" para comunicações internas entre o SDK e o back-end do Google.
Correção do problema de renderização para telas de tamanho pequeno e 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 da MapView são 0 (altura ou largura).
Corrige falhas que ocorrem ao projetar o local do veículo na polilinha do trajeto.
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 faz o veículo piscar durante o compartilhamento de trajeto.
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
callback
onTripActiveRouteTrafficUpdated
.
Novos recursos
- As polilinhas com informações de tráfego agora estão disponíveis para todos os usuários.
1.1.2 (27 de outubro de 2022)
Correções de bugs
- Correção de um bug que faz com que a linha poligonal da rota desapareça depois que uma
JourneySharingSession
é iniciada mais de uma vez para umTripModel
.
Anúncio: congelamento do suporte ao Android 5 (25 de julho de 2022)
Para a versão v1.1.1 do SDK, estamos oferecendo mais um ano de suporte para apps executados no Android 5, para os níveis 21 e 22 da API.
O que isso significa:
O SDK do consumidor executado nos seus apps Android terá suporte mínimo ao 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 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ão corrigidos, e não garantimos que os SDKs se comportem corretamente.
v1.1.1 (25 de julho de 2022)
Mudança de dependência
- O nível mínimo da API do Android com suporte foi rebaixado 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
eConsumerTripManager
.- Limpeza de alguns nomes de métodos para deixar o significado mais claro e alinhamento com a plataforma iOS.
Mudanças para
ConsumerTripCallback
,ConsumerTrip
eTripInfo
.Alguns nomes de classe foram alterados para formar paridade com o iOS. Foram introduzidos
TripModel
,TirpModelManager
eTripModelOptions
para descontinuarConsumerTrip
,ConsumerTripManager
eConsumerTripOptions
.Alguns nomes de métodos foram apagados. Comentários do JavaDoc revisados ou adicionados a métodos para transmitir significados mais claros.
Tratamento de erros aprimorado.
Personalização de estilo
Wrappers legados descontinuados
MarkerStyleOptions
ePolylineStyleOptions
foram descontinuados e substituídos porMarkerOptions
ePolylineOptions
, que são compartilhados com o SDK do Maps.
Monitoramento de falhas
Detecção de falhas e geração de registros adicionadas.
- 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 todo o mundo.
Alterações na autenticação
- Métodos desnecessários foram removidos das interfaces de autenticação.
- O parâmetro
ServiceType
foi removido.
- O parâmetro
v0.9.28 (18 de maio de 2021)
Mudanças na API
- Todos os métodos
ConsumerTripCallback
foram atualizados para usarTripInfo
como parâmetro. - Inclusão de
ConsumerTrip.isRefreshing()
, que indica se oConsumerTrip
está se atualizando ativamente com informações de viagem novas do Fleet Engine. ConsumerTripCallback.onTripRemainingRouteDistanceUpdated()
foi adicionado.ConsumerTripCallback.onTripRemainingRouteUpdated()
foi adicionado.- Substitua os tipos de retorno Guava (
ImmutableSet
,ImmutableList
) por classes equivalentesjava.util
. 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 ao interagir com o mapa antes de ficar 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áfego piscando em determinados dispositivos. Os segmentos de tráfego agora terão extremidades arredondadas.
v0.9.15 (7 de outubro de 2020)
Mudanças na API
- Esta versão apresenta as polilinhas com informações sobre o tráfego.
- Adição de
TripInfo.getActiveRouteTraffic()
eTripInfo.getRemainingRouteTraffic()
.ConsumerTripCallback.onTripActiveRouteTrafficUpdated()
eConsumerTripCallback.onTripRemainingRouteTrafficUpdated()
foram adicionados 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.- Tipo de dados
TrafficData
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 mudança importante que introduz uma arquitetura modular 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 como migrar para a nova arquitetura, consulte o Guia de migração de modularização. - O objetoConsumerTrip
agora é recebido deConsumerTripManager.getTrip()
.ConsumerTrip.unregisterCallback
foi renomeado comoConsumerTrip.unregisterTripCallback
.ConsumerTrip.isCallbackRegistered
foi renomeado comoConsumerTrip.isTripCallbackRegistered
.- Os elementos
ConsumerTrip.setConsumerTripOptions()
e aConsumerTrip.getConsumerTripOptions()
foram adicionados. ConsumerTrip.setAutoRefreshInterval()
foi removido.
- Remoção das APIs sem compartilhamento de jornada.
- O mapa de densidade de veículos foi removido.
- O estado de visualização da viagem foi removido.
- Estado de seleção de retirada removido.
- O estado de seleção de entrega foi removido.
- Os seguintes tipos de marcador foram removidos:
SELECTED_PICKUP_POINT
,SUGGESTED_PICKUP_POINT
,HIGHLIGHTED_PICKUP_POINT
eSELECTED_DROPOFF_POINT
.
OnConsumerMarkerClickCallback
eConsumerMapReadyCallback
foram alterados de interfaces para classes abstratas.- Foram adicionados
ConsumerController.getCameraUpdate()
,ConsumerController.isAutoCameraEnabled()
eConsumerController.enableAutoCamera()
. - Remoção do FAB personalizado e dos métodos associados
(
ConsumerController.isMyLocationFabEnabled
eConsumerController.setMyLocationFabEnabled
).
Mudanças na implementação
- Um
ConsumerTripCallback
, registrado com ou sem umLifecycleOwner
, não cancela mais o registro automaticamente emTripStatus.COMPLETE
ouTripStatus.CANCELED
. - AutoCamera agora está ativado por padrão e nunca reativa ou desativa a si mesmo.
Antes, a AutoCamera era reativada automaticamente em
TripStatus.ARRIVED_AT_PICKUP
e se desativava quando o usuário interagia com o mapa durante o compartilhamento da viagem. - 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 legitimamente por uma rota já percorrida.
- Agora, a animação do veículo será feita em linha reta em vez de uma rota interpolada entre os pontos quando for determinado algoritmicamente como sendo adequado.
- 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
TripInfo.getVehicleId()
,TripInfo.getNumberOfPassengers()
,TripInfo.getIntermediateDestinationIndex()
,TripInfo.getTripActiveRoute()
eTripInfo.getTripRemainingRoute()
foram adicionados.- Adição da classe
options
usada durante a inicialização doConsumerApi
, que permite que o endereçoFleetEngine
seja definido dinamicamente. Se a API não for chamada com um valorFleetEngine
, ela vai tentar buscá-lo no manifesto do Android ou voltar 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 da rota foi aprimorado (requer o DriverSDK 1.15):
- O rastreamento não coloca o veículo no trajeto quando ele passa do ponto de embarque.
- O rastreamento de veículos permite mostrar o veículo fora da estrada, 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 com a distância do servidor (informação do motorista + rota estática, quando aplicável) em vez do ajuste local. Essa alteração produz valores de distância restantes mais precisos.
Outras mudanças
Novas dependências são 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
Foram adicionados registros para a latência da 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 arquivo zip jetificado. Para saber como desfazer a jetificação, consulte Jetifier: modo reverso.
v0.8.1 (13 de setembro de 2019)
Novos recursos
Suporte para ConsumerMapView.
Os artefatos ODRD agora são enviados em um repositório Maven em vez de um arquivo ZIP .aar. Para mais informações, consulte Adicionar o SDK do consumidor ao app.
Mudanças na API
ConsumerController.disableAutoCamera()
foi adicionado como a função oposta acenterMapForState()
.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 deAuthTokenFactory
de uma interface para uma classe abstrata para ativar a compatibilidade com versões anteriores no Java7. Essa alteração é compatível com versões anteriores, mas os métodos antigos para geração de tokens de serviço único estão obsoletos e serão removidos em algum momento.
Mudanças na implementação
Os recursos agora são centralizados no centro do ícone, eliminando o deslocamento da sombra.
setState
paraJOURNEY_SHARING onStartTripMonitoring()
em vez de esperar pelo status da viagem monitorada.Sempre retorna dados para a primeira atualização de dados de viagem, mesmo quando eles estão dessincronizados.
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 para grpc keep.
v0.7.0 (7 de agosto de 2019)
Novos recursos
- Suporte a vários destinos para o Compartilhamento de jornadas.
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 comConsumerTripManager.getActiveTripInfo()
.
- Você pode receber
WaypointType.INTERMEDIATE_DESTINATION
foi adicionado.MarkerType.TRIP_INTERMEDIATE_DESTINATION
foi adicionado.Criação de
ConsumerMapState.JOURNEY_SHARING
a partir deConsumerMapStates
ENROUTE_TO_PICKUP
,ARRIVED_AT_PICKUP
,ENROUTE_TO_DROPOFF
eCOMPLETE
mesclados.A tabela
StateChangeCallbacks
foi atualizada.onStateJourneySharing()
foi adicionado.Remoção de
onStateWaitingForPickup()
,onStateDriverArrived()
,onStateEnroute()
eonStateEndofTrip()
.
Correções de bugs
Correção de um bug em que a rota não era cortada no local do veículo quando o monitoramento da viagem começava 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 o TripManager já buscava dados de viagem.
O zoom da câmera agora inclui apenas a rota ativa e o waypoint da próxima viagem (waypoint que pertence à viagem). Mesmo que o trecho restante esteja visível, o zoom nunca o incluirá. Antes, o ponto de desembarque era incluído no zoom quando o veículo estava a caminho ou chegou no local de embarque. Isso não é mais verdade.
Melhorias
Preencha o zero do waypoint restante com os dados do motorista. A lista de waypoints restantes é retornada de
ConsumerTripCallback.onTripRemainingWaypointsUpdated
eTripInfo.getRemainingWaypoints()
.Atualiza todos os ETAs restantes do ponto de passagem quando o ETA para o primeiro ponto de passagem na lista muda.
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 como ativada em 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 para compartilhamento de viagens.
Mudanças na API
ConsumerController.getConsumerMapStyle()
agora retornaConsumerMapStyle
em vez deTask<ConsumerMapStyle>
.PolylineStyle.setZIndex()
foi adicionado.
Correções de bugs
A animação de trajeto agora acontece apenas quando o segmento do trajeto está sincronizado, resultando em uma experiência do usuário aprimorada.
Correção do "tremulação" do veículo durante a interpolação de 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, e não 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 sobrepõem.
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 definir o idioma usado nas chamadas do FleetEngine, por exemplo, para descrições de pontos de retirada.
Melhorias
- O estado de seleção de entrega agora tem um pino que pode ser arrastado.
- A animação da câmera foi removida no estado
INITIALIZE
. - A
ManagedChannelBuilder
foi substituída pelaAndroidChannelBuilder