वाहन की जगह की जानकारी अपडेट करना

Fleet Engine के साथ सबसे अच्छी परफ़ॉर्मेंस के लिए, इसे वाहन की एक स्ट्रीम दें जगह की जानकारी के अपडेट. ये अपडेट देने के लिए, इनमें से किसी एक तरीके का इस्तेमाल करें:

  1. ड्राइवर SDK टूल का इस्तेमाल करें: सबसे आसान विकल्प. ड्राइवर SDK टूल से जुड़ा दस्तावेज़ देखें Android या iOS के लिए उपलब्ध है.
  2. कस्टम कोड का इस्तेमाल करें: यह तब काम आता है, जब जगहों को आपके बैकएंड या Android या iOS के अलावा, दूसरे डिवाइसों का इस्तेमाल करने पर भी ऐसा किया जा सकता है. इस गाइड में ये चीज़ें शामिल हैं .

अगर वाहन की जगह की जानकारी अपडेट करने के लिए, ड्राइवर SDK टूल का इस्तेमाल नहीं किया जा रहा है, तो वाहन की जगह की जानकारी के साथ फ़्लीट इंजन को सीधे कॉल करना. किसी भी चालू वाहन के लिए, Fleet Engine की मदद से, हर मिनट में कम से कम एक बार और ज़्यादा से ज़्यादा एक बार जगह की जानकारी अपडेट की जाती है हर 5 सेकंड में एक बार. इन अपडेट के लिए, सिर्फ़ फ़्लीट इंजन ड्राइवर SDK टूल के उपयोगकर्ता की ज़रूरत होगी खास अधिकारों को ऐक्सेस करना होगा.

वाहन की जगह की जानकारी को अपडेट करने का उदाहरण

Java

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.

REST

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 का रेफ़रंस देखें.

आगे क्या करना है