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