راهنمای انتقال کیت توسعه نرم‌افزار راننده Android نسخه ۳.۰

نسخه ۳.۰ «کیت توسعه نرم‌افزار راننده» برای Android لازم دارد که کدتان را برای عملیات خاصی به‌روز کنید. این راهنما تغییرات و کارهایی را که باید برای انتقال کدتان انجام دهید شرح می‌دهد.

تغییر نام بسته

نام بسته از com.google.android.libraries.ridesharing.driver به com.google.android.libraries.mapsplatform.transportation.driver تغییر کرده است. لطفاً مرجع‌ها را در کدتان به‌روز کنید.

مقداردهی اولیه کیت توسعه نرم‌افزار

در نسخه‌های قبلی، «کیت توسعه نرم‌افزار پیمایش» را مقداردهی اولیه می‌کردید و سپس مرجعی برای کلاس FleetEngine دریافت می‌کردید. در Driver 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 فعال می‌کردید. در «کیت توسعه نرم‌افزار Driver» نسخه ۳، به‌روزرسانی‌های مکان را به‌صورت زیر فعال کنید:

برای به‌روزرسانی فاصله گزارش‌دهی، از RidesharingVehicleReporter.setLocationReportingInterval(long, TimeUnit) یا DeliveryVehicleReporter.setLocationReportingInterval(long, TimeUnit) استفاده کنید.

وقتی نوبت کاری راننده تمام شد، به‌روزرسانی‌های مکان را غیرفعال کنید و با فراخوانی NavigationVehicleReporter.disableLocationTracking()، وسیله نقلیه را به‌عنوان آفلاین علامت‌گذاری کنید.

گزارش‌دهی خطا با «شنودگر وضعیت»

‫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.
  }
}