वाहन का फ़ुलफ़िलमेंट

लोकल होम SDK टूल, स्मार्ट होम इंटेंट को रूट करने के लिए, लोकल फ़ुलफ़िलमेंट पाथ जोड़कर, Google Assistant के साथ आपके स्मार्ट होम इंटिग्रेशन को बेहतर बनाता है.

SDK टूल की मदद से, टाइपस्क्रिप्ट या JavaScript का इस्तेमाल करके, लोकल फ़ुलफ़िलमेंट ऐप्लिकेशन लिखा जा सकता है. इसमें आपके स्मार्ट होम बिज़नेस लॉजिक शामिल होता है. Google Home या Google Nest डिवाइस, डिवाइस पर आपका ऐप्लिकेशन लोड कर सकते हैं और चला सकते हैं. आपका ऐप्लिकेशन, लोकल एरिया नेटवर्क (LAN) पर वाई-फ़ाई की मदद से आपके मौजूदा स्मार्ट डिवाइसों से सीधे तौर पर संपर्क करता है, ताकि मौजूदा प्रोटोकॉल की मदद से, उपयोगकर्ता के निर्देशों को पूरा किया जा सके.

SDK टूल को इंटिग्रेट करने से, स्मार्ट होम पर की जाने वाली कार्रवाइयों की परफ़ॉर्मेंस बेहतर होती है. इसमें, इंतज़ार का समय कम और ज़्यादा भरोसेमंद होने की सुविधा भी शामिल है. लोकल फ़ुलफ़िलमेंट सभी तरह के डिवाइस और डिवाइस की विशेषताओं के लिए काम करता है. हालांकि, इसमें दूसरे उपयोगकर्ता की पुष्टि करने वाले डिवाइस शामिल नहीं हैं.

बिल्डिंग शुरू करें सैंपल देखें

जानें कि यह सुविधा कैसे काम करती है

क्लाउड फ़ुल से SYNC का जवाब मिलने के बाद, Local Home प्लैटफ़ॉर्म, mडीएनएस, यूडीपी ब्रॉडकास्ट या यूपीएनपी का इस्तेमाल करके, लोगों के लोकल एरिया नेटवर्क को स्कैन करता है, ताकि Assistant से कनेक्ट किए गए स्मार्ट डिवाइस देखे जा सकें.

प्लैटफ़ॉर्म, IDENTIFY इंटेंट भेजता है, ताकि यह पता लगाया जा सके कि डिवाइस को स्थानीय तौर पर कंट्रोल किया जा सकता है या नहीं. इसके लिए, IDENTIFY रिस्पॉन्स में मौजूद डिवाइस आईडी की तुलना, पहले SYNC रिस्पॉन्स में मिले डिवाइस आईडी से की जाती है. अगर जिस डिवाइस का पता चला है वह हब या ब्रिज है, तो प्लैटफ़ॉर्म REACHABLE_DEVICES इंटेंट भेजता है. साथ ही, स्थानीय रूप से कम्यूनिकेट करने के लिए हब को प्रॉक्सी डिवाइस मानता है.

जब डिवाइस को किसी लोकल डिवाइस की पुष्टि करने वाला जवाब मिलता है, तब यह प्लैटफ़ॉर्म, उपयोगकर्ता के Google Home या Google Nest डिवाइस के लिए एक लोकल फ़ुलफ़िलमेंट पाथ बनाता है. इसके बाद, यह स्थानीय कार्रवाई के लिए उपयोगकर्ता के निर्देशों को भेजता है.

जब कोई उपयोगकर्ता, लोकल फ़ुलफ़िलमेंट पाथ वाले स्मार्ट होम ऐक्शन को ट्रिगर करता है, तो Assistant, EXECUTE इंटेंट या QUERY इंटेंट को क्लाउड फ़ुलफ़िलमेंट के बजाय, Google Home या Google Nest डिवाइस को भेजती है. इसके बाद डिवाइस, इंटेंट को प्रोसेस करने के लिए लोकल फ़ुलफ़िलमेंट ऐप्लिकेशन को चलाता है.

इस इमेज में, स्थानीय नियमों को लागू करने का फ़्लो दिखाया गया है. एक्ज़ीक्यूशन पाथ, Google Assistant की मदद से फ़ोन से उपयोगकर्ता के इंटेंट को कैप्चर करता है. इसके बाद, उपयोगकर्ता के इंटेंट को Google Cloud प्रोसेस करता है. इसके बाद, Google Home डिवाइस पर, उपयोगकर्ता के इंटेंट को प्रोसेस किया जाता है. साथ ही, निर्देश सीधे डिवाइस हब या
 सीधे डिवाइस पर भेजा जाता है. डेवलपर क्लाउड, क्लाउड फ़ॉलबैक के तौर पर
            उपलब्ध होता है.
पहली इमेज: अपने स्मार्ट होम ऐक्शन के लिए, लोकल फ़ुलफ़िलमेंट पाथ जोड़ना.

