যানবাহন প্রস্তুত করুন

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

শ্রোতা সেট আপ করুন

যেহেতু ড্রাইভার 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()

(ঐচ্ছিক) আপডেটের ব্যবধান নির্ধারণ করুন

ডিফল্টরূপে, ড্রাইভার এসডিকে প্রতি ১০ সেকেন্ড অন্তর লোকেশন আপডেট পাঠায়। প্রতিটি লোকেশন আপডেট এটাও নির্দেশ করে যে গাড়িটি অনলাইন আছে। আপনি reporter.setLocationReportingInterval(long, TimeUnit) ব্যবহার করে এই ব্যবধানটি পরিবর্তন করতে পারেন। সর্বনিম্ন সমর্থিত আপডেট ব্যবধান হলো ৫ সেকেন্ড। এর চেয়ে ঘন ঘন আপডেটের ফলে রিকোয়েস্ট ধীর হয়ে যেতে পারে এবং ত্রুটি দেখা দিতে পারে।