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

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

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

بما أنّ حزمة 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());

تفعيل تعديلات الموقع الجغرافي

بعد إعداد المستمع، فعِّل تعديلات الموقع الجغرافي على النحو التالي:

Java

RidesharingVehicleReporter reporter = ...;

reporter.enableLocationTracking();

Kotlin

val reporter = ...

reporter.enableLocationTracking()

ضبط الفاصل الزمني للتعديل

تُرسِل حزمة Driver SDK تلقائيًا تعديلات الموقع الجغرافي على فترات تبلغ 10 ثوانٍ عندما تكون حالة المركبة هي ONLINE. يمكنك تغيير هذا الفاصل الزمني باستخدام reporter.setLocationReportingInterval(long, TimeUnit). الحد الأدنى لمُدّة الفاصل الزمني المسموح بها للتعديل هو 5 ثوانٍ. قد تؤدي التحديثات المتكرّرة إلى تأخّر الطلبات وظهور أخطاء.

ضبط حالة المركبة على "متصل"

عند تفعيل ميزة "تعديلات الموقع الجغرافي"، يمكنك ضبط حالة المركبة على ONLINE ل إتاحة المركبة لطلبات البحث SearchVehicles في Fleet Engine. تُرسِل حزمة تطوير البرامج (SDK) الخاصة بالسائق حالة المركبة المعدَّلة مع تحديثات الموقع الجغرافي.

يمكنك ضبط حالة المركبة مباشرةً في حزمة تطوير البرامج (SDK) الخاصة بالسائق أو في خادم Fleet Engine. لمزيد من المعلومات، يُرجى الاطّلاع على تعديل مركبة.

توضِّح الأمثلة التالية كيفية ضبط حالة المركبة على "متصل" في حزمة تطوير البرامج (SDK) لتطبيق Driver:

Java

RidesharingVehicleReporter reporter = ...;

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

Kotlin

val reporter = ...

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

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

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

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