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