इस गाइड में, Fleet Engine से सीधे तौर पर यात्रा का डेटा पाने का तरीका बताया गया है. यह Consumer SDK का इस्तेमाल करने का एक विकल्प है. इस तरीके का इस्तेमाल करके, असली उपयोगकर्ता के अनुभव को बेहतर तरीके से कंट्रोल किया जा सकता है. साथ ही, Fleet Engine की मदद से, वाहन की जगह की सटीक और रीयल-टाइम जानकारी, ईटीए, और रास्ते की जानकारी का फ़ायदा भी लिया जा सकता है.
Consumer SDK का इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, मांग पर की जाने वाली यात्राओं के लिए, यात्रा की जानकारी शेयर करना लेख पढ़ें.
यात्रा की जानकारी फिर से पाना
सीधे Fleet Engine से यात्रा की जानकारी पाने के लिए, GetTrip तरीके को कॉल करें. साथ ही, JOURNEY_SHARING_V1S व्यू की जानकारी दें. आरपीसी या आरईएसटी का रेफ़रंस देखें.
आम तौर पर, आपका सर्वर हर यात्रा की स्थिति के लिए, यात्रा की सेवा को पोल करेगा. इस दौरान, राइडर वाहन की प्रोग्रेस पर नज़र रखेगा. आम तौर पर, वाहन की जगह की जानकारी हर 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 में अपडेट की गई जानकारी डालने का निर्देश मिलता है. यात्रा की जानकारी शेयर करने के अलावा, अन्य व्यू में वेपॉइंट से आम तौर पर, असाइन किए गए वाहन की नई जगह की जानकारी नहीं मिलती. आरपीसी या आरईएसटी के लिए रेफ़रंस देखें.
ज़्यादा जानकारी के लिए, यात्राओं के बारे में जानकारी गाइड में, यात्रा की स्थिति और वाहन के बचे हुए वेपॉइंट देखें.
यहां यात्रा A के लिए, remaining_waypoints फ़ील्ड का उदाहरण दिया गया है:
| |||||||||||||||||||||
| |||||||||||||||||||||
एक के बाद एक और शेयर की गई पूल यात्राओं के साथ, इस सूची में अन्य यात्राओं के वेपॉइंट शामिल हो सकते हैं. इन वेपॉइंट को इस यात्रा से पहले पार करना होगा. उदाहरण के लिए, मान लें कि यात्रा 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 के रास्ते का हिस्सा नहीं है.