وسیله نقلیه را آماده کنید

این بخش نحوه آماده‌سازی وسیله نقلیه برای انجام وظایف زمان‌بندی‌شده را نشان می‌دهد. قبل از اینکه بخش مدیریت شما بتواند وسیله نقلیه را با یک وظیفه مطابقت دهد، باید هر یک از مراحل زیر را انجام دهید.

شنونده را تنظیم کنید

از آنجایی که درایور 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) تغییر دهید. حداقل فاصله به‌روزرسانی پشتیبانی‌شده ۵ ثانیه است. به‌روزرسانی‌های مکرر ممکن است منجر به درخواست‌های کندتر و خطا شوند.