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 maneira 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 visuais da interface 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 completa 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, criar 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 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.

  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 destino e do modo de viagem.