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