يوضّح هذا القسم كيفية تجهيز المركبة للمهام المُجدوَلة. يجب إكمال كل خطوة من الخطوات التالية قبل أن تتمكّن الواجهة الخلفية من مطابقة مركبة بمهمة.
إعداد أداة الاستماع
بما أنّ حزمة تطوير البرامج (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();
Kotlin
val reporter = ...
reporter.enableLocationTracking()
(اختياري) ضبط الفترة الزمنية بين التحديثات
تُرسِل حزمة تطوير البرامج Driver SDK تلقائيًا إشعارات التحديث بشأن الموقع الجغرافي كل 10 ثوانٍ. يشير كل تعديل على الموقع الجغرافي أيضًا إلى أنّ المركبة متصلة بالإنترنت. يمكنك تغيير هذه
الفترة الزمنية من خلال
reporter.setLocationReportingInterval(long, TimeUnit). الحد الأدنى المسموح به
للفاصل الزمني للتحديث هو 5 ثوانٍ. قد تؤدي التعديلات الأكثر تكرارًا إلى بطء الطلبات وحدوث أخطاء.