Tüketici SDK'sı, tüketici uygulamalarını yolculuğuna götüren aracın konumunu ve ilerleme durumunu göstermek için araç paylaşma olanağı sunan anahtar teslim bir özellik sunar.
Ancak bazı Rideshare sağlayıcıları esnek entegrasyon sayesinde son kullanıcı müşteri deneyimi üzerinde daha fazla kontrol sahibi olmak isterken Google'ın doğru ve gerçek zamanlı araç konumu, tahmini varış süresi ve rotasından yararlanmaya devam etmek istiyor. Bu kılavuzda, Tüketici SDK'sını kullanmanın alternatifi olarak gezi verilerini doğrudan Fleet Engine'den nasıl alabileceğiniz gösterilmektedir.
Genel bakış
Seyahat bilgilerini doğrudan Fleet Engine'den almak için JOURNEY_SHARING_V1S görünümünü (RPC | REST) belirterek GetTrip
yöntemini çağırın.
static final String PROJECT_ID = "my-rideshare-co-gcp-project";
static final String TRIP_ID = "trip-A";
String tripName = "providers/" + PROJECT_ID + "/trips/" + TRIP_ID;
GetTripRequest getTripRequest =
GetTripRequest.newBuilder()
.setName(tripName)
.setView(JOURNEY_SHARING_V1S)
.build();
Trip trip = tripService.getTrip(getTripRequest);
Sonuçta ortaya çıkan Seyahat (RPC | REST) nesnesinde aşağıdaki alanlar Seyahat için mevcut en son bilgilerle doldurulur:
name
vehicle_id
trip_status
trip_type
number_of_passengers
pickup_point
actual_pickup_point
pickup_time
intermediate_destinations
intermediate_destinations_version
intermediate_destination_index
dropoff_point
actual_dropoff_point
dropoff_time
remaining_waypoints
last_location
view
(== JOURNEY_SHARING_V1S)
Araç paylaşma sağlayıcıları genellikle her iki ila beş saniyede bir, binici aracın ilerleme durumunu aktif olarak izlerken her bir yolculuğun durumu için gezi hizmetinde anket yapar. Araç konum güncellemeleri genellikle daha uzun aralıklarla (ör. 10 saniye) yapılır. GetTrip
için yapılan bir önceki çağrıdan bu yana herhangi bir güncelleme olup olmadığını görmek için Trip.last_location.update_time
alanı izlenebilir.
Yolculuk ara noktaları
Seyahat varlığı, TripWaypoint
türünde yinelenen bir alan içeriyor
(RPC
|
REST).
Bu alan, aracın bu yolculuğun son kalkış noktasından önce sırayla ilerlemesi gereken tüm ara noktaları içerir. Yolculuk Paylaşımı görünümünün belirtilmesi Fleet Engine'e, güncellenen bilgileri kalan_waypoints[0] TripWaypoint
öğesine yerleştirmesini bildirir. Yolculuk Paylaşımı dışındaki görünümlerde, söz konusu referans
noktası genellikle atanan aracın en son konumunu yansıtmaz.
A Seyahatinin remaining_waypoints
alanı için bir örnek aşağıda verilmiştir:
| |||||||||||||||||||||
|
Arka arkaya ve ortak (araba paylaşımı) seyahatler söz konusu olduğunda bu listede, diğer gezilerden bu gezi sırasında üzerine çıkılacak ara noktalar bulunabilir. Örneğin, B Gezisinin A ile aynı araca atandığı senaryoyu ele alalım. Bu durumda Seyahat A'nın remaining_waypoints
alanı aşağıdaki gibi doldurulur.
(Alanların çoğu, kısa ve öz olması için atlanmıştır, ancak bir önceki örnekle tutarlı şekilde doldurulur.)
[0] | trip_id = "trip_A" |
---|---|
referans noktası_türü = PICKUP_WAYPOINT_TYPE | |
[1] | trip_id = "trip_B" |
referans noktası_türü = PICKUP_WAYPOINT_TYPE | |
[2] | trip_id = "trip_B" |
referans noktası_türü = DROP_OFF_WAYPOINT_TYPE | |
[3] | trip_id = "trip_A" |
referans noktası_türü = DROP_OFF_WAYPOINT_TYPE |
Seyahat B'nin remaining_waypoint
alanı benzer şekilde doldurulur ancak Seyahat A'nın teslim noktası Seyahat B'nin rotasının bir parçası olmadığı için yalnızca ilk üç giriş gösterilir.