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

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

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

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

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

في الإصدارات السابقة، كان عليك إعداد حزمة تطوير البرامج (SDK) لخدمة Navigation ثم الحصول على مرجع لفئة FleetEngine. في الإصدار 4 من حزمة تطوير البرامج (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. في الإصدار 4 من حزمة تطوير البرامج (SDK) للسائق، يمكنك تفعيل إشعارات الموقع الجغرافي على النحو التالي:

عند انتهاء نوبة عمل السائق، أوقِف الإشعارات بشأن الموقع الجغرافي وضَع علامة على المركبة بأنّها غير متصلة بالإنترنت من خلال طلب 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.
  }
}