Fleet Engine থেকে সরাসরি ট্রিপের ডেটা ফিরিয়ে আনা

এই গাইড আপনাকে দেখায় যে কীভাবে Consumer SDK ব্যবহার করার পরিবর্তে সরাসরি Fleet Engine থেকে ট্রিপ ডেটা পাওয়া যায়। আপনি এই পদ্ধতি ব্যবহার করে আপনার গ্রাহকের অভিজ্ঞতা আরও ভালোভাবে নিয়ন্ত্রণ করতে পারবেন এবং একই সাথে Fleet Engine-এর সঠিক ও রিয়েল-টাইম গাড়ির লোকেশন, ETA ও রাউটিংয়ের সুবিধা নিতে পারবেন।

Consumer SDK ব্যবহার করার ব্যাপারে বিস্তারিত জানতে, অন-ডিমান্ড ট্রিপের জন্য জার্নি শেয়ার করা দেখুন।

ট্রিপ সংক্রান্ত তথ্য ফিরিয়ে আনা

Fleet Engine থেকে সরাসরি ট্রিপ সংক্রান্ত তথ্য পেতে, JOURNEY_SHARING_V1S ভিউ নির্দিষ্ট করে GetTrip মেথড কল করুন। RPC বা REST-এর রেফারেন্স দেখুন।

রাইডার যখন অ্যাক্টিভভাবে গাড়ির অগ্রগতি মনিটর করছেন, তখন আপনার সার্ভার সাধারণত প্রতিটি ট্রিপের স্ট্যাটাস জানার জন্য ট্রিপ পরিষেবা পোল করে । গাড়ির লোকেশন আপডেট সাধারণত প্রতি ১০ সেকেন্ডে হয় এবং আপনার সিস্টেমকে একই রেটে পোল করতে হবে। 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-এর রেফারেন্স দেখুন।

আরও তথ্যের জন্য, ভ্রমণ সম্পর্কিত ভূমিকা গাইড থেকে ভ্রমণের স্ট্যাটাস ও বাকি থাকা গাড়ির ওয়েপয়েন্ট দেখুন।

এখানে ট্রিপের জন্য remaining_waypoints ফিল্ডের একটি উদাহরণ দেওয়া হল, ট্রিপ ক:

[০] location.point = trip.pickup_point.point
trip_id = "trip_A"
waypoint_type = PICKUP_WAYPOINT_TYPE
path_to_waypoint = LatLng[] পিক-আপ করার জন্য বাকি থাকা পাথ থেকে ১ম LatLng
পিক-আপ লোকেশনের জন্য বাকি পাথের ২য় LatLng
...
পিক-আপ করার জন্য বাকি থাকা পাথ থেকে শেষ LatLng
আগেরটির থেকে আলাদা হলে, পিক-আপ পয়েন্ট
traffic_data
distance_meters = বর্তমান vehicle_location থেকে পিক-আপ লোকেশন পর্যন্ত path_to_waypoint বরাবর দূরত্ব
eta = আপডেট করা ETA
duration = updated duration
[১] location.point = trip.dropoff_point.point
trip_id = "trip_A"
waypoint_type = DROP_OFF_WAYPOINT_TYPE
path_to_waypoint = LatLng[] ড্রপ-অফ লেগ থেকে ১ম LatLng
ড্রপ-অফ লেগ থেকে ২য় LatLng
...
ড্রপ-অফ লেগ থেকে শেষ LatLng
আগের থেকে আলাদা হলে, ড্রপ-অফ পয়েন্ট
traffic_data
distance_meters = path_to_waypoint থেকে dropoff পর্যন্ত পিক-আপের দূরত্ব
eta = আপডেট করা ETA
সময়সীমা = ড্রপ-অফ লেগের সময়সীমা

পরপর ও শেয়ার করা পুলিং ট্রিপের ক্ষেত্রে, এই তালিকায় অন্যান্য ট্রিপের ওয়েপয়েন্ট থাকতে পারে যা এই যাত্রা শুরুর আগে অতিক্রম করতে হবে। যেমন, এমন একটি পরিস্থিতি বিবেচনা করুন যেখানে 'ট্রিপ ক' ও 'ট্রিপ খ' একই গাড়িতে অ্যাসাইন করা হয়েছে। ট্রিপ ক-এর জন্য remaining_waypoints ফিল্ডটি নিম্নলিখিতভাবে পূরণ করা হবে। সংক্ষিপ্ত করার জন্য বেশিরভাগ ফিল্ড বাদ দেওয়া হয়েছে, তবে সেগুলি আগের উদাহরণের সাথে সামঞ্জস্যপূর্ণভাবে পপুলেট করা হবে।

[০] trip_id = "trip_A"
waypoint_type = PICKUP_WAYPOINT_TYPE
[১] trip_id = "trip_B"
waypoint_type = PICKUP_WAYPOINT_TYPE
[২] trip_id = "trip_B"
waypoint_type = DROP_OFF_WAYPOINT_TYPE
[৩] trip_id = "trip_A"
waypoint_type = DROP_OFF_WAYPOINT_TYPE

ট্রিপ খ-এর remaining_waypoint ফিল্ড একইভাবে পূরণ করা হবে, তবে শুধুমাত্র প্রথম তিনটি এন্ট্রি থাকবে, কারণ ট্রিপ ক-এর ড্রপ-অফ পয়েন্ট ট্রিপ খ-এর রুটের অংশ নয়।