Tworzenie podróży i uzyskiwanie tokena podróży

Aby bezpiecznie uruchomić sesję nawigacji krok po kroku dla kierowcy, backend musi utworzyć podróż i uzyskać uwierzytelniony token podróży z interfejsu Navigation Connect API.

W Navigation Connect podróż reprezentuje sesję nawigacji do jednego miejsca docelowego. Aby utworzyć podróż i uzyskać uwierzytelniony token podróży (authToken) wymagany do autoryzacji sesji, wyślij CreateTripRequest wiadomość do metody CreateTrip. Przekaż token podróży do aplikacji mobilnej, aby uwzględnić go w adresie URL uruchamiania Map Google lub Waze.

Z tego przewodnika dowiesz się, jak przeprowadzić ten proces, generując unikalny identyfikator podróży i przesyłając żądanie do interfejsu API.

Tworzenie wiadomości CreateTripRequest

Aby utworzyć podróż i uzyskać token podróży, wykonaj te czynności, aby utworzyć i wysłać wiadomość CreateTripRequest:

  1. Uwierzytelnij się: użyj domyślnego uwierzytelniania aplikacji (ADC) aby uzyskać token dostępu do autoryzacji żądania. Więcej informacji znajdziesz w artykule Tworzenie tokena OAuth.
  2. Wygeneruj identyfikator podróży: utwórz unikalny identyfikator podróży (tripId) w UUIDv4 , aby zidentyfikować podróż na serwerze.
  3. Utwórz ładunek: utwórz ładunek JSON zawierający identyfikatory aplikacji i ustawienia konfiguracji.
  4. Wywołaj metodę CreateTrip: wyślij żądanie POST do interfejsu API z tokenem dostępu w nagłówku i ładunkiem w treści.

Poniższy przykład pokazuje, jak utworzyć podróż, wysyłając wiadomość 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}"

Konfiguracje opcjonalne

Możesz dostosować dane o podróży, zmieniając te ustawienia w wiadomości CreateTripRequest:

Funkcja Typ Opis
Raportowanie pozostałej trasy (tylko Waze) boolean

Aby otrzymywać polilinię aktywnej trasy i informacje o natężeniu ruchu w czasie rzeczywistym, ustaw wartość config.enableRemainingRouteReporting na true.

Częstotliwość aktualizacji podróży boolean

Domyślnie Navigation Connect aktualizuje dane o podróży co 60 sekund. Aby włączyć aktualizacje o wysokiej częstotliwości (co 5 sekund), ustaw wartość config.enableHighFrequencyUpdates na true.

Generowanie zdarzeń Google Cloud Pub/Sub boolean

Aby włączyć generowanie zdarzeń podróży za pomocą Google Cloud Pub/Sub, ustaw wartość config.enablePubsub na true. Domyślnie ta funkcja jest wyłączona.

Maska pola Google Cloud Pub/Sub FieldMask

Aby zarządzać rozmiarami ładunków i zmniejszyć obciążenie przetwarzania backendu lub koszty korzystania z Google Cloud Pub/Sub, użyj config.pubsubFieldMask, aby wykluczyć z strumienia zdarzeń duże pola (np. execution.remainingRoute). Więcej informacji o rozmiarze ładunku w przypadku danych pozostałej trasy znajdziesz w artykule Obsługa danych pozostałej trasy.

Pobieranie tokena podróży z odpowiedzi

Metoda CreateTrip zwraca odpowiedź zawierającą uwierzytelniony token podróży. Aby autoryzować sesję nawigacji, wyodrębnij ten token z odpowiedzi i przekaż go do aplikacji mobilnej, aby uwzględnić go w adresie URL uruchamiania.

Poniższy przykładowy kod pokazuje przykładową odpowiedź:

{
    "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"
}

Ta odpowiedź zawiera te wartości:

  • PROJECT_NUMBER: unikalny identyfikator numeryczny projektu. Różni się on od alfanumerycznego identyfikatora projektu, ale reprezentuje ten sam projekt w chmurze Google Cloud.
  • TRIP_ID: identyfikator podróży wygenerowany przez backend w formacie UUIDv4.
  • BASE64_ENCODED_TRIP_TOKEN: uwierzytelniony token podróży (authToken.token) zwrócony przez metodę CreateTrip. Przekaż ten token do aplikacji mobilnej, aby rozpocząć śledzoną nawigację krok po kroku w Mapach Google lub Waze.

Co dalej?

Użyj tokena podróży, aby uruchomić Mapy Google lub Waze.

Uruchamianie Map Google lub Waze