Experiência de navegação personalizada

O SDK 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 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 detalhada que usa elementos e recursos 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 detalhada com 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 Navigation para solicitar um feed de navegação detalhada. Em seguida, você fornece e gerencia os elementos e recursos 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.

Ao criar uma experiência de navegação personalizada, seu app chama o SDK Navigation para iniciar, executar e interromper a navegação, usando o seguinte fluxo:

  1. Iniciar a navegação. Para iniciar uma experiência de navegação personalizada, crie uma instância de navegação e defina o destino. Estabeleça uma sessão de navegação usando GMSNavigationService.createNavigationSession. Esse objeto não relacionado à interface e que contém o estado opera com ou sem um controlador de visualização.

    Para mais informações, consulte Detalhes sobre o feed de dados de navegação guiada.

    Confira a demonstração:o download do SDK Navigation contém uma demonstração que você pode executar para conferir um exemplo de experiência de navegação que alterna entre a navegação guiada 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 uma polilinha de estrada.

  2. Navegação ativa. Essa é outra diferença fundamental entre uma experiência de navegação fornecida pelo Google e uma experiência de navegação personalizada. Em vez de entregar a orientação ao gerenciador de eventos integrado do SDK Navigation, você configura um listener para navegação guiada detalhada implementando o protocolo GMSNavigatorListener e, em seguida, implementa manipuladores 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 maneira mais adequada para a experiência do app.

Quando usar uma experiência de navegação personalizada?

A tabela a seguir descreve alguns cenários de navegação personalizados.

Cenário de exemplo

Etapas gerais

Você precisa fornecer orientação de texto para motoristas em dispositivos pequenos, como veículos de duas rodas.

Crie seu navegador e configure a orientação detalhada como um feed de dados para um dispositivo de tela pequena enquanto o navegador é executado no smartphone 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.

  1. Configure 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 navegação guiada.
  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 o CarPlay.

Os motoristas que usam seu app querem um Mapa de visão geral para a maior parte da viagem, com apenas navegação guiada mínima para 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 alternar as configurações do navegador para o destino e o modo de viagem.