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

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

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

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

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

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

وقتی نوبت کاری راننده تمام شد، به‌روزرسانی‌های مکان را غیرفعال کنید و با 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.
  }
}