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