이 섹션에서는 오류를 처리하는 방법을 설명합니다.
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
}
}
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