Aby otrzymywać aktualizacje danych o podróży z Map Google lub Waze, skonfiguruj backend, korzystając z jednej z tych opcji:
- metodę pobierania danych za pomocą interfejsu Navigation Connect API;
- Metoda push oparta na zdarzeniach, która korzysta z Google Cloud Pub/Sub.
Opcja 1. Użyj interfejsu Navigation Connect API
Aby ręcznie pobrać najnowszy stan przejazdu, wywołaj metodę GetTrip z niepowtarzalnym identyfikatorem przejazdu.
Z przykładu poniżej dowiesz się, jak wywołać interfejs API z wiersza poleceń przy użyciu domyślnego uwierzytelniania aplikacji (ADC) do autoryzacji żądania typu serwer-serwer.
#!/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"
Dostosowywanie formatów linii łamanych (tylko Waze)
Jeśli podczas tworzenia podróży włączysz raportowanie pozostałej trasy, możesz dostosować reprezentację zwróconej polilinii pozostałej trasy podczas wywoływania metody GetTrip.
Aby wybrać format polilinii, w żądaniu uwzględnij parametr routePolylineFormat. Obsługiwane formaty to:
ENCODED: standardowy zakodowany ciąg znaków linii łamanej (5 miejsc po przecinku).S2ENCODED: zakodowana linia S2Polyline.GEO_JSON: format GeoJSON LineString.
Opcja 2. Korzystanie z Google Cloud Pub/Sub
Aby otrzymywać regularne aktualizacje dotyczące przejazdów, zasubskrybuj temat Google Cloud Pub/Sub. Gdy kierowca wyrazi zgodę, Navigation Connect będzie wysyłać aktualizacje bezpośrednio do Twojego tematu.
Wprowadzenie do przesyłania wiadomości znajdziesz w krótkim przewodniku po Pub/Sub.
W sekcjach poniżej opisujemy, jak używać Google Cloud Pub/Sub do odbierania danych z sesji nawigacji w Mapach Google lub Waze.
1. Tworzenie tematu
Utwórz w projekcie Google Cloud temat o nazwie navigation_connect_trip_notifications, wykonując te czynności:
- Włącz interfejs Pub/Sub API.
- W konsoli Google Cloud otwórz stronę tematów Pub/Sub.
- Kliknij Utwórz temat.
W polu Identyfikator tematu wpisz
navigation_connect_trip_notifications.Kliknij Utwórz.
Konsola wyświetla pełną nazwę tematu jako projects/project-number/topics/navigation_connect_trip_notifications, gdzie project-number to Twój unikalny numer projektu.
2. Przyznawanie uprawnień do publikowania kontu usługi Navigation Connect
Google używa konta usługi do publikowania aktualizacji podróży w tematach Google Cloud Pub/Sub. Aby otrzymywać aktualizacje w temacie, przyznaj projects.topics.publishtemu kontu usługi uprawnienia do tego tematu:geo-navigation-connect-pubsub@system.gserviceaccount.com.
Więcej informacji znajdziesz w dokumentacji Pub/Sub na temat kontroli dostępu.
3. Integracja z backendem
Aby przetwarzać aktualizacje, napisz aplikację po stronie serwera, która uwierzytelnia i subskrybuje Twój temat. Aby usprawnić proces tworzenia, użyj bibliotek klienta Pub/Sub. Do testowania możesz też użyć interfejsu wiersza poleceń gcloud i konsoli Google.
4. Testowanie subskrypcji
Sprawdź konfigurację za pomocą gcloud CLI lub konsoli Google Cloud.
interfejs wiersza poleceń gcloud
Pobierz wiadomości z subskrypcji (np. my-sub) za pomocą tego polecenia:
gcloud pubsub subscriptions pull my-sub --auto-ack
Konsola Google Cloud
W konsoli Google Cloud wykonaj te czynności:
- Otwórz stronę Subskrypcje.
- Wybierz subskrypcję i kliknij kartę Wiadomości.
- Kliknij Pobierz.
Co dalej?
Gdy zaczniesz otrzymywać dane o podróżach, przeanalizuj je, aby móc ich używać w swoich systemach i aplikacjach.