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