Hataları giderme

Bu bölümde, hataların nasıl ele alınacağı açıklanmaktadır.

güncelleme_mask hatalarını işleme

updateMask sorgu parametresi şöyle olduğunda update_mask hatası oluşabilir: boştur. Bu hatayı önlemek için her zaman en az bir alan adı sağlayın. Google genellikle başlatmadan sonraki ilk güncellemede gerçekleşir. Daha fazla bilgi için Fleet Engine'de araç alanlarını güncelleme hakkında daha fazla bilgi edinmek için Araç alanlarını güncelleme başlıklı makaleyi inceleyin.

Aşağıdaki örnekte bu hatanın nasıl işleneceği gösterilmektedir:

Swift

import GoogleRidesharingDriver

class VehicleReporterListener: NSObject, GMTDVehicleReporterListener {
  func vehicleReporter(
    _ vehicleReporter: GMTDVehicleReporter,
    didFail vehicleUpdate: GMTDVehicleUpdate,
    withError error: Error
  ) {
    let fullError = error as NSError
    if let innerError = fullError.userInfo[NSUnderlyingErrorKey] as? NSError {
      let innerFullError = innerError as NSError
      if innerFullError.localizedDescription.contains("update_mask cannot be empty") {
        emptyMaskUpdates += 1
        return
      }
    }
    failedUpdates += 1
  }

  override init() {
    emptyMaskUpdates = 0
    failedUpdates = 0
  }
}

Objective-C

#import "VehicleReporterListener.h"
#import <GoogleRidesharingDriver/GoogleRidesharingDriver.h>

@implementation VehicleReporterListener {
  NSInteger emptyMaskUpdates = 0;
  NSInteger failedUpdates = 0;
}

-   (void)vehicleReporter:(GMTDVehicleReporter *)vehicleReporter
   didFailVehicleUpdate:(GMTDVehicleUpdate *)vehicleUpdate
              withError:(NSError *)error {
  for (NSError *underlyingError in error.underlyingErrors) {
    if ([underlyingError.localizedDescription containsString:@"update_mask cannot be empty"]) {
      emptyMaskUpdates += 1;
      return;
    }
  }
  failedUpdates += 1
}

@end