Android Sürücü SDK'sı 4.0 Taşıma Kılavuzu

Android 4.0 sürümü için Sürücü SDK'sını kullanmak üzere kodunuzu belirli işlemler için güncellemeniz gerekir. Bu kılavuzda değişiklikler ve kodunuzu taşımak için yapmanız gerekenler açıklanmaktadır.

Paket adı değişikliği

Paket adı com.google.android.libraries.ridesharing.driver iken com.google.android.libraries.mapsplatform.transportation.driver olarak değiştirildi. Lütfen kodunuzdaki referansları güncelleyin.

SDK'yı Başlatma

Önceki sürümlerde Navigation SDK'yı başlatır ve ardından FleetEngine sınıfına referans alırdınız. Sürücü SDK'sı v4'te SDK'yı aşağıdaki gibi başlatın:

  1. NavigationApi öğesinden Navigator nesnesi alın.

    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. Gerekli alanları doldurarak bir DriverContext nesnesi oluşturun.

    DriverContext driverContext = DriverContext.builder(application)
        .setProviderId(providerId)
        .setVehicleId(vehicleId)
        .setAuthTokenFactory(authTokenFactory)
        .setNavigator(navigator)
        .setRoadSnappedLocationProvider(
            NavigationApi.getRoadSnappedLocationProvider(application))
        .build();
    
  3. *DriverApi öğesini başlatmak için DriverContext nesnesini kullanın.

  4. API nesnesinden NavigationVehicleReporter değerini alın. *VehicleReporter uzatılıyor NavigationVehicleReporter.

Konum güncellemelerini etkinleştirme ve devre dışı bırakma

Önceki sürümlerde, FleetEngine referansı aldıktan sonra konum güncellemelerini etkinleştirirdiniz. Sürücü SDK'sı v4'te konum güncellemelerini aşağıdaki şekilde etkinleştirin:

Sürücünün vardiyası bittiğinde konum güncellemelerini devre dışı bırakın ve NavigationVehicleReporter.disableLocationTracking() numaralı telefonu arayarak aracı çevrimdışı olarak işaretleyin.

StatusListener ile hata raporlama

ErrorListener kaldırıldı ve StatusListener ile birleştirildi. StatusListener aşağıdaki gibi tanımlanabilir:

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