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