O SDK Navigation oferece diferentes maneiras de integrar uma experiência de navegação ao app. Esta página explica o que é uma experiência de navegação personalizada e como ela difere de outras experiências de navegação disponíveis no SDK 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 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 a eliminação total da orientação por voz e a execução da navegação apenas como um processo em segundo plano, até a projeção de 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, o app chama o SDK de navegação para solicitar um feed de navegação passo a passo. Em seguida, você fornece e gerencia os elementos e visuais da interface que o usuário vê na experiência de navegação. Embora o uso da experiência de navegação do Google seja geralmente mais fácil de implementar, a criação da sua própria experiência de navegação personalizada 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 o seguinte fluxo:
Inicie a navegação. Assim como na experiência de navegação do Google, uma experiência de navegação personalizada 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, é possível estabelecer uma sessão de navegação usando
GMSNavigationService.createNavigationSession
, que é um objeto não relacionado à interface que pode operar com ou sem um controlador de visualização.Para mais informações, consulte Detalhes sobre o feed de dados de navegação por voz.
Confira a demonstração:o download do SDK de navegação contém uma demonstração que pode ser executada para conferir um exemplo de uma experiência de navegação que alterna entre a orientação passo a passo pela navegação padrão e uma experiência de navegação que mostra apenas a localização do dispositivo se movendo ao longo de um polígono de estrada.
Navegação ativa. Confira outra diferença importante entre uma experiência de navegação fornecida pelo Google e uma personalizada. Em vez de transmitir orientações ao gerenciador de eventos integrado do SDK de navegação, configure um listener para orientações detalhadas de cada etapa implementando o protocolo
GMSNavigatorListener
e, em seguida, implemente os gerenciadores de eventos. Isso permite que sua experiência responda aos eventos descritos em Detectar eventos de navegação.Finalizar 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 melhor forma 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 personalizada.
Exemplo de cenário |
Etapas de alto nível |
---|---|
Você precisa fornecer instruções para o motorista apenas em texto 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 para um dispositivo de tela pequena enquanto o navegador é executado no smartphone do motorista fora da visão imediata dele. |
Você quer disponibilizar seu app como um serviço de carro para motoristas que usam o Apple Carplay. |
Para mais informações, consulte Ativar a navegação para Carplay. |
Os motoristas que usam seu app querem um mapa geral da maior parte da viagem, com apenas uma orientação mínima de trajeto para as 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 destino e modo de viagem. |