এই বিভাগে দেখানো হয়েছে কীভাবে ভ্রমণের জন্য যানবাহন প্রস্তুত করতে হয়। আপনার ব্যাকএন্ড কোনো ভ্রমণের সাথে একটি যানবাহন মেলাতে পারার আগে আপনাকে অবশ্যই নিম্নলিখিত প্রতিটি ধাপ সম্পন্ন করতে হবে।
শ্রোতা সেট আপ করুন
যেহেতু ড্রাইভার SDK ব্যাকগ্রাউন্ডে কাজ করে, তাই নির্দিষ্ট কিছু ঘটনা, যেমন ত্রুটি, সতর্কতা বা ডিবাগ বার্তা ঘটলে নোটিফিকেশন চালু করার জন্য DriverStatusListener ব্যবহার করুন। ত্রুটিগুলো ক্ষণস্থায়ী হতে পারে (যেমন BACKEND_CONNECTIVITY_ERROR ), অথবা এগুলোর কারণে লোকেশন আপডেট স্থায়ীভাবে বন্ধ হয়ে যেতে পারে। উদাহরণস্বরূপ, যদি আপনি VEHICLE_NOT_FOUND ত্রুটি পান, তবে এটি একটি কনফিগারেশন ত্রুটি নির্দেশ করে।
নিম্নলিখিত উদাহরণটি একটি DriverStatusListener বাস্তবায়ন দেখায়:
class MyStatusListener implements DriverStatusListener {
/** Called when background status is updated, during actions such as location reporting. */
@Override
public void updateStatus(
StatusLevel statusLevel, StatusCode statusCode, String statusMsg, @Nullable Throwable cause) {
// Existing implementation
if (cause != null && cause instanceof StatusRuntimeException) {
if (Status.NOT_FOUND.getCode().equals(cause.getStatus().getCode())) {
// NOT_FOUND gRPC exception thrown by Fleet Engine.
}
}
}
}
DriverContextBuilder.setDriverStatusListener(new MyStatusListener());
অবস্থান আপডেট সক্ষম করুন
লিসেনার সেট আপ করার পরে, নিম্নলিখিতভাবে লোকেশন আপডেটগুলি সক্রিয় করুন:
জাভা
RidesharingVehicleReporter reporter = ...;
reporter.enableLocationTracking();
কোটলিন
val reporter = ...
reporter.enableLocationTracking()
আপডেট ব্যবধান সেট করুন
ডিফল্টরূপে, গাড়ির অবস্থা ONLINE ) থাকলে ড্রাইভার এসডিকে (Driver SDK) প্রতি ১০ সেকেন্ড অন্তর অবস্থানের আপডেট পাঠায়। আপনি reporter.setLocationReportingInterval(long, TimeUnit) ব্যবহার করে এই ব্যবধানটি পরিবর্তন করতে পারেন। সর্বনিম্ন সমর্থিত আপডেটের ব্যবধান হলো ৫ সেকেন্ড। এর চেয়ে ঘন ঘন আপডেটের ফলে অনুরোধের গতি কমে যেতে পারে এবং ত্রুটি দেখা দিতে পারে।
গাড়ির অবস্থা অনলাইন-এ সেট করুন
যখন আপনি লোকেশন আপডেট চালু করেন, তখন ফ্লিট ইঞ্জিনে SearchVehicles কোয়েরির জন্য গাড়িটিকে উপলব্ধ করতে আপনি গাড়ির স্টেটকে ONLINE এ সেট করতে পারেন। ড্রাইভার SDK লোকেশন আপডেটের সাথে গাড়ির আপডেট করা স্টেটটিও পাঠিয়ে দেয়।
আপনি সরাসরি ড্রাইভার এসডিকে (Driver SDK) অথবা ফ্লিট ইঞ্জিন সার্ভারে (Fleet Engine server) গাড়ির অবস্থা নির্ধারণ করতে পারেন। আরও তথ্যের জন্য, ‘একটি গাড়ি আপডেট করুন’ (Update a Vehicle) দেখুন।
নিম্নলিখিত উদাহরণগুলিতে দেখানো হয়েছে কিভাবে ড্রাইভার এসডিকে-তে গাড়ির অবস্থা অনলাইন-এ সেট করতে হয়:
জাভা
RidesharingVehicleReporter reporter = ...;
reporter.enableLocationTracking();
reporter.setVehicleState(VehicleState.ONLINE);
কোটলিন
val reporter = ...
reporter.enableLocationTracking()
reporter.setVehicleState(VehicleState.ONLINE)
গাড়ির অবস্থা আপডেট করার সময় যে কোনো ত্রুটি ঘটলে StatusListener সেটিও রিপোর্ট করে।