Para recibir actualizaciones de datos de viajes de Google Maps o Waze, configura tu backend con una de las siguientes opciones:
- Un método de extracción que usa la API de Navigation Connect
- Es un método de envío basado en eventos que usa Google Cloud Pub/Sub.
Opción 1: Usa la API de Navigation Connect
Para recuperar manualmente el estado del viaje más reciente, llama al método GetTrip con el ID único del viaje.
En el siguiente ejemplo, se muestra cómo llamar a la API desde la línea de comandos con tus Credenciales predeterminadas de la aplicación (ADC) para autorizar la solicitud de servidor a servidor.
#!/bin/bash
gcloud auth application-default login
access_token="$(gcloud auth application-default print-access-token)"
# Call the GetTrip method
curl -X GET "https://navigationconnect.googleapis.com/v1/projects/PROJECT_ID/trips/TRIP_ID" \
-H "Authorization: Bearer ${access_token}" \
-H "Content-Type: application/json"
Personaliza los formatos de polilíneas (solo en Waze)
Si habilitaste el informe de ruta restante durante la creación del viaje, puedes personalizar la representación de la polilínea de la ruta restante que se muestra cuando llamas al método GetTrip.
Para elegir un formato para la polilínea, incluye el parámetro routePolylineFormat en tu solicitud. Estos son algunos de los formatos admitidos:
ENCODED: Es una cadena de polilínea codificada estándar (5 puntos decimales).S2ENCODED: Es un S2Polyline codificado.GEO_JSON: Es un formato LineString de GeoJSON.
Opción 2: Usa Google Cloud Pub/Sub
Para recibir actualizaciones periódicas sobre el viaje, suscríbete a un tema de Google Cloud Pub/Sub. Después de que el conductor da su consentimiento, Navigation Connect envía actualizaciones directamente a tu tema.
Para obtener una introducción a la mensajería, consulta la Guía de inicio rápido de Pub/Sub.
En las siguientes secciones, se describe cómo usar Google Cloud Pub/Sub para recibir datos de una sesión de navegación con Google Maps o Waze.
1. Crea un tema
Crea un tema llamado exactamente navigation_connect_trip_notifications en tu proyecto de Google Cloud de la siguiente manera:
- Habilita la API de Pub/Sub.
- Ve a la página de temas de Pub/Sub en la consola de Google Cloud.
- Haz clic en Crear tema.
Ingresa
navigation_connect_trip_notificationsen el campo ID de tema.Haz clic en Crear.
La consola muestra el nombre completo del tema como projects/project-number/topics/navigation_connect_trip_notifications, en el que project-number es tu número de proyecto único.
2. Otorga permiso de publicación a la cuenta de servicio de Navigation Connect
Google usa una cuenta de servicio para publicar actualizaciones de viajes en temas de Google Cloud Pub/Sub. Para recibir actualizaciones en tu tema, otorga permiso de projects.topics.publish para este tema a la siguiente cuenta de servicio: geo-navigation-connect-pubsub@system.gserviceaccount.com.
Para obtener más información, consulta la documentación de Pub/Sub sobre el control de acceso.
3. Integración con tu backend
Para procesar las actualizaciones, escribe una aplicación del servidor que se autentique y se suscriba a tu tema. Usa las bibliotecas cliente de Pub/Sub para optimizar el desarrollo. Para realizar pruebas, también puedes usar la CLI de gcloud y la consola de Google.
4. Prueba tu suscripción
Verifica tu configuración con la CLI de gcloud o la consola de Google Cloud.
gcloud CLI
Extrae mensajes de una suscripción (por ejemplo, my-sub) con el siguiente comando:
gcloud pubsub subscriptions pull my-sub --auto-ack
Consola de Google Cloud
En la consola de Google Cloud, sigue estos pasos:
- Abre la página Suscripciones.
- Selecciona tu suscripción y haz clic en la pestaña Mensajes.
- Haz clic en Extraer.
¿Qué sigue?
Una vez que comiences a recibir datos de viajes, analízalos para usarlos en tus sistemas y apps.
Cómo controlar los datos de viajes