Experiência de navegação personalizada

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 forma de implementar o SDK Navigation é usar a experiência de navegação do Google, que permite incorporar uma experiência de navegação passo a passo 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, seu 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:

  1. 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 fazer isso primeiro estabelecendo 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 por rota.

    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 para uma experiência de navegação que mostra apenas o local do dispositivo se movendo ao longo de um polilinha de estrada.

  2. 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 por 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.

  3. 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 melhor maneira 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 avançadas

Você precisa fornecer instruções para o motorista apenas por 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

  1. Configurar o serviço de carro.
  2. Configure seu projeto do SDK Navigation.
  3. Estabeleça um navegador, se ainda não tiver feito isso.
  4. Configure um listener para orientações passo a passo.
  5. Desenhe o mapa na superfície do app automático e preencha os campos do feed de dados configurado.

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.