গাড়ি রেডি করুন

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

লিসনার সেট-আপ করুন

যেহেতু 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)-এর মাধ্যমে এই ব্যবধান পরিবর্তন করতে পারবেন। আপডেট করার ন্যূনতম সময়সীমা হল ৫ সেকেন্ড। আরও ঘন ঘন আপডেট করার ফলে অনুরোধের প্রসেস ধীর হয়ে যেতে পারে এবং সমস্যা হতে পারে।