O SDK do Navigation oferece diferentes maneiras de integrar uma experiência de navegação ao seu app. Nesta página, explicamos o que é uma experiência de navegação personalizada e como ela difere de outras experiências disponíveis no SDK do Navigation.
O que é uma experiência de navegação personalizada?
A principal maneira de implementar o SDK do Navigation é usar a experiência de navegação do Google, que permite incorporar uma experiência de navegação guiada que usa elementos e recursos visuais da interface fornecidos pelo Google, semelhante à experiência de navegação nos apps Google Maps. Se você precisa de mais flexibilidade do que a experiência de navegação do Google oferece, é possível implementar uma experiência de navegação personalizada. Uma experiência de navegação personalizada se refere a tudo, desde eliminar a orientação de rota completamente e executar a navegação apenas como um processo em segundo plano até projetar uma experiência de orientação altamente personalizada em uma tela separada do dispositivo que executa a navegação. Com uma experiência de navegação personalizada, seu app chama o SDK do Navigation para solicitar um feed de navegação guiada e, em seguida, você fornece e gerencia os elementos e recursos visuais da interface que aparecem para o usuário na experiência de navegação. Embora o uso da experiência de navegação do Google geralmente seja mais fácil de implementar, criar sua própria experiência permite mais personalização.
Quando você cria uma experiência de navegação personalizada, o app chama o SDK de navegação para iniciar, executar e interromper a navegação usando este fluxo:
Inicie o trajeto. Assim como a experiência de navegação do Google, uma experiência personalizada de navegação ainda envolve a criação de uma instância de navegação e a definição do destino. No entanto, com uma experiência de navegação personalizada, você consegue isso primeiro estabelecendo uma sessão de navegação usando
GMSNavigationService.createNavigationSession
, que é um objeto não interface com estado que pode operar com um controlador de visualização ou sem um.Para mais informações, consulte Ativar feed de dados de navegação guiada.
Confira a demonstração:o download do SDK do Navigation contém uma demonstração que você pode executar para conferir um exemplo de uma experiência de navegação que alterna entre a orientação passo a passo usando a navegação padrão para uma experiência que mostra apenas o local do dispositivo em movimento ao longo de uma polilinha de estrada.
Navegação ativa. Confira outra diferença importante entre uma experiência de navegação oferecida pelo Google e uma personalizada. Em vez de transferir a orientação ao gerenciador de eventos integrado do SDK do Navigation, você ativa o feed de navegação guiada e implementa manipuladores de eventos. Isso permite que sua experiência responda aos eventos descritos em Detectar eventos de navegação.
Encerrar navegação. Assim como na experiência de navegação do Google, a navegação personalizada também exige que você encerre a navegação da maneira mais adequada para a experiência do app.
Quando você pode usar uma experiência de navegação personalizada?
A tabela a seguir descreve alguns cenários de navegação personalizados.
Exemplo de cenário |
Etapas avançadas |
---|---|
Você precisa fornecer orientação somente de texto ao motorista para dispositivos pequenos, como veículos de duas rodas. |
Crie seu navegador e configure a orientação passo a passo como um feed de dados em um dispositivo de tela pequena enquanto o navegador é executado no celular do motorista fora da visualização imediata. |
Você quer disponibilizar seu app como um serviço de carro para motoristas que usam o Apple Carplay |
Para ver mais informações, consulte Ativar a navegação para o Carplay. |
Os motoristas que usam seu app querem um mapa de visão geral para a maior parte do caminho, com apenas orientações passo a passo mínimas nas ruas da cidade. |
O app precisa permitir que os motoristas entrem e saiam da experiência de navegação do Google conforme necessário, sem alternar as configurações do navegador para o destino e o modo de viagem. |