लोकल होम प्लैटफ़ॉर्म पर यह तय नहीं होता कि कौनसे Google Home या Google Nest डिवाइस से निर्देश ट्रिगर होंगे. EXECUTE और QUERY इंटेंट, किसी भी Google Home या Google Nest डिवाइस से मिल सकते हैं. इन डिवाइस के बारे में होम ग्राफ़ स्ट्रक्चर में बताया गया है और इसमें टारगेट डिवाइस भी शामिल है.

स्थानीय शिपिंग की सुविधा देने वाला ऐप्लिकेशन

लोकल फ़ुलफ़िलमेंट ऐप्लिकेशन में, लोकल Home प्लैटफ़ॉर्म से भेजे गए इंटेंट को प्रोसेस करने के लिए कारोबारी नियम होता है. साथ ही, लोकल एरिया नेटवर्क के ज़रिए अपने स्मार्ट डिवाइस को ऐक्सेस किया जा सकता है. आपके हार्डवेयर में किसी भी तरह के बदलाव की संभावना नहीं होती है. ऐप्लिकेशन, एचटीटीपी, टीसीपी या यूडीपी जैसे ऐप्लिकेशन-लेयर प्रोटोकॉल के ज़रिए स्मार्ट डिवाइस को कंट्रोल कमांड भेजकर, स्मार्ट होम ऐक्शन के अनुरोधों को पूरा करता है. अगर लोकल फ़ुलफ़िलमेंट पाथ काम नहीं कर पाता है, तो आपके क्लाउड फ़ुलफ़िलमेंट का इस्तेमाल, फ़ॉलबैक एक्ज़ीक्यूट करने के पाथ के तौर पर किया जाता है.

ऐप्लिकेशन बनाने में मदद करने के लिए, लोकल होम SDK टूल ये दो मुख्य क्लास उपलब्ध कराता है:

  • DeviceManager: टीसीपी, यूडीपी सॉकेट या एचटीटीपी अनुरोधों का इस्तेमाल करके, स्मार्ट डिवाइसों से कम्यूनिकेशन के तरीके देता है.
  • App: इसमें उन इंटेंट के लिए हैंडलर अटैच करने के तरीके बताए जाते हैं जिन्हें Google, लोकल तौर पर कंट्रोल किए जा सकने वाले डिवाइसों (IDENTIFY, REACHABLE_DEVICES) को खोजने के बाद भेजता है. यह क्लास, उपयोगकर्ता के निर्देशों (EXECUTE) को भी पूरा करती है और मौजूदा डिवाइस की स्थिति (QUERY) पर उपयोगकर्ता की क्वेरी का जवाब देती है.

डेवलपमेंट के दौरान, अपने होस्टिंग सर्वर या लोकल डेवलपमेंट मशीन पर ऐप्लिकेशन लोड करके, उसे बनाया और टेस्ट किया जा सकता है. प्रोडक्शन के दौरान, Google आपके ऐप्लिकेशन को उपयोगकर्ता के Google Home या Google Nest डिवाइस पर, JavaScript सैंडबॉक्स वाली सुरक्षित जगह पर होस्ट करता है.

फ़िलहाल, रिपोर्ट स्टेट एपीआई का इस्तेमाल स्थानीय तौर पर ऑर्डर पूरा करने के लिए नहीं किया जा सकता. Google इन अनुरोधों को प्रोसेस करने के लिए, इस बात पर निर्भर करता है कि आपका क्लाउड ऑर्डर पूरा करता है या नहीं.

ऐप्लिकेशन का लाइफ़साइकल

जब लोकल होम प्लैटफ़ॉर्म, प्रोजेक्ट स्कैन कॉन्फ़िगरेशन से मेल खाने वाले नए लोकल डिवाइस खोजता है या आपके पास पहले से पहचाने गए किसी डिवाइस से जुड़े इंटेंट डिलीवर नहीं होते हैं, तो आपका लोकल फ़ुलफ़िलमेंट ऐप्लिकेशन मांग पर लोड होता है.

Google Home या Google Nest डिवाइसों की मेमोरी सीमित होती है. साथ ही, सिस्टम में मेमोरी के दबाव की वजह से, लोकल फ़ुलफ़िलमेंट ऐप्लिकेशन को किसी भी समय बंद किया जा सकता है. ऐसा तब हो सकता है, जब आपका ऐप्लिकेशन बहुत ज़्यादा मेमोरी का इस्तेमाल करने लगे या सिस्टम को किसी दूसरे ऐप्लिकेशन के लिए जगह बनानी पड़े. लोकल होम प्लैटफ़ॉर्म आपके ऐप्लिकेशन को सिर्फ़ तब रीस्टार्ट करता है, जब डिलीवर करने के लिए नए इंटेंट उपलब्ध हों और ऐप्लिकेशन चलाने के लिए ज़रूरत के मुताबिक मेमोरी रिसॉर्स हों.

