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