این بخش نحوه آماده سازی وسیله نقلیه را برای کارهای برنامه ریزی شده نشان می دهد. شما باید هر یک از مراحل زیر را قبل از تطبیق یک وسیله نقلیه با یک کار انجام دهید.
شنونده را تنظیم کنید
از آنجایی که 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
دارید، به روز رسانی مکان را به صورت زیر فعال کنید:
جاوا
DeliveryVehicleReporter reporter = ...;
reporter.enableLocationTracking();
کاتلین
val reporter = ...
reporter.enableLocationTracking()
(اختیاری) فاصله به روز رسانی را تنظیم کنید
بهطور پیشفرض، Driver SDK بهروزرسانیهای مکان را در فواصل 10 ثانیهای ارسال میکند. هر به روز رسانی مکان همچنین نشان می دهد که وسیله نقلیه آنلاین است. می توانید این فاصله را با reporter.setLocationReportingInterval(long, TimeUnit)
تغییر دهید. حداقل فاصله به روز رسانی پشتیبانی شده 5 ثانیه است. بهروزرسانیهای مکرر ممکن است منجر به درخواستها و خطاهای کندتر شود.
این بخش نحوه آماده سازی وسیله نقلیه را برای کارهای برنامه ریزی شده نشان می دهد. شما باید هر یک از مراحل زیر را قبل از تطبیق یک وسیله نقلیه با یک کار انجام دهید.
شنونده را تنظیم کنید
از آنجایی که 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
دارید، به روز رسانی مکان را به صورت زیر فعال کنید:
جاوا
DeliveryVehicleReporter reporter = ...;
reporter.enableLocationTracking();
کاتلین
val reporter = ...
reporter.enableLocationTracking()
(اختیاری) فاصله به روز رسانی را تنظیم کنید
بهطور پیشفرض، Driver SDK بهروزرسانیهای مکان را در فواصل 10 ثانیهای ارسال میکند. هر به روز رسانی مکان همچنین نشان می دهد که وسیله نقلیه آنلاین است. می توانید این فاصله را با reporter.setLocationReportingInterval(long, TimeUnit)
تغییر دهید. حداقل فاصله به روز رسانی پشتیبانی شده 5 ثانیه است. بهروزرسانیهای مکرر ممکن است منجر به درخواستها و خطاهای کندتر شود.