जब उपयोगकर्ता अपना खाता अलग कर देता है या डिवाइस पर agentUserId से जुड़ी लोकल फ़ुलफ़िलमेंट की सुविधा काम नहीं करती, तब लोकल होम प्लैटफ़ॉर्म आपका ऐप्लिकेशन कुछ समय के लिए बंद कर देता है.

वे डिवाइस जिन पर YouTube ऐप्लिकेशन से YouTube Kids का इस्तेमाल किया जा सकता है

Local Home प्लैटफ़ॉर्म, आपके लोकल फ़ुलफ़िलमेंट ऐप्लिकेशन को उन Google Home या Google Nest डिवाइसों पर लागू करता है जिन पर यह सुविधा काम करती है. नीचे दी गई टेबल में उन डिवाइसों की जानकारी दी गई है जिन पर Looker Studio काम करता है. साथ ही, हर डिवाइस पर इस्तेमाल किए गए रनटाइम की जानकारी भी दी गई है. रनटाइम की ज़रूरी शर्तों के बारे में ज़्यादा जानने के लिए, एक्ज़ीक्यूशन एनवायरमेंट देखें.

डिवाइस टाइप एनवायरमेंट
Google Home स्पीकर Chrome
Google Home Mini स्पीकर Chrome
Google Home मैक्स स्पीकर Chrome
Nest Mini स्पीकर Chrome
Nest Hub डिसप्ले Chrome
Nest Hub Max डिसप्ले Chrome
Nest Wifi राऊटर Node.js
पॉइंट Chrome

एक्ज़ीक्यूशन एनवायरमेंट

आपके स्थानीय वाहन बेचने का तरीका ऐप्लिकेशन का एक्ज़ीक्यूशन एनवायरमेंट आपके डिवाइस पर निर्भर करता है. लोकल होम प्लैटफ़ॉर्म, इन रनटाइम एनवायरमेंट के साथ काम करता है:

  • Chrome: आपके लोकल फ़ुलफ़िलमेंट ऐप्लिकेशन को, Chrome ब्राउज़र window के हिसाब से चलाया जाता है. इसमें Chrome M80 या इसके बाद का वर्शन होना चाहिए. साथ ही, ECMAScript वर्शन ES2018 के साथ काम करने की सुविधा उपलब्ध है.
  • Node.js: आपके लोकल फ़ुलफ़िलमेंट ऐप्लिकेशन को Node.js प्रोसेस में स्क्रिप्ट के तौर पर चलाया जाता है. यह प्रोसेस Node v10.x LTS या इसके बाद के वर्शन पर ECMAScript वर्शन ES2018 के साथ काम करती है.

सोर्स कोड का स्ट्रक्चर

हमारा सुझाव है कि आप Local Home SDK टूल से मिले बंडलर कॉन्फ़िगरेशन का इस्तेमाल करके, अपनी डिपेंडेंसी को एक ही JavaScript फ़ाइल में बंडल करें. साथ ही, अपने सोर्स कोड को तुरंत शुरू किए गए फ़ंक्शन एक्सप्रेशन (IIFE) के तौर पर पैकेज करें.

लागू करने का पाथ

अपने स्मार्ट होम इंटिग्रेशन के लिए लोकल होम SDK टूल का इस्तेमाल करने के लिए, आपको ये काम करने होंगे:

1 स्कैन कॉन्फ़िगरेशन सेट अप करें Assistant के लिए ज़रूरी पैरामीटर के साथ Actions कंसोल को कॉन्फ़िगर करें, ताकि वह स्थानीय तौर पर कंट्रोल किए जा सकने वाले डिवाइस खोज सके.
2 क्लाउड फ़ुलफ़िलमेंट में सिंक के जवाब को अपडेट करें अपने क्लाउड फ़ुलफ़िलमेंट में, SYNC अनुरोध हैंडलर में बदलाव करें. इससे प्लैटफ़ॉर्म, लोकल फ़ुलफ़िलमेंट पाथ तय करने के लिए इस्तेमाल किए जाने वाले otherDeviceIds फ़ील्ड के साथ काम कर पाता है. उस फ़ील्ड में, उन डिवाइसों के आईडी बताएं जिन्हें स्थानीय तौर पर कंट्रोल किया जा सकता है.
3 स्थानीय तौर पर वाहन बेचने का तरीका बताने वाला ऐप्लिकेशन लागू करना IDENTIFY, EXECUTE, और QUERY इंटेंट को हैंडल करने के लिए, JavaScript ऐप्लिकेशन बनाने के लिए लोकल होम SDK टूल का इस्तेमाल करें. हब या ब्रिज प्रॉक्सी डिवाइसों के लिए, आपको REACHABLE_DEVICES इंटेंट को भी हैंडल करना चाहिए.
4 अपने ऐप्लिकेशन की जांच करना और उसे डीबग करना Google Home टेस्ट सुइट का इस्तेमाल करके, अपने इंटिग्रेशन (या सेल्फ़-सर्टिफ़िकेट) की जांच करें.

शुरू करने से पहले