इस दस्तावेज़ में, वाहन के उन अहम फ़ील्ड के बारे में बताया गया है जिन्हें वाहन बनाते और मैनेज करते समय अपडेट किया जा सकता है.
|
वाहन के फ़ील्ड की पूरी सूची देखने के लिए, यह देखें:
|
वाहन की स्थिति वाला फ़ील्ड
आपका सिस्टम, वाहन की स्थिति को OFFLINE
या ONLINE
पर सेट कर सकता है. उदाहरण के लिए, आपके
हर दिन सुबह 9 बजे और OFFLINE
बजे गाड़ी की स्थिति को ONLINE
पर सेट कर सकता है
शाम 5 बजे.
ऑफ़लाइन मोड | ऑनलाइन मोड |
---|---|
OFFLINE का इस्तेमाल करके बताएं कि कोई वाहन स्वीकार नहीं कर रहा है
नई यात्राएं. ध्यान दें कि वाहन अब भी असाइन की गई यात्राएं पूरी कर सकता है, जबकि
दर्ज करें. |
|
वाहन के एट्रिब्यूट का फ़ील्ड
वाहन attributes
फ़ील्ड का इस्तेमाल करके, अपनी ज़रूरत के मुताबिक शर्तें बनाएं. इससे आपके ग्राहक या फ़्लीट ऑपरेटर, खोज के लिए कई तरह की शर्तों के हिसाब से आपके फ़्लीट में मौजूद वाहन ढूंढ पाएंगे. इससे आपका ऐप्लिकेशन बेहतर तरीके से काम कर पाएगा
खोज की शर्तों का इस्तेमाल करने पर मिलने वाली नतीजों की तुलना में, वाहन के बेहतर मैच दिखाना
जो वाहन के अन्य फ़ील्ड के हिसाब से सही होते हैं. हर वाहन में ज़्यादा से ज़्यादा 100 वाहन हो सकते हैं
विशेषता दी गई है और हर एक की कुंजी यूनीक होनी चाहिए. वैल्यू, स्ट्रिंग, बूलियन या संख्याएं हो सकती हैं.
उदाहरण के लिए, class नाम का कस्टम एट्रिब्यूट तय करके, अपनी राइडशेयर सेवा के वाहनों को अलग-अलग कैटगरी के हिसाब से बांटा जा सकता है. आप
वाहन की कैटगरी के लेवल दिखाने के लिए, नीचे दी गई स्ट्रिंग की वैल्यू दी गई हैं: ECONOMY
,
STANDARD
और LUXURY
.
हालांकि, कस्टम एट्रिब्यूट की वैल्यू एक-दूसरे से अलग होनी ज़रूरी नहीं है. पालतू जानवरों के लिए, धूम्रपान न करने के लिए, और लंबी यात्राएं करने के लिए जैसी शर्तों का इस्तेमाल किया जा सकता है. इनमें से हर एक, एक अलग कस्टम एट्रिब्यूट हो सकता है, जो बूलियन वैल्यू का इस्तेमाल करता है. किसी वाहन को, ये तीनों कस्टम एट्रिब्यूट असाइन किए जा सकते हैं साथ ही, स्ट्रिंग की सही वैल्यू पर class कस्टम एट्रिब्यूट सेट करें.
इस तरीके से विशेषताओं का इस्तेमाल करने से, आपको कई तरह की सुविधाएं मिल सकती हैं जो इस टूल की मदद से, ख़ास ज़रूरतों वाले वाहनों को खोजा जा सकता है. कस्टम एट्रिब्यूट को क्वेरी फ़िल्टर के तौर पर इस्तेमाल करने के तरीके के बारे में जानने के लिए, वाहन खोजें लेख पढ़ें.
वाहन की विशेषताएं अपडेट करें
UpdateVehicle
या
UpdateVehicleAttributes
का इस्तेमाल करके, वाहन के एट्रिब्यूट अपडेट किए जा सकते हैं. हर attributes
कुंजी में सिर्फ़ एक मान प्रति
वाहन. आपने attributes
का इस्तेमाल करके, कस्टम वाहन एट्रिब्यूट का एलान किया है
फ़ील्ड मास्क में डाला जा सकता है और फिर नीचे दिए गए तरीके के आधार पर वैल्यू दी जा सकती हैं.
UpdateVehicle |
UpdateVehicleAttributes |
|
---|---|---|
यह एपीआई सिर्फ़ एक एट्रिब्यूट को अपडेट करने की अनुमति नहीं देता. इसका इस्तेमाल करते समय
इस तरीके से, attributes के इस्तेमाल से
फ़ील्ड मास्क को फ़ील्ड में शामिल करने पर, इसके पूरा सेट मिलता है
वाहन के एट्रिब्यूट के बारे में फिर से बताया गया हो. इससे, पहले से मौजूद किसी भी एट्रिब्यूट की वैल्यू को बदल दिया जाता है, जिसे फ़ील्ड मास्क में साफ़ तौर पर शामिल नहीं किया गया है. अगर किसी नए कस्टम एट्रिब्यूट का एलान करने के लिए, इस तरीके का इस्तेमाल किया जाता है, तो
आपको वाहन के लिए सेट किए गए हर कस्टम एट्रिब्यूट के बारे में फिर से एलान करना होगा
बनाए रखें. अगर फ़ील्ड मास्क में attributes को बाहर रखा जाता है, तो
तो यह विधि पहले से तय की गई कस्टम विशेषताओं को छोड़ देती है
ट्रैक करने में मदद मिलती है. अगर फ़ील्ड मास्क में attributes का इस्तेमाल किया जाता है, तो
लेकिन वैल्यू सेट किए बिना, यह सभी कस्टम
एट्रिब्यूट की वैल्यू देता है.
|
यह तरीका खास सूची के एट्रिब्यूट को स्वीकार करता है, ताकि अपडेट. अनुरोध अपडेट किया जाता है या सिर्फ़ उन एट्रिब्यूट को जोड़ा जाता है जिनके बारे में बताया गया है का इस्तेमाल नहीं किया जा सकता. पहले से मौजूद ऐसे एट्रिब्यूट जिनके लिए कोई वैल्यू नहीं दी गई है उनमें कोई बदलाव नहीं होगा. |
वाहन के फ़ील्ड अपडेट करने का उदाहरण
इस सेक्शन में, UpdateVehicleRequest
का इस्तेमाल करके वाहन के फ़ील्ड अपडेट करने का तरीका बताया गया है.
इसमें एक update_mask
शामिल है, जो यह बताता है कि किन फ़ील्ड को अपडेट करना है. ज़्यादा जानकारी के लिए, फ़ील्ड मास्क के बारे में प्रोटोकॉल बफ़र का दस्तावेज़ देखें.
last_location
के अलावा अन्य फ़ील्ड में बदलाव करने के लिए, Fleet Engine ऑन-डिमांड एडमिन के खास अधिकारों की ज़रूरत होती है.
उदाहरण: यात्रा का नया टाइप और कस्टम एट्रिब्यूट चालू करना
इस उदाहरण में, वाहन के लिए back_to_back
यात्राएं चालू की गई हैं. साथ ही, यह
नई विशेषता: class
. जैसा कि वाहन के एट्रिब्यूट अपडेट करें में पहले बताया गया है,
इस तरीके का इस्तेमाल करके attributes
फ़ील्ड को अपडेट करने के लिए, आपको सभी
कस्टम एट्रिब्यूट, जिन्हें आपको बनाए रखना है. इसलिए, उदाहरण में cash_only
को दिखाया गया है
अपडेट की कार्रवाई के दौरान ओवरराइट होने से बचाने के लिए लिखी गई वैल्यू
जो attributes
फ़ील्ड के बारे में बताता है.
सिर्फ़ एक कीवर्ड-वैल्यू एट्रिब्यूट पेयर की वैल्यू अपडेट करने के लिए, इसके बजाय UpdateVehicleAttributes
तरीके का इस्तेमाल करें. साथ ही, UpdateVehicle
अनुरोध के लिए फ़ील्ड मास्क में attribute
फ़ील्ड शामिल न करें.
gRPC और REST के लिए providers.vehicles.update
रेफ़रंस देखें.
gRPC
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()
.setVehicleState(VehicleState.ONLINE)
.addAllAttributes(ImmutableList.of(
VehicleAttribute.newBuilder().setKey("class").setValue("ECONOMY").build(),
VehicleAttribute.newBuilder().setKey("cash_only").setValue("false").build()))
.setBackToBackEnabled(true)
.build();
UpdateVehicleRequest updateVehicleRequest = UpdateVehicleRequest.newBuilder()
.setName(vehicleName)
.setVehicle(updatedVehicle)
.setUpdateMask(FieldMask.newBuilder()
.addPaths("vehicle_state")
.addPaths("attributes")
.addPaths("back_to_back_enabled"))
.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=vehicle_state,attributes,back_to_back_enabled" \
-H "Authorization: Bearer $JWT" \
-H "Content-Type: application/json" \
--data-binary @- << EOM
{
"vehicleState": "ONLINE",
"attributes": [
{"key": "class", "value": "LUXURY"},
{"key": "cash_only", "value": "false"}
],
"backToBackEnabled": true
}
EOM