Experiencia de navegación personalizada

El SDK de Navigation proporciona diferentes formas de integrar una experiencia de navegación en tu app. En esta página, se explica qué es una experiencia de navegación personalizada y en qué se diferencia de otras experiencias de navegación disponibles en el SDK de Navigation.

¿Qué es una experiencia de navegación personalizada?

La forma principal de implementar el SDK de Navigation es usar la experiencia de navegación de Google, que te permite incorporar una experiencia de navegación paso a paso que usa elementos y elementos visuales de la IU proporcionados por Google, similar a la experiencia de navegación dentro de las apps de Google Maps. Si necesitas más flexibilidad que la que ofrece la experiencia de navegación de Google, puedes implementar una experiencia de navegación personalizada. Una experiencia de navegación personalizada se refiere a cualquier cosa, desde eliminar por completo la guía de giros y ejecutar la navegación solo como un proceso en segundo plano hasta proyectar una experiencia de guía altamente personalizada en una pantalla separada del dispositivo que ejecuta la navegación. Con una experiencia de navegación personalizada, tu app llama al SDK de Navigation para solicitar un feed de navegación paso a paso y, luego, proporcionas y administras los elementos y las imágenes de la IU que el usuario ve en la experiencia de navegación. Si bien usar la experiencia de navegación de Google es, por lo general, más fácil de implementar, crear tu propia experiencia de navegación personalizada permite una mayor personalización.

Cuando creas una experiencia de navegación personalizada, tu app llama al SDK de Navigation para iniciar, ejecutar y detener la navegación con el siguiente flujo:

  1. Inicia la navegación. Al igual que con la experiencia de navegación de Google, una experiencia de navegación personalizada aún implica crear una instancia de navegación y configurar el destino. Sin embargo, con una experiencia de navegación personalizada, primero debes establecer una sesión de navegación con GMSNavigationService.createNavigationSession, que es un objeto no de la IU con estado que puede funcionar con o sin un controlador de vista.

    Para obtener más información, consulta Detalles sobre el feed de datos de instrucciones paso a paso.

    Mira la demostración: La descarga del SDK de Navigation contiene una demostración que puedes ejecutar para ver un ejemplo de una experiencia de navegación que cambia entre la guía paso a paso a través de la navegación estándar a una experiencia de navegación que muestra solo la ubicación del dispositivo que se mueve a lo largo de un polilinea de ruta.

  2. Navegación activa: Esta es otra diferencia clave entre una experiencia de navegación proporcionada por Google y una experiencia de navegación personalizada. En lugar de transferir la guía al administrador de eventos integrado del SDK de Navigation, configuras un objeto de escucha para obtener instrucciones detalladas paso a paso mediante la implementación del protocolo GMSNavigatorListener y, luego, implementas controladores de eventos. Esto permite que tu experiencia responda a los eventos descritos en Cómo detectar eventos de navegación.

  3. Finaliza la navegación. Al igual que con la experiencia de navegación de Google, la navegación personalizada también requiere que finalices la navegación de la manera más adecuada para la experiencia de la app.

¿Cuándo podrías usar una experiencia de navegación personalizada?

En la siguiente tabla, se describen algunas situaciones de navegación personalizadas.

Situación de ejemplo

Pasos generales

Debes proporcionar instrucciones para el conductor solo de texto para dispositivos pequeños, como vehículos de 2 ruedas.

Crea tu navegador y configura la guía paso a paso como un feed de datos para un dispositivo de pantalla pequeña mientras el navegador se ejecuta en el teléfono celular del conductor fuera de su vista inmediata.

Quieres que tu app esté disponible como servicio para vehículos para los conductores que usan Apple CarPlay.

  1. Configura el servicio de automóviles.
  2. Configura tu proyecto del SDK de Navigation.
  3. Establece un navegador si aún no lo hiciste.
  4. Configura un objeto de escucha para las instrucciones paso a paso.
  5. Dibuja el mapa en la superficie de la app para vehículos y propaga los campos del feed de datos que configuraste.

Para obtener más información, consulta Habilita Navigation para Carplay.

Los conductores que usan tu app quieren un mapa general para la mayor parte de su recorrido, con solo una orientación paso a paso mínima para las calles de la ciudad.

Tu app debe permitir que los conductores ingresen y salgan de la experiencia de navegación de Google según sea necesario, sin alternar la configuración del navegador para el destino y el modo de viaje.