ফ্লিট ইঞ্জিন থেকে সরাসরি ট্রিপ ডেটা পুনরুদ্ধার করুন

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

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

ট্রিপ তথ্য পুনরুদ্ধার করুন

সরাসরি ফ্লিট ইঞ্জিন থেকে ভ্রমণের তথ্য পুনরুদ্ধার করতে, JOURNEY_SHARING_V1S ভিউ নির্দিষ্ট করে GetTrip পদ্ধতিতে কল করুন। 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 টাইপের একটি পুনরাবৃত্ত ক্ষেত্র রয়েছে এই ক্ষেত্রে এই ট্রিপের চূড়ান্ত ড্রপ-অফ পয়েন্টের আগে গাড়িটিকে যাতায়াতের জন্য প্রয়োজনীয় সমস্ত ওয়েপয়েন্ট অন্তর্ভুক্ত করে৷ জার্নি শেয়ারিং ভিউ নির্দিষ্ট করা ফ্লিট ইঞ্জিনকে অবশিষ্ট_ওয়েপয়েন্টস[0] TripWaypoint এ আপডেট করা তথ্য দিতে বলে। অন্য, নন-জার্নি শেয়ারিং ভিউতে, সেই ওয়েপয়েন্ট সাধারণত নির্ধারিত গাড়ির সর্বশেষ অবস্থানকে প্রতিফলিত করে না। RPC বা REST এর রেফারেন্স দেখুন।

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

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

[০] location.point = trip.pickup_point.point
trip_id = "ট্রিপ_এ"
waypoint_type = PICKUP_WAYPOINT_TYPE
path_to_waypoint = LatLng[] বাকী পথ থেকে পিকআপ পর্যন্ত 1ম LatLng
বাকী পথ থেকে পিকআপ পর্যন্ত 2য় LatLng
...
বাকী পথ থেকে পিকআপ পর্যন্ত শেষ LatLng
পিকআপ_পয়েন্ট, যদি শেষ থেকে আলাদা হয়
ট্রাফিক_ডেটা
দূরত্ব_মিটার = বর্তমান যানবাহনের_অবস্থান থেকে পথ_থেকে_ওয়েপয়েন্ট থেকে পিকআপ পর্যন্ত দূরত্ব
eta = আপডেট করা ETA
সময়কাল = আপডেট সময়কাল
[১] location.point = trip.dropoff_point.point
trip_id = "ট্রিপ_এ"
waypoint_type = DROP_OFF_WAYPOINT_TYPE
path_to_waypoint = LatLng[] ড্রপঅফ লেগ থেকে 1ম LatLng
ড্রপঅফ লেগ থেকে 2য় LatLng
...
ড্রপঅফ লেগ থেকে শেষ LatLng
dropoff_point, যদি শেষ থেকে আলাদা হয়
ট্রাফিক_ডেটা
দূরত্ব_মিটার = পথ_থেকে_ওয়েপয়েন্ট বরাবর পিকআপ থেকে ড্রপঅফ পর্যন্ত দূরত্ব
eta = আপডেট করা ETA
সময়কাল = ড্রপ অফ লেগ সময়কাল

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

[০] trip_id = "ট্রিপ_এ"
waypoint_type = PICKUP_WAYPOINT_TYPE
[১] trip_id = "ট্রিপ_বি"
waypoint_type = PICKUP_WAYPOINT_TYPE
[২] trip_id = "ট্রিপ_বি"
waypoint_type = DROP_OFF_WAYPOINT_TYPE
[৩] trip_id = "ট্রিপ_এ"
waypoint_type = DROP_OFF_WAYPOINT_TYPE

ট্রিপ বি-এর remaining_waypoint ক্ষেত্রটি একইভাবে জনবহুল হবে, তবে শুধুমাত্র প্রথম তিনটি এন্ট্রি উপস্থিত থাকবে, যেহেতু ট্রিপ A-এর ড্রপ-অফ পয়েন্টটি ট্রিপ বি-এর রুটের অংশ নয়৷