Fleet Engine में वाहन कैसे काम करते हैं, इस बारे में सामान्य जानकारी के लिए, Fleet Engine के ज़रूरी सेक्शन में मौजूद ये गाइड देखें:
इस सेक्शन में दिए गए दस्तावेज़ में, Fleet Engine में वाहनों को बनाने और मैनेज करने का तरीका बताया गया है. Fleet Engine के सर्वर एनवायरमेंट में वाहन बनाए जाते हैं, ताकि असल दुनिया में मौजूद वाहनों की जानकारी को दिखाया जा सके. आपके Fleet Engine वाहनों की जानकारी, आपके बैकएंड सिस्टम में इस्तेमाल किए जाने वाले वाहनों की जानकारी से मेल खानी चाहिए. इस सिस्टम का इस्तेमाल, वाहनों को असाइन करने और रूटिंग के लिए किया जाता है.
gRPC या REST का इस्तेमाल करके, वाहन का संसाधन बनाने के लिए create तरीके का इस्तेमाल किया जाता है. इस गाइड में फ़ील्ड के नामों के लिए, gRPC नोटेशन का इस्तेमाल किया गया है, ताकि इन्हें आसानी से समझा जा सके.
मांग के हिसाब से यात्राएं
CreateVehicleRequest
(gRPC)providers.vehicle.create
(REST)Vehicle
रिसॉर्स (REST, gRPC)
शेड्यूल किए गए टास्क
CreateDeliveryVehicleRequest
(gRPC)providers.deliveryVehicles.create
(REST)DeliveryVehicle
(REST, gRPC)
वाहन के अनुरोध
टास्क को शेड्यूल करने और ज़रूरत के हिसाब से टास्क बनाने की सुविधा के लिए, आपको वाहन बनाना और उसे अपडेट करना होगा. इसके लिए, आपको फ़ील्ड के साथ अनुरोध मैसेज भेजना होगा. इसकी खास जानकारी यहां दी गई है:
- माता-पिता: यह आपके Google Cloud प्रोजेक्ट आईडी से जुड़ी एक स्ट्रिंग है. इसका इस्तेमाल, वाहन के इंस्टेंस के नाम फ़ील्ड में जानकारी भरने के लिए किया जाता है.
वाहन का आईडी: यह एक यूनीक स्ट्रिंग होती है. इसका इस्तेमाल, वाहन के
name
फ़ील्ड की वैल्यू भरने के लिए किया जाता है.ज़रूरी फ़ील्ड के साथ वाहन का इंस्टेंस. ये फ़ील्ड, Fleet Engine की उस सुविधा पर निर्भर करते हैं जिसका इस्तेमाल किया जा रहा है.
अनुरोध के मुख्य हिस्से में मौजूद जानकारी, अनुरोध के हिसाब से अलग-अलग होती है. इनके बारे में ज़्यादा जानकारी के लिए, इनसे जुड़ी गाइड देखें.
पुष्टि करने और अनुमति देने वाले टोकन
Fleet Engine से किए जाने वाले अनुरोधों में, ऐक्सेस करने के सही क्रेडेंशियल भी दिए जाने चाहिए. इस गाइड में दिए गए उदाहरणों के लिए, यहां दी गई शर्तें पूरी होनी चाहिए:
- gRPC के उदाहरणों में, Java के लिए Authorization library का इस्तेमाल किया गया है.
- REST के उदाहरणों में, एचटीटीपी अनुरोध हेडर दिखाया गया है. इसमें
Authorization
फ़ील्ड होना चाहिए. इसकी वैल्यूBearer <token>
होनी चाहिए. यहां<token>
, आपके जारी किए गए JSON वेब टोकन को दिखाता है.
ज़्यादा जानकारी के लिए, Fleet Engine सेट अप करना गाइड देखें.
वाहन के संसाधन फ़ील्ड
वाहन के संसाधन में, इस तरह के फ़ील्ड होते हैं:
- सिर्फ़ आउटपुट वाले फ़ील्ड. ऐसे फ़ील्ड जिन्हें सेवा, किसी अन्य तरीके के आउटपुट के तौर पर सेट करती है और सीधे तौर पर सेट नहीं किया जा सकता. इस तरह के फ़ील्ड में
name
फ़ील्ड एक अहम फ़ील्ड है. Google AIP के दिशा-निर्देशों के मुताबिक, Fleet Engine, उपयोगकर्ता के दिए गए आईडी के लिए वाहन केname
फ़ील्ड की दी गई किसी भी वैल्यू को अनदेखा करता है. इन फ़ील्ड के लिए वैल्यू देने पर, Fleet Engine गड़बड़ी दिखाता है. - ज़रूरी फ़ील्ड. मांग पर यात्रा की सेवा के लिए बनाए गए वाहनों के लिए, यह ज़रूरी है कि बनाते समय कुछ फ़ील्ड सेट किए जाएं. शेड्यूल किए गए टास्क की सेवा में बनाए गए वाहनों में, वाहन के संसाधन के लिए ज़रूरी फ़ील्ड मौजूद नहीं हैं.
- ऐसे फ़ील्ड जो ज़रूरी नहीं हैं. दोनों सेवाओं में ऐसे फ़ील्ड होते हैं जिन्हें बनाते समय या बाद में सेट किया जा सकता है. ये आपको इस्तेमाल की जा रही सेवा की रेफ़रंस गाइड में मिल सकते हैं.
वाहन का नाम (सिर्फ़ आउटपुट के लिए)
name
फ़ील्ड, मांग पर की जाने वाली यात्राओं और शेड्यूल की गई टास्क सेवाओं के लिए एक जैसा होता है. वाहन बनाते समय, Fleet Engine इस फ़ील्ड को तय करता है. यह फ़ील्ड, वाहन बनाते समय सेट किए गए इन दो फ़ील्ड के आधार पर तय होता है:
पैरंट: यह एक स्ट्रिंग होती है. यह आपके Google Cloud प्रोजेक्ट आईडी से जुड़ी होती है. इसका फ़ॉर्मैट
providers/{provider}
होता है. इसमें{provider}
आपके Cloud प्रोजेक्ट का आईडी होता है. किसी प्रोजेक्ट के लिए बनाए गए हर वाहन का पैरंट पाथ एक जैसा होगा.यहां जिस Cloud प्रोजेक्ट का रेफ़रंस दिया गया है उसमें, इस्तेमाल की जा रही सेवा के लिए Fleet Engine सेवा खाते की भूमिकाएं भी होनी चाहिए. उन सेवा खातों की सूची देखने के लिए, सेवा खाते देखें. Fleet Engine, एक से ज़्यादा Google Cloud प्रोजेक्ट से ऐक्सेस करने की सुविधा के साथ काम नहीं करता.
वाहन का आईडी. यह आपके फ़्लीट में मौजूद सभी वाहनों के लिए यूनीक होना चाहिए. साथ ही, यह एक मान्य यूनिकोड स्ट्रिंग होनी चाहिए. यह वाहन का संसाधन आईडी है. मांग पर की जाने वाली यात्राओं और शेड्यूल किए गए स्टॉप, दोनों के लिए इस फ़ील्ड का इस्तेमाल किया जाता है. इससे किसी यात्रा या टास्क को उस वाहन से जोड़ा जाता है जो उसे पूरा करता है.
Google की क्लाउड-आधारित सेवाओं में, सभी एपीआई को स्ट्रिंग के तौर पर संसाधनों को दिखाना होगा. ज़्यादा जानकारी के लिए, Fleet Engine में संसाधन का नामकरण देखें.
इकाई के यूनीक आइडेंटिफ़ायर
संसाधन कॉल में इस्तेमाल किए गए यूनीक इकाई आइडेंटिफ़ायर का फ़ॉर्मैट और वैल्यू, Fleet Engine के लिए अपारदर्शी होती है. पक्का करें कि आइडेंटिफ़ायर में व्यक्तिगत पहचान से जुड़ी कोई जानकारी (पीआईआई) शामिल न हो. जैसे, ड्राइवर का फ़ोन नंबर.
वाहन का फिर से इस्तेमाल करना
किसी यात्रा के सभी स्टॉप पूरे करने के बाद, वाहन को सात दिनों तक Fleet Engine में फिर से इस्तेमाल किया जा सकता है. इसका मतलब है कि आपको नया वाहन बनाने की ज़रूरत नहीं है. इसके बजाय, अगले कामकाजी दिनों में किसी वाहन का फिर से इस्तेमाल किया जा सकता है. वाहन का दोबारा इस्तेमाल करने पर, Fleet Engine उसकी उपलब्धता को रीसेट कर देता है. इसके बाद, सात दिनों की गिनती फिर से शुरू हो जाती है.
Fleet Engine में किसी वाहन की उपलब्धता बनाए रखने के लिए, यह सुझाव दिया जाता है कि आप समय-समय पर उसकी जगह की जानकारी अपडेट करें. Vehicle
इकाई के ज़्यादातर अन्य फ़ील्ड में किए गए अपडेट से भी इसकी अवधि बढ़ जाएगी. हालांकि, इसके लिए यह ज़रूरी है कि फ़ील्ड की नई वैल्यू, मौजूदा वैल्यू से अलग हो.
ध्यान दें: Vehicle
इकाई के कुछ फ़ील्ड, जैसे कि device_settings
, सिर्फ़ डीबग करने से जुड़ी जानकारी होती है. इसे Fleet Engine सेव नहीं करता है. इन्हें अपडेट करने से, Vehicle
इकाई की लाइफ़टाइम नहीं बढ़ती.
सिस्टम के आंकड़ों को बेहतर बनाने के लिए, हर दिन एक ही ड्राइवर-वाहन आईडी पेयरिंग का फिर से इस्तेमाल करना सबसे अच्छा होता है. इसके लिए, उसी वाहन आईडी का इस्तेमाल करें जो ड्राइवर के साथ जुड़ा हुआ है. यह आईडी, पहले से शेड्यूल किए गए स्टॉप या मांग पर की जाने वाली यात्राओं के लिए इस्तेमाल किया गया था.