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