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