Consumer SDK מספק יכולת מוכנה לשימוש באפליקציות לצרכנים שמאפשרות שיתוף נסיעה, כדי להציג את המיקום וההתקדמות של הרכב כשהוא נוסע במסע.
עם זאת, חלק מהספקים של Rideshare רוצים יותר שליטה בחוויית הלקוח של משתמשי הקצה בעזרת שילוב גמיש, ועדיין ממשיכים ליהנות ממיקום הרכב, זמן ההגעה המשוער והמסלול המדויקים בזמן אמת של Google. במדריך הזה מוסבר איך לאחזר נתוני נסיעות ישירות מ-Flet Engine, כחלופה לשימוש ב-SDK לצרכן.
סקירה כללית
כדי לאחזר את פרטי הנסיעה ישירות מ-Fliet Engine, צריך להפעיל את השיטה GetTrip
ולציין את התצוגה JOURNEY_SHARING_V1S
(RPC
|
REST).
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);
האובייקט שיתקבל (RPC) | REST) יאוכלס בפרטים הבאים בהתאם למידע העדכני של הנסיעה:
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)
ספקי נסיעות שיתופיות בדרך כלל בודקים בשירות הנסיעה את הסטטוס של כל נסיעה,
מדי שתי עד חמש שניות, בזמן שהנוסעים עוקבים באופן פעיל אחר התקדמות הרכב. עדכוני מיקום הרכב בדרך כלל מתבצעים במרווחי זמן ארוכים יותר, למשל
10 שניות. אפשר לעקוב אחרי השדה Trip.last_location.update_time
כדי לראות אם היו עדכונים מאז הקריאה הקודמת ל-GetTrip
.
ציוני דרך בנסיעה
הישות 'נסיעה' מכילה שדה חוזר מסוג TripWaypoint
(RPC
|
REST).
השדה הזה כולל את כל ציוני הדרך שהרכב צריך לנסוע בהם, לפי הסדר, לפני נקודת ההורדה הסופית של הנסיעה. ציון התצוגה 'שיתוף תהליך' מורה ל-Flet Engine להוסיף מידע מעודכן ל-שאר_waypoints[0]
TripWaypoint
. בתצוגות אחרות, שהן לא שיתוף נסיעה, ציון הדרך הזה לא משקפת בדרך כלל את המיקום האחרון של הרכב שהוקצה.
הנה דוגמה לשדה remaining_waypoints
של נסיעה א':
| |||||||||||||||||||||
|
בנסיעות הלוך ושוב ובנסיעות משותפות (קארפול), הרשימה הזו עשויה להכיל ציוני דרך
מנסיעות אחרות שיתבצעו במהלך הנסיעה הזו. לדוגמה, שימו לב לתרחיש שבו נסיעה ב' מוקצית לאותו כלי רכב כמו נסיעה א'. השדה remaining_waypoints
של נסיעה א' יאוכלס באופן הבא.
(רוב השדות הושמטו מטעמי תמציתיות, אבל הם יאוכלסו בהתאם לדוגמה הקודמת).
[0] | Tri_id = "trip_A" |
---|---|
Waypoint_type = PICKUP_WAYPOINT_TYPE | |
[1] | Tri_id = "trip_B" |
Waypoint_type = PICKUP_WAYPOINT_TYPE | |
[2] | Tri_id = "trip_B" |
ציון דרך_type = DROP_OFF_WAYPOINT_TYPE | |
[3] | Tri_id = "trip_A" |
ציון דרך_type = DROP_OFF_WAYPOINT_TYPE |
השדה remaining_waypoint
של נסיעה ב' יאוכלס באופן דומה, אבל רק שלוש הרשומות הראשונות יופיעו, כי נקודת ההורדה של נסיעה א' היא לא חלק מהמסלול של נסיעה ב'.