O SDK do Navigation oferece diferentes maneiras de integrar uma experiência de navegação ao seu app. Esta página explica o que é uma experiência de navegação personalizada e como ela se diferencia de outras experiências de navegação disponíveis no SDK do Navigation.
O que é uma experiência de navegação personalizada?
A principal maneira de implementar o SDK de navegação é usar a experiência de navegação do Google, que permite incorporar uma experiência de navegação guiada que usa elementos da interface e recursos visuais fornecidos pelo Google, semelhante à experiência de navegação nos apps do Google Maps. Se você precisar de mais flexibilidade do que a experiência de navegação do Google oferece, implemente uma experiência de navegação personalizada. Uma experiência de navegação personalizada se refere a qualquer coisa, desde eliminar totalmente as instruções de trajeto 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 de navegação para solicitar um feed de navegação guiada. Em seguida, você fornece e gerencia os elementos da interface e os recursos visuais que o usuário vê na experiência de navegação. Embora a experiência de navegação do Google seja geralmente mais fácil de implementar, criar sua própria experiência de navegação personalizada permite mais personalização.
Quando você cria uma experiência de navegação personalizada, seu app chama o SDK de navegação para iniciar, executar e interromper a navegação, usando o seguinte fluxo:
Inicie a navegação. Para iniciar uma experiência de navegação personalizada, crie uma instância de navegação e defina o destino. Acesse a instância do Navigator usando
NavigationApi.getNavigatore registre-se para receber atualizações usandonavigator.registerServiceForNavUpdates.Para mais informações, consulte Ativar o 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 ver um exemplo de uma experiência de navegação que alterna entre a navegação guiada padrão e uma experiência de navegação que mostra apenas o local do dispositivo se movendo ao longo de uma polilinha de estrada.
Navegação ativa. Aqui está outra diferença importante entre uma experiência de navegação fornecida pelo Google e uma personalizada. Em vez de transferir as orientações para o gerenciador de eventos integrado do SDK do Navigation, ative o feed de navegação guiada e implemente manipuladores de eventos. Isso permite que sua experiência responda aos eventos descritos em Detectar eventos de navegação.
Encerrar a 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ê usaria uma experiência de navegação personalizada?
A tabela a seguir descreve alguns cenários de navegação personalizada.
Exemplo de cenário |
Etapas avançadas |
|---|---|
Você precisa fornecer orientações de motorista somente em texto para dispositivos pequenos, como veículos de duas rodas. |
Crie seu navegador e configure a navegação guiada como um feed de dados para um dispositivo de tela pequena enquanto o navegador é executado no smartphone do motorista fora do campo de visão imediato. |
Você quer disponibilizar seu app como um serviço de carro para motoristas que usam o Android Auto. |
Para mais informações, consulte Ativar a navegação para o Android Auto. |
Os motoristas que usam seu app querem um Mapa de visão geral para a maior parte da jornada, com apenas uma orientação básica de navegação guiada para as ruas da cidade. |
Seu app precisa permitir que os motoristas entrem e saiam da experiência de navegação do Google conforme necessário, sem alterar as configurações do navegador para o destino e o modo de viagem. |