Experiencia de navegación personalizada

El SDK de Navigation ofrece diferentes maneras 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 que está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 utilizar la experiencia de navegación de Google, que te permite incorporar una experiencia de navegación paso a paso que utiliza elementos visuales y de la IU proporcionados por Google, similar a la experiencia de navegación en las apps de Google Maps. Si necesitas más flexibilidad de la que ofrece la experiencia de navegación de Google, puedes implementar una experiencia de navegación personalizada. Una experiencia de navegación personalizada hace referencia a cualquier tarea, desde eliminar la guía de giro por completo 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 de la IU y las imágenes que el usuario ve en la experiencia de navegación. Si bien el uso de la experiencia de navegación de Google suele ser más fácil de implementar, compilar tu propia experiencia de navegación personalizada te 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 mediante 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, esto se logra estableciendo primero una sesión de navegación. Para ello, debes establecer una sesión de navegación con un objeto que no sea de IU y que tenga el estado, y que puede operar con un controlador de vistas o sin uno.

    Para obtener más información, consulta Cómo habilitar el feed de datos paso a paso.

    Consulta la demostración: La descarga del SDK de Navigation incluye una demostración que puedes ejecutar para ver un ejemplo de una experiencia de navegación que alterna entre una guía paso a paso mediante la navegación estándar y una experiencia de navegación que muestra solo la ubicación del dispositivo que se mueve a lo largo de una polilínea de rutas.

  2. Navegación activa Esta es otra diferencia clave entre una experiencia de navegación proporcionada por Google y una personalizada. En lugar de entregar orientación al administrador de eventos integrado del SDK de Navigation, debes habilitar el feed paso a paso e implementar controladores de eventos. Esto permite que tu experiencia responda a los eventos descritos en Cómo detectar eventos de navegación.

  3. Finalizar 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 utilizar una experiencia de navegación personalizada?

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

Situación de ejemplo

Pasos de alto nivel

Debes proporcionar orientación al conductor en formato 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 con 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 un servicio de automóvil para los conductores que usan Android Auto.

  1. Configura el servicio del vehículo.
  2. Configura tu proyecto del SDK de Navigation.
  3. Si aún no lo hiciste, establece un navegador.
  4. Habilita el feed de orientación paso a paso.
  5. Dibuja el mapa en la plataforma de la app para Auto y propaga los campos del feed de datos que configuraste.

Para obtener más información, consulta Cómo habilitar la navegación para Android Auto.

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

Tu app debería permitir que los conductores ingresen y salgan de la experiencia de navegación de Google cuando lo necesiten, sin alternar la configuración del navegador para el destino y el modo de viaje.