फ़्लीट इंजन से सीधे यात्रा डेटा वापस पाएं

उपभोक्ता SDK टूल, राइडशेयर करने वाले उपभोक्ता ऐप्लिकेशन के लिए एक चालू सुविधा देता है. इससे वे वाहन की जगह और प्रोग्रेस की जानकारी देख सकते हैं.

हालांकि, राइडशेयर की सुविधा देने वाली कुछ कंपनियां, आसान इंटिग्रेशन की मदद से असली उपयोगकर्ता के अनुभव पर ज़्यादा कंट्रोल चाहती हैं. साथ ही, वे वाहन की जगह की सटीक और रीयल-टाइम जानकारी, ETA, और रास्ते का फ़ायदा भी उठाती हैं. इस गाइड में बताया गया है कि उपभोक्ता SDK टूल का इस्तेमाल करने के बजाय, Fleet Engine से यात्रा का डेटा कैसे वापस पाया जा सकता है.

खास जानकारी

सीधे Fleet Engine से यात्रा की जानकारी पाने के लिए, GetTrip वाले तरीके को कॉल करें. इसमें JOURNEY_SHARING_V1S व्यू (RPC | REST) तय करें.

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);

नतीजे में मिलने वाली यात्रा (RPC | REST) ऑब्जेक्ट में, यात्रा के लिए उपलब्ध सबसे नई जानकारी से भरे गए फ़ील्ड होंगे:

  • name
  • vehicle_id
  • trip_status
  • trip_type
  • number_of_passengers
  • pickup_point
  • actual_pickup_point
  • pickup_time
  • intermediate_destinations
  • intermediate_destinations_version
  • intermediate_destination_index
  • dropoff_point
  • actual_dropoff_point
  • dropoff_time
  • remaining_waypoints
  • last_location
  • view (== JOURNEY_SHARING_V1S)

राइडशेयर की सुविधा देने वाली कंपनियां, आम तौर पर हर दो से पांच सेकंड में यात्रा की स्थिति के लिए, यात्रा सेवा का पोल लेती हैं. हालांकि, राइडर वाहन की प्रोग्रेस पर नज़र रखता है. वाहन की जगह की जानकारी के अपडेट, आम तौर पर ज़्यादा समय के लिए होते हैं, जैसे कि 10 सेकंड. क्या GetTrip पर किए गए पिछले कॉल के बाद से कोई अपडेट है या नहीं, यह देखने के लिए Trip.last_location.update_time फ़ील्ड की निगरानी की जा सकती है.

यात्रा के वेपॉइंट

यात्रा की इकाई में TripWaypoint (RPC | REST) टाइप का दोहराया गया फ़ील्ड शामिल है. इस फ़ील्ड में वे सभी वेपॉइंट शामिल हैं जहां वाहन को इस यात्रा के आखिरी ड्रॉप-ऑफ़ पॉइंट से पहले क्रम में यात्रा करना होगा. यात्रा की जानकारी शेयर करने वाले व्यू से, Fleet Engine को यह पता चलता है कि वह अपडेट की गई जानकारी को बचे हुए_waypoints[0] TripWaypoint में डाल दे. अन्य मामलों में, 'सफ़रनी शेयरिंग' व्यू में, वेपॉइंट आम तौर पर असाइन किए गए वाहन की सबसे नई स्थिति नहीं दिखाता है.

यहां यात्रा A के remaining_waypoints फ़ील्ड का उदाहरण दिया गया है:

[0] location.point = Trip.pickup_point.point
traffic_id = "trip_A"
Waypoint_type = PICKUP_WAYPOINT_TYPE
path_to_waypoint = LatLng[] बचे हुए रास्ते से पिकअप तक का पहला LatLng
बचे हुए रास्ते से पिकअप करने के लिए दूसरा LatLng
...
बचे हुए रास्ते से पिकअप तक का आखिरी LatLng
पिक अप पॉइंट, अगर पिछले प्रॉडक्ट से अलग है
traffic_data
destination_meters = मौजूदा वाहन_location से, path_to_waypoint तक की दूरी से और पिकअप तक की दूरी
ईटीए = अपडेट किया गया ETA
अवधि = अपडेट की गई अवधि
[1] location.point = traffic.dropoff_point.point
traffic_id = "trip_A"
वेpoint_type = DROP_OFF_WAYPOINT_TYPE
path_to_waypoint = LatLng[] ड्रॉप ऑफ़ लेग से पहला LatLng
ड्रॉपऑफ़ लेग से दूसरा LatLng
...
ड्रॉप ऑफ़ लेग से आखिरी LatLng
ड्रॉप-ऑफ़_पॉइंट, अगर पिछले से अलग है
traffic_data
default_meters = path_to_waypoint की मदद से पिक अप से ड्रॉप-ऑफ़ तक की दूरी
ईटीए = अपडेट किया गया ETA
छोड़ने की अवधि = ड्रॉप-ऑफ़ वाली यात्रा की अवधि

एक से दूसरी और शेयर की गई (कारपूल) यात्राओं के लिए, इस सूची में दूसरी यात्राओं के वेपॉइंट हो सकते हैं, जिन्हें इस यात्रा के दौरान पार किया जाएगा. उदाहरण के लिए, ऐसी स्थिति पर विचार करें जिसमें ट्रिप B को उसी वाहन को असाइन किया गया हो जो ट्रिप A को असाइन किया गया है. इसके बाद, यात्रा A के लिए remaining_waypoints फ़ील्ड में इस तरह से जानकारी अपने-आप भर जाएगी. (ज़्यादातर फ़ील्ड को कम शब्दों में लिखने की वजह से हटा दिया गया है, लेकिन इन्हें पिछले उदाहरण के मुताबिक ही भरा जाएगा.)

[0] traffic_id = "trip_A"
Waypoint_type = PICKUP_WAYPOINT_TYPE
[1] traffic_id = "trip_B"
Waypoint_type = PICKUP_WAYPOINT_TYPE
[2] traffic_id = "trip_B"
वेpoint_type = DROP_OFF_WAYPOINT_TYPE
[3] traffic_id = "trip_A"
वेpoint_type = DROP_OFF_WAYPOINT_TYPE

ट्रिप B के remaining_waypoint फ़ील्ड में भी इसी तरह जानकारी भरी जाएगी, लेकिन सिर्फ़ पहली तीन एंट्री मौजूद होंगी, क्योंकि यात्रा A का ड्रॉप-ऑफ़ पॉइंट, ट्रिप B के रास्ते का हिस्सा नहीं है.