Aby otrzymywać aktualizacje danych o podróży z Map Google lub Waze, skonfiguruj backend, korzystając z jednej z tych opcji:
- metoda pobierania danych za pomocą interfejsu Navigation Connect API lub
- metoda push oparta na zdarzeniach, która korzysta z Google Cloud Pub/Sub.
Opcja 1. Korzystanie z interfejsu Navigation Connect API
Aby ręcznie pobrać najnowszy stan podróży, wywołaj metodę GetTrip z unikalnym identyfikatorem podróży.
Z przykładu poniżej dowiesz się, jak wywołać interfejs API z wiersza poleceń za pomocą domyślnych danych uwierzytelniających aplikacji (ADC), aby autoryzować żądanie 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 polilinii (tylko Waze)
Jeśli podczas tworzenia podróży włączysz raportowanie pozostałej trasy, możesz dostosować reprezentację zwracanej aktywnej linii łamanej trasy podczas wywoływania metody GetTrip.
Aby wybrać format polilinii, dodaj do żądania parametr routePolylineFormat. Obsługiwane formaty:
ENCODED: standardowy zakodowany ciąg linii łamanej (5 miejsc po przecinku).S2ENCODED: zakodowana polilinia S2.GEO_JSON: format GeoJSON LineString.
Opcja 2. Korzystanie z Google Cloud Pub/Sub
Aby otrzymywać regularne aktualizacje dotyczące podróży, 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 wprowadzeniu do Pub/Sub.
W kolejnych sekcjach 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:
- 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świetli pełną nazwę tematu w postaci projects/project-number/topics/navigation_connect_trip_notifications, gdzie project-number to unikalny numer Twojego projektu.
2. Przyznawanie uprawnień do publikowania kontu usługi Navigation Connect
Google używa konta usługi do publikowania aktualizacji dotyczących podróży w tematach Google Cloud Pub/Sub. Aby otrzymywać aktualizacje w swoim temacie, przyznaj uprawnienie projects.topics.publish do tego tematu następującemu kontu usługi: 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 będzie się uwierzytelniać i subskrybować Twój temat. Aby usprawnić programowanie, 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.
gcloud CLI
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óży, przeanalizuj je, aby móc ich używać w swoich systemach i aplikacjach.