In diesem Abschnitt wird beschrieben, wie Sie Fehler behandeln.
Fehler vom Typ „update_mask“ behandeln
Wenn GMTDDeliveryVehicleReporter eine Fahrzeugaktualisierung sendet, kann ein update_mask
Fehler auftreten, wenn der updateMask Abfrageparameter leer ist. Um
diesen Fehler zu vermeiden, geben Sie immer mindestens einen Feldnamen an. Er tritt in der Regel bei der
ersten Aktualisierung nach dem Start auf. Weitere Informationen zum Aktualisieren von Fahrzeugfeldern
in Fleet Engine finden Sie unter Fahrzeugfelder aktualisieren.
Im folgenden Beispiel wird gezeigt, wie dieser Fehler behandelt wird:
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