تجهيز المركبة

يوضّح هذا القسم كيفية تجهيز المركبة للرحلات. يجب إكمال كل خطوة من الخطوات التالية قبل أن تتمكّن الخلفية من مطابقة مركبة مع رحلة.

إعداد أداة الاستماع

بما أنّ حزمة تطوير البرامج (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()

ضبط فترة التحديث

تُرسِل حزمة تطوير البرامج للسائقين تلقائيًا إشعارات التحديث بشأن الموقع الجغرافي كل 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);

Kotlin

val reporter = ...

reporter.enableLocationTracking()
reporter.setVehicleState(VehicleState.ONLINE)

تعرض StatusListener أيضًا أي أخطاء تحدث عند تعديل حالة المركبة.

الخطوات التالية

ضبط تفاصيل الرحلة