برای بهترین عملکرد با Fleet Engine، جریانی از بهروزرسانیهای مکان خودرو را در اختیار آن قرار دهید. برای ارائه این به روز رسانی ها از یکی از راه های زیر استفاده کنید:
- از گزینه Driver SDK: simplest استفاده کنید . به مستندات Driver SDK برای Android یا iOS مراجعه کنید.
- از کد سفارشی استفاده کنید : اگر مکانها از طریق باطن شما منتقل میشوند یا از دستگاههایی غیر از Android یا iOS استفاده میکنید مفید است. این راهنما آن رویکرد را پوشش می دهد.
اگر از Driver SDK برای بهروزرسانی مکان خودرو استفاده نمیکنید، میتوانید با مکان خودرو مستقیماً با Fleet Engine تماس بگیرید. برای هر وسیله نقلیه فعال، Fleet Engine انتظار دارد حداقل هر دقیقه یک بار و حداکثر هر 5 ثانیه یک بار به روز شود. این بهروزرسانیها فقط به امتیازات کاربر Fleet Engine Driver SDK نیاز دارند.
نمونه موقعیت مکانی خودرو را به روز کنید
جاوا
static final String PROJECT_ID = "project-id";
static final String VEHICLE_ID = "vid-8241890";
VehicleServiceBlockingStub vehicleService = VehicleService.newBlockingStub(channel);
String vehicleName = "providers/" + PROJECT_ID + "/vehicles/" + VEHICLE_ID;
Vehicle updatedVehicle = Vehicle.newBuilder()
.setLastLocation(VehicleLocation.newBuilder()
.setSupplementalLocation(LatLng.newBuilder()
.setLatitude(37.3382)
.setLongitude(121.8863))
.setSupplementalLocationTime(now())
.setSupplementalLocationSensor(LocationSensor.CUSTOMER_SUPPLIED_LOCATION)
.setSupplementalLocationAccuracy(DoubleValue.of(15.0))) // Optional
.build();
UpdateVehicleRequest updateVehicleRequest = UpdateVehicleRequest.newBuilder()
.setName(vehicleName)
.setVehicle(updatedVehicle)
.setUpdateMask(FieldMask.newBuilder()
.addPaths("last_location"))
.build();
try {
Vehicle updatedVehicle =
vehicleService.updateVehicle(updateVehicleRequest);
} catch (StatusRuntimeException e) {
Status s = e.getStatus();
switch (s.getCode()) {
case NOT_FOUND:
// Most implementations will call CreateVehicle in this case
break;
case PERMISSION_DENIED:
break;
}
return;
}
// If no Exception, Vehicle updated successfully.
استراحت
curl -X PUT \
"https://fleetengine.googleapis.com/v1/providers/project-id/vehicles/vid-8241890?updateMask=last_location" \
-H "Authorization: Bearer $JWT" \
-H "Content-Type: application/json" \
--data-binary @- << EOM
{
"supplementalLocation": {"latitude": 12.1, "longitude": 14.5},
"supplementalLocationTime": "$(date -u --iso-8601=seconds)",
"supplementalLocationSensor": "CUSTOMER_SUPPLIED_LOCATION",
"supplementalLocationAccuracy": 15
}
EOM
مرجع providers.vehicles.update را ببینید.