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

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

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

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

,

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

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

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