دليل نقل بيانات Android Driver SDK 3.0

يتطلب إصدار Driver SDK لنظام التشغيل Android 3.0 تعديل الرمز البرمجي للقيام بعمليات معيّنة. يوضّح هذا الدليل التغييرات والخطوات التي عليك اتّخاذها لنقل الرمز البرمجي.

تغيير اسم الحزمة

تم تغيير اسم الحزمة من com.google.android.libraries.ridesharing.driver إلى com.google.android.libraries.mapsplatform.transportation.driver. يُرجى تعديل المراجع في الرمز البرمجي.

إعداد حزمة تطوير البرامج (SDK)

في الإصدارات السابقة، كان عليك إعداد حزمة تطوير البرامج (SDK) للتنقّل ثم الحصول على إشارة إلى فئة FleetEngine. في الإصدار 3 من حزمة تطوير البرامج (SDK) للسائق، يمكنك إعداد حزمة SDK على النحو التالي:

  1. الحصول على عنصر Navigator من NavigationApi

    NavigationApi.getNavigator(
          this, // Activity
          new NavigationApi.NavigatorListener() {
            @Override
            public void onNavigatorReady(Navigator navigator) {
              // Keep a reference to the Navigator (used to configure and start nav)
              this.navigator = navigator;
            }
          }
    );
    
  2. أنشئ عنصر DriverContext واملأ الحقول المطلوبة.

    DriverContext driverContext = DriverContext.builder(application)
                 .setProviderId(providerId)
                 .setVehicleId(vehicleId)
                 .setAuthTokenFactory(authTokenFactory)
                 .setNavigator(navigator)
                 .setRoadSnappedLocationProvider(
                     NavigationApi.getRoadSnappedLocationProvider(application))
                 .build()
    
  3. استخدِم عنصر DriverContext لإعداد *DriverApi.

  4. الحصول على NavigationVehicleReporter من عنصر واجهة برمجة التطبيقات *VehicleReporter يمتد إلى NavigationVehicleReporter.

تفعيل تحديثات الموقع الجغرافي وإيقافها

في الإصدارات السابقة، كان عليك تفعيل تعديلات الموقع الجغرافي بعد الحصول على مرجع FleetEngine. في الإصدار 3 من حزمة Driver SDK، فعِّل تعديلات الموقع الجغرافي على النحو التالي:

لتعديل الفاصل الزمني لإعداد التقارير، استخدِم RidesharingVehicleReporter.setLocationReportingInterval(long, TimeUnit) أو DeliveryVehicleReporter.setLocationReportingInterval(long, TimeUnit).

عند انتهاء وردية السائق، أوقِف تحديثات الموقع الجغرافي وصنِّف السيارة على أنّها غير متصلة بالإنترنت من خلال الاتصال بالرقم NavigationVehicleReporter.disableLocationTracking().

الإبلاغ عن الأخطاء باستخدام StatusListener

تمت إزالة السمة ErrorListener ودمجها مع السمة StatusListener، التي يمكن تعريفها على النحو التالي:

class MyStatusListener implements StatusListener {
  /** Called when background status is updated, during actions such as location reporting. */
  @Override
  public void updateStatus(
    StatusLevel statusLevel,
    StatusCode statusCode,
    String statusMsg) {
    // Status handling stuff goes here.
    // StatusLevel may be DEBUG, INFO, WARNING, or ERROR.
    // StatusCode may be DEFAULT, UNKNOWN_ERROR, VEHICLE_NOT_FOUND, 
    // BACKEND_CONNECTIVITY_ERROR, or PERMISSION_DENIED.
  }
}