در این بخش نحوه رسیدگی به خطاها توضیح داده شده است.
خطاهای update_mask را مدیریت کنید
هنگامی که GMTDDeliveryVehicleReporter
یک به روز رسانی خودرو را ارسال می کند، زمانی که پارامتر query updateMask
خالی باشد، خطای update_mask
ممکن است رخ دهد. برای جلوگیری از این خطا، همیشه حداقل یک نام فیلد ارائه دهید. معمولاً برای اولین به روز رسانی پس از راه اندازی رخ می دهد. برای اطلاعات بیشتر درباره بهروزرسانی فیلدهای خودرو در Fleet Engine، به بهروزرسانی فیلدهای خودرو مراجعه کنید.
مثال زیر نحوه رسیدگی به این خطا را نشان می دهد:
سویفت
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
}
}
هدف-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