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