सीधे Fleet Engine से यात्रा का डेटा वापस पाएं

इस गाइड में, 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 फ़ील्ड का उदाहरण दिया गया है:

[0] location.point = trip.pickup_point.point
trip_id = "trip_A"
waypoint_type = PICKUP_WAYPOINT_TYPE
path_to_waypoint = LatLng[] पिकअप करने के लिए, बचे हुए रास्ते का पहला अक्षांश और देशांतर
पिकअप करने के लिए, बचे हुए पाथ से दूसरा LatLng
...
पिकअप करने के लिए बचे हुए पाथ का आखिरी LatLng
pickup_point, if different from last
traffic_data
distance_meters = वाहन की मौजूदा जगह से, पिकअप के लिए waypoint_to_path के साथ तय की गई दूरी
eta = updated ETA
duration = updated duration
[1] location.point = trip.dropoff_point.point
trip_id = "trip_A"
waypoint_type = DROP_OFF_WAYPOINT_TYPE
path_to_waypoint = LatLng[] ड्रॉपऑफ़ लेग से पहला LatLng
ड्रॉपऑफ़ लेग से दूसरा LatLng
...
ड्रॉपऑफ़ लेग से आखिरी LatLng
dropoff_point, if different from last
traffic_data
distance_meters = path_to_waypoint के साथ-साथ, पिकअप से ड्रॉपऑफ़ तक की दूरी
eta = updated ETA
duration = drop-off leg duration

एक के बाद एक और शेयर की गई पूल यात्राओं के साथ, इस सूची में अन्य यात्राओं के वेपॉइंट शामिल हो सकते हैं. इन वेपॉइंट को इस यात्रा से पहले पार करना होगा. उदाहरण के लिए, मान लें कि यात्रा 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 के रास्ते का हिस्सा नहीं है.