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

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

W Navigation Connect podróż to sesja nawigacji do jednego miejsca docelowego. Aby utworzyć podróż i uzyskać uwierzytelniony token podróży (authToken) wymagany do autoryzacji sesji, wyślij wiadomość CreateTripRequest 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 niepowtarzalny identyfikator przejazdu i przesyłając żądanie do interfejsu API.

Utwórz CreateTripRequest wiadomość

Aby utworzyć wycieczkę i uzyskać token wycieczki, wykonaj te czynności, aby utworzyć i wysłać wiadomość CreateTripRequest:

  1. Uwierzytelnianie: 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 przejazdu: utwórz unikalny identyfikator przejazdu (tripId) w formacie UUIDv4, aby identyfikować przejazd na serwerze.
  3. Utwórz ładunek: utwórz ładunek JSON, który zawiera identyfikatory aplikacji i ustawienia konfiguracji.
  4. Wywołaj metodę CreateTrip: wyślij do interfejsu API żądanie POST z tokenem dostępu w nagłówku i ładunkiem w treści.

Poniższy przykład pokazuje, jak utworzyć przejazd, 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

Dane o podróży możesz dostosować, zmieniając te ustawienia w CreateTripRequestwiadomości:

Funkcja Typ Opis
Raportowanie pozostałej części trasy (tylko Waze) boolean

Aby otrzymywać linię łamaną aktywnej trasy i warunki na drodze w czasie rzeczywistym, ustaw 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 config.enableHighFrequencyUpdates na true.

Generowanie zdarzeń Google Cloud Pub/Sub boolean

Aby włączyć generowanie zdarzeń dotyczących przejazdów za pomocą Google Cloud Pub/Sub, ustaw wartość config.enablePubsub na true. Ta funkcja jest domyślnie wyłączona.

Maska pola Google Cloud Pub/Sub FieldMask

Aby zarządzać rozmiarami ładunków i zmniejszać 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 pozostałych danych o trasie znajdziesz w artykule Obsługa pozostałych danych o trasie.

Uzyskiwanie tokena przejazdu z odpowiedzi

Metoda CreateTrip zwraca odpowiedź zawierającą uwierzytelniony token przejazdu. 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 przejazdu wygenerowany przez Twój backend w formacie UUIDv4.
  • BASE64_ENCODED_TRIP_TOKEN: uwierzytelniony token przejazdu (authToken.token) zwrócony przez metodę CreateTrip. Przekaż ten token do aplikacji mobilnej, aby rozpocząć śledzoną szczegółową nawigację w Mapach Google lub Waze.

Co dalej?

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

Uruchamianie Map Google lub Waze