Pour lancer une session de navigation détaillée sécurisée pour un conducteur, votre backend doit créer un trajet et obtenir un jeton de trajet authentifié à partir de l'API Navigation Connect.
Dans Navigation Connect, un trajet représente une session de navigation vers une seule destination. Pour créer un trajet et obtenir le jeton de trajet authentifié (authToken) requis pour autoriser la session, envoyez un message CreateTripRequest à la méthode CreateTrip. Transmettez le jeton de trajet à votre application mobile pour l'inclure dans l'URL de lancement de Google Maps ou Waze.
Ce guide explique comment effectuer ce processus en générant un ID de trajet unique et en envoyant votre requête d'API.
Rédige un message CreateTripRequest
Pour créer un trajet et obtenir un jeton de trajet, procédez comme suit pour construire et envoyer un message CreateTripRequest :
- Authentification : utilisez les identifiants par défaut de l'application pour obtenir un jeton d'accès permettant d'autoriser votre requête. Pour en savoir plus, consultez Créer un jeton OAuth.
- Générez un ID de trajet : créez un ID de trajet unique (
tripId) au format UUIDv4 pour identifier le trajet sur votre serveur. - Créez la charge utile : créez une charge utile JSON qui inclut vos ID d'application et vos paramètres de configuration.
- Appelez la méthode
CreateTrip: envoyez une requête POST à l'API avec le jeton d'accès dans l'en-tête et la charge utile dans le corps.
L'exemple suivant montre comment créer un trajet en envoyant un message CreateTripRequest :
#!/bin/bash
# Authenticate with ADC
access_token="$(gcloud auth application-default login --impersonate-service-account=SERVICE_ACCOUNT_EMAIL)"
# Generate a unique Trip ID
trip_id="$(uuidgen)"
# Construct the payload
payload=$(cat <<EOF
{
"androidAppId": "ANDROID_APP_ID",
"iosAppId": "IOS_APP_ID",
"config": {
"enablePubsub": true
}
}
EOF
)
# Call the CreateTrip method to request a trip token
curl -X POST "https://navigationconnect.googleapis.com/v1/projects/PROJECT_ID/trips?tripId=${trip_id}" \
-H "Authorization: Bearer ${access_token}" \
-H "Content-Type: application/json" \
-d "${payload}"
Configurations facultatives
Vous pouvez personnaliser les données de trajet en modifiant les paramètres suivants dans le message CreateTripRequest :
| Fonctionnalité | Type | Description |
|---|---|---|
| Signalement de l'itinéraire restant (Waze uniquement) | boolean |
Pour recevoir la polyligne de l'itinéraire actif et les conditions de circulation en temps réel, définissez |
| Fréquence de mise à jour des trajets | boolean |
Par défaut, Navigation Connect met à jour les données de trajet toutes les 60 secondes. Pour activer les mises à jour à haute fréquence (toutes les 5 secondes), définissez |
| Génération d'événements Google Cloud Pub/Sub | boolean |
Pour activer la génération d'événements de trajet à l'aide de Google Cloud Pub/Sub, définissez |
| Masque de champ Google Cloud Pub/Sub | FieldMask |
Pour gérer la taille des charges utiles et réduire la charge de traitement du backend ou les coûts d'utilisation de Google Cloud Pub/Sub, utilisez |
Obtenir le jeton de trajet à partir de la réponse
La méthode CreateTrip renvoie une réponse contenant le jeton de trajet authentifié. Pour autoriser la session de navigation, extrayez ce jeton de la réponse et transmettez-le à votre application mobile pour l'inclure dans l'URL de lancement.
L'exemple de code suivant illustre un exemple de réponse :
{
"name": "projects/PROJECT_NUMBER/trips/TRIP_ID",
"authToken": {
"token": "BASE64_ENCODED_TRIP_TOKEN",
"expireTime": "2026-03-06T11:09:47.476942Z"
},
"state": "NEW",
"execution": {
"traveledDistanceMeters": 0,
"stopAddedInRoute": false
},
"createTime": "2026-03-05T23:09:50.768959Z",
"updateTime": "2026-03-05T23:09:50.768959Z"
}
Cette réponse inclut les valeurs suivantes :
- PROJECT_NUMBER : identifiant numérique unique de votre projet. Il est différent de votre ID de projet alphanumérique, mais représente le même projet Google Cloud.
- TRIP_ID : ID du trajet généré par votre backend au format UUIDv4.
- BASE64_ENCODED_TRIP_TOKEN : jeton de trajet authentifié (
authToken.token) renvoyé par la méthodeCreateTrip. Transmettez ce jeton à votre application mobile pour lancer la navigation détaillée suivie dans Google Maps ou Waze.
Étape suivante
Utilisez le jeton de trajet pour lancer Google Maps ou Waze.