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

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

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

ভ্রমণের তথ্য পুনরুদ্ধার করুন

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

আপনার সার্ভার সাধারণত প্রতিটি ট্রিপের অবস্থা জানতে ট্রিপ সার্ভিসের সাথে পোল করে, যখন আরোহী সক্রিয়ভাবে গাড়ির অগ্রগতি পর্যবেক্ষণ করেন। গাড়ির অবস্থান আপডেট সাধারণত প্রতি 10 সেকেন্ডে ঘটে এবং আপনার সিস্টেমেরও একই হারে পোল করা উচিত। GetTrip এ পূর্ববর্তী কলের পর থেকে কোনও আপডেট হয়েছে কিনা তা দেখার জন্য Trip.last_location.update_time ফিল্ডটি পর্যবেক্ষণ করা যেতে পারে।

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

আরও তথ্যের জন্য, "ভ্রমণের ভূমিকা" নির্দেশিকাতে ট্রিপের অবস্থা এবং অবশিষ্ট যানবাহনের ওয়েপয়েন্টগুলি দেখুন।

এখানে একটি ট্রিপের জন্য remaining_waypoints ক্ষেত্রের একটি উদাহরণ দেওয়া হল, Trip A:

[0] অবস্থান.পয়েন্ট = ট্রিপ.পিকআপ_পয়েন্ট.পয়েন্ট
trip_id = "ট্রিপ_এ"
waypoint_type = PICKUP_WAYPOINT_TYPE
পথ_থেকে_পথবিন্দু = অক্ষাংশ[] বাকি পথ থেকে পিকআপ পর্যন্ত প্রথম অক্ষাংশ
বাকি পথ থেকে পিকআপ পর্যন্ত দ্বিতীয় অক্ষাংশ
...
অবশিষ্ট পথ থেকে পিকআপ পর্যন্ত শেষ অক্ষাংশ
পিকআপ_পয়েন্ট, যদি আগের থেকে আলাদা হয়
ট্র্যাফিক_ডেটা
দূরত্ব_মিটার = বর্তমান যানবাহনের অবস্থান থেকে পথ_থেকে_পথে_পিকআপ পর্যন্ত দূরত্ব
eta = আপডেট করা ETA
সময়কাল = আপডেট করা সময়কাল
[1] অবস্থান.পয়েন্ট = ট্রিপ.ড্রপঅফ_পয়েন্ট.পয়েন্ট
ট্রিপ_আইডি = "ট্রিপ_এ"
ওয়েপয়েন্ট_টাইপ = DROP_OFF_WAYPOINT_TYPE
পথ_থেকে_পথবিন্দু = অক্ষাংশ[] ড্রপঅফ লেগ থেকে প্রথম অর্ধশতক
ড্রপঅফ লেগ থেকে দ্বিতীয় ল্যাটলং
...
ড্রপঅফ লেগ থেকে শেষ ল্যাটলং
dropoff_point, যদি আগের থেকে আলাদা হয়
ট্র্যাফিক_ডেটা
দূরত্ব_মিটার = পথ_থেকে_পথে পিকআপ থেকে ড্রপঅফ পর্যন্ত দূরত্ব
eta = আপডেট করা ETA
সময়কাল = ড্রপ-অফ লেগ সময়কাল

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

[0] ট্রিপ_আইডি = "ট্রিপ_এ"
ওয়েপয়েন্ট_টাইপ = পিকআপ_ওয়েপয়েন্ট_টাইপ
[1] ট্রিপ_আইডি = "ট্রিপ_বি"
ওয়েপয়েন্ট_টাইপ = পিকআপ_ওয়েপয়েন্ট_টাইপ
[2] ট্রিপ_আইডি = "ট্রিপ_বি"
ওয়েপয়েন্ট_টাইপ = DROP_OFF_WAYPOINT_TYPE
[3] ট্রিপ_আইডি = "ট্রিপ_এ"
ওয়েপয়েন্ট_টাইপ = DROP_OFF_WAYPOINT_TYPE

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