Page Summary
-
update_maskerrors arise when theupdateMaskquery parameter is empty during vehicle updates, particularly after startup. -
To avoid these errors, always include at least one field name in the
updateMaskparameter when updating vehicle data. -
The provided code examples (Swift and Objective-C) demonstrate how to identify and manage
update_maskerrors within your application's error handling logic.
This section describes how to handle errors.
Handle update_mask errors
An update_mask
error can occur when the updateMask
query parameter is
empty. To prevent this error, always provide at least one field name. It
typically occurs for the first update after startup. For more information about
updating vehicle fields in Fleet Engine, see Update vehicle fields
.
The following example shows how to handle this error:
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

