Hataları giderme

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

update_mask hatalarını giderme

GMTDDeliveryVehicleReporter bir araç güncellemesi gönderdiğinde updateMask sorgu parametresi boş olduğunda update_mask hatası oluşabilir. Bu hatayı önlemek için her zaman en az bir alan adı girin. Bu durum genellikle başlatmadan sonraki ilk güncellemede görülür. Filo Motoru'nda araç alanlarını güncelleme hakkında daha fazla bilgi için Araç alanlarını güncelleme başlıklı makaleyi inceleyin.

Bu hatanın nasıl ele alınacağı aşağıdaki örnekte 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