Fleet Engine-এর সাথে সেরা পারফর্ম্যান্সের জন্য, এটিকে গাড়ির লোকেশন আপডেটের একটি স্ট্রিম প্রদান করুন। এইসব আপডেট প্রদান করতে নিম্নলিখিত পদ্ধতিগুলির মধ্যে যেকোনও একটি ব্যবহার করুন:
- Driver SDK ব্যবহার করা: সবচেয়ে সহজ বিকল্প। Android বা iOS-এর জন্য Driver SDK ডকুমেন্টেশন দেখুন।
- কাস্টম কোড ব্যবহার করুন: আপনার ব্যাকএন্ডের মাধ্যমে লোকেশন রিলে করা হলে অথবা Android বা iOS ছাড়া অন্য ডিভাইস ব্যবহার করলে এটি উপযোগী। এই নির্দেশিকায় সেই পদ্ধতি সম্পর্কে আলোচনা করা হয়েছে।
গাড়ির লোকেশন আপডেট করার জন্য Driver SDK ব্যবহার না করলে, আপনি গাড়ির লোকেশন সহ Fleet Engine-এ সরাসরি কল করতে পারবেন। যেকোনও অ্যাক্টিভ গাড়ির ক্ষেত্রে, Fleet Engine প্রতি মিনিটে অন্তত একবার এবং সর্বাধিক প্রতি ৫ সেকেন্ডে একবার লোকেশন আপডেট আশা করে। এইসব আপডেট করার জন্য শুধুমাত্র Fleet Engine Driver SDK ব্যবহারকারী প্রিভিলেজ প্রয়োজন।
গাড়ির লোকেশন আপডেট করার উদাহরণ
গাড়ির লোকেশন আপডেট করতে, আপনি Java gRPC লাইব্রেরি বা REST ব্যবহার করতে পারেন, যেমন নিচের উদাহরণে দেখানো হয়েছে। যেসব ভাষায় উপলভ্য তার সম্পূর্ণ তালিকা দেখতে, অন-ডিমান্ড ট্রিপ পরিষেবার জন্য ক্লায়েন্ট লাইব্রেরি দেখুন।
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.
বিশ্রাম
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
}
EOMproviders.vehicles.update রেফারেন্স দেখুন।