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

Android 3.0 sürümüne yönelik Sürücü SDK'sı, belirli işlemler için kodunuzu güncellemenizi gerektirir. Bu kılavuzda, değişiklikler ve kodunuzu taşımak için yapmanız gerekenler özetlenmiştir.

Paket adı değişikliği

Paket adı com.google.android.libraries.ridesharing.driver yerine 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'sını başlatır ve ardından FleetEngine sınıfına referans alırdınız. Sürücü SDK'sı sürüm 3'te SDK'yı aşağıdaki gibi başlatın:

  1. NavigationApi öğesinden bir 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 nesnesi için DriverContext nesnesini kullanın.

  4. API nesnesinden NavigationVehicleReporter değerini alın. *VehicleReporter için son tarih: NavigationVehicleReporter.

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

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

Raporlama aralığını güncellemek için RidesharingVehicleReporter.setLocationReportingInterval(long, TimeUnit) veya DeliveryVehicleReporter.setLocationReportingInterval(long, TimeUnit) seçeneğini kullanın.

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

StatusListener ile Hata Bildirimi

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

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