इस गाइड में बताया गया है कि 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 |
|
यात्रा के बचे हुए वेपॉइंट वापस पाना
Trip इकाई में TripWaypoint टाइप का दोहराया गया फ़ील्ड होता है. इस फ़ील्ड में वे सभी वेपॉइंट शामिल होते हैं जहां वाहन को इस यात्रा के फ़ाइनल ड्रॉप-ऑफ़ पॉइंट से पहले जाना होगा. यात्रा की जानकारी शेयर करने की सुविधा के लिए व्यू तय करने से, Fleet Engine को यह पता चलता है कि अपडेट की गई जानकारी को remaining_waypoints[0] TripWaypoint में डालना है. जर्नी शेयर करने की सुविधा के अलावा, अन्य व्यू में उस वेपॉइंट से आम तौर पर, असाइन किए गए वाहन की मौजूदा जगह के बारे में पता नहीं चलता. आरपीसी या 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 के रास्ते में नहीं आता है.