इस गाइड में, Consumer SDK का इस्तेमाल करने के बजाय, सीधे तौर पर Fleet Engine से यात्रा का डेटा पाने का तरीका बताया गया है. इस तरीके का इस्तेमाल करके, अपने असली उपयोगकर्ताओं को बेहतर अनुभव दिया जा सकता है. साथ ही, Fleet Engine की सटीक और रीयल-टाइम में मिलने वाली इन सुविधाओं का फ़ायदा उठाया जा सकता है: वाहन की जगह की जानकारी, पहुंचने का अनुमानित समय (ईटीए), और रूट की जानकारी.
Consumer SDK इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, मांग पर उपलब्ध यात्राओं के लिए यात्राएं शेयर करना लेख पढ़ें.
यात्रा की जानकारी वापस पाना
Fleet Engine से सीधे तौर पर यात्रा की जानकारी पाने के लिए, GetTrip
तरीके को कॉल करें. इसके लिए, JOURNEY_SHARING_V1S व्यू तय करें. RPC या REST के लिए रेफ़रंस देखें.
आम तौर पर, राइडर के यात्रा की प्रोग्रेस पर नज़र रखने के दौरान, आपका सर्वर हर यात्रा की स्थिति के लिए, यात्रा की सेवा को पोल करेगा. वाहन की जगह की जानकारी आम तौर पर हर 10 सेकंड में अपडेट होती है. आपका सिस्टम भी इसी दर पर पोल करना चाहिए. Trip.last_location.update_time फ़ील्ड को मॉनिटर किया जा सकता है. इससे यह पता चलता है कि GetTrip को पिछली बार कॉल करने के बाद कोई अपडेट हुआ है या नहीं.
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);
Trip ऑब्जेक्ट में, यात्रा के लिए उपलब्ध नई जानकारी के साथ ये फ़ील्ड भरे जाते हैं:
name |
trip_status |
remaining_waypoints |
vehicle_id |
trip_type |
last_location |
number_of_passengers |
pickup_point |
view (== JOURNEY_SHARING_V1S) |
actual_pickup_point |
intermediate_destinations |
intermediate_destination_index |
pickup_time |
intermediate_destinations_version |
dropoff_point |
actual_dropoff_point |
dropoff_time |
|
यात्रा के बचे हुए वेपॉइंट वापस पाना
यात्रा की इकाई में, TripWaypoint टाइप का दोहराया गया फ़ील्ड होता है. इस फ़ील्ड में वे सभी वेपॉइंट शामिल होते हैं जहां वाहन को इस यात्रा के फ़ाइनल ड्रॉप-ऑफ़ पॉइंट से पहले, क्रम से जाना होगा. यात्रा शेयर करने की सुविधा के लिए व्यू तय करने से, Fleet Engine को यह पता चलता है कि अपडेट की गई जानकारी को remaining_waypoints[0] TripWaypoint में रखना है. जर्नी शेयर करने की सुविधा के अलावा, अन्य व्यू में उस वेपॉइंट से आम तौर पर, असाइन किए गए वाहन की मौजूदा जगह के बारे में पता नहीं चलता. आरपीसी या REST के लिए रेफ़रंस देखें.
ज़्यादा जानकारी के लिए, यात्राओं के बारे में बुनियादी जानकारी वाली गाइड में, यात्रा की स्थिति और वाहन के बचे हुए वेपॉइंट देखें.
यहां यात्रा के लिए remaining_waypoints फ़ील्ड का एक उदाहरण दिया गया है. यह यात्रा A के लिए है:
| |||||||||||||||||||||
| |||||||||||||||||||||
एक के बाद एक और शेयर की गई पूलिंग यात्राओं के मामले में, इस सूची में अन्य यात्राओं के वेपॉइंट शामिल हो सकते हैं जिन्हें इस यात्रा से पहले पूरा करना है. उदाहरण के लिए, मान लें कि यात्रा B को उसी वाहन को असाइन किया गया है जिसे यात्रा A के लिए असाइन किया गया था. इसके बाद, यात्रा A के लिए remaining_waypoints फ़ील्ड में यह वैल्यू दिखेगी.
ज़्यादा जानकारी न देने के लिए, ज़्यादातर फ़ील्ड हटा दिए गए हैं. हालांकि, इन्हें पिछले उदाहरण के हिसाब से भरा जाएगा.
| [0] | trip_id = "trip_A" |
|---|---|
| waypoint_type = PICKUP_WAYPOINT_TYPE | |
| [1] | trip_id = "trip_B" |
| waypoint_type = PICKUP_WAYPOINT_TYPE | |
| [2] | trip_id = "trip_B" |
| waypoint_type = DROP_OFF_WAYPOINT_TYPE | |
| [3] | trip_id = "trip_A" |
| waypoint_type = DROP_OFF_WAYPOINT_TYPE |
यात्रा B के remaining_waypoint फ़ील्ड में भी इसी तरह से डेटा भरा जाएगा. हालांकि, इसमें सिर्फ़ तीन एंट्री होंगी, क्योंकि यात्रा A का ड्रॉप-ऑफ़ पॉइंट, यात्रा B के रास्ते का हिस्सा नहीं है.