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

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

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

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