এই বিভাগটি দেখায় কিভাবে নির্ধারিত কাজের জন্য গাড়ি প্রস্তুত করা যায়। আপনার ব্যাকএন্ড একটি টাস্কের সাথে একটি গাড়ির সাথে মিলিত হওয়ার আগে আপনাকে অবশ্যই নিম্নলিখিত পদক্ষেপগুলির প্রতিটি সম্পূর্ণ করতে হবে৷
শ্রোতা সেট আপ করুন
যেহেতু ড্রাইভার 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());
অবস্থান আপডেট সক্ষম করুন
একবার আপনার একটি *VehicleReporter
দৃষ্টান্ত থাকলে, নিম্নরূপ অবস্থান আপডেট সক্ষম করুন:
জাভা
DeliveryVehicleReporter reporter = ...;
reporter.enableLocationTracking();
কোটলিন
val reporter = ...
reporter.enableLocationTracking()
(ঐচ্ছিক) আপডেটের ব্যবধান সেট করুন
ডিফল্টরূপে, ড্রাইভার SDK 10-সেকেন্ডের ব্যবধানে অবস্থান আপডেট পাঠায়। প্রতিটি অবস্থানের আপডেটও নির্দেশ করে যে গাড়িটি অনলাইনে রয়েছে। আপনি reporter.setLocationReportingInterval(long, TimeUnit)
দিয়ে এই ব্যবধান পরিবর্তন করতে পারেন। ন্যূনতম সমর্থিত আপডেট ব্যবধান হল 5 সেকেন্ড। আরও ঘন ঘন আপডেটের ফলে ধীর অনুরোধ এবং ত্রুটি হতে পারে।