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

يتطلّب إصدار حزمة تطوير البرامج (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 من حزمة تطوير البرامج (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.
  }
}