लोकल होम SDK टूल, स्मार्ट होम इंटेंट को रूट करने के लिए, लोकल फ़ुलफ़िलमेंट पाथ जोड़कर, Google Assistant के साथ आपके स्मार्ट होम इंटिग्रेशन को बेहतर बनाता है.
SDK टूल, आपको SmartScript का इस्तेमाल करके लोकल फ़ुलफ़िलमेंट ऐप्लिकेशन लिखने में मदद करता है. इसके लिए, आप TypeScript या JavaScript का इस्तेमाल करते हैं. Google Home या Google Nest डिवाइस आपके डिवाइस पर ऐप्लिकेशन लोड कर सकते हैं और चला सकते हैं. आपका ऐप्लिकेशन मौजूदा प्रोटोकॉल के ज़रिए, किसी स्थानीय इलाके के नेटवर्क (LAN) पर वाई-फ़ाई के ज़रिए, आपके मौजूदा स्मार्ट डिवाइसों से सीधे संपर्क करता है.
SDK टूल को इंटिग्रेट करने से, आपके स्मार्ट होम ऐक्शन में परफ़ॉर्मेंस को बेहतर बनाने में मदद मिलती है. इसमें, इंतज़ार का समय कम और ज़्यादा भरोसा भी शामिल है. लोकल फ़ुलफ़िलमेंट (डिवाइस पूरा करना) अलग-अलग तरह के डिवाइस और विशेषताओं के लिए काम करता है. इसमें वे मामले शामिल नहीं हैं जो सेकंडरी उपयोगकर्ता की पुष्टि का इस्तेमाल करते हैं.
बिल्डिंग शुरू करें सैंपल आज़माएं
इसके काम करने का तरीका समझना
आपके क्लाउड से मिलने वाले जवाब से SYNC
जवाब मिलने के बाद, लोकल होम प्लैटफ़ॉर्म mDNS, UHD ब्रॉडकास्ट या UPnP का इस्तेमाल करके, उपयोगकर्ता के लोकल एरिया नेटवर्क को स्कैन करता है. ऐसा करके, Assistant से जुड़े स्मार्ट डिवाइसों का पता लगाया जाता है.
प्लैटफ़ॉर्म यह तय करने के लिए IDENTIFY
इंटेंट भेजता है कि डिवाइस स्थानीय रूप से कंट्रोल किया जा सकता है या नहीं. इसके लिए, IDENTIFY
रिस्पॉन्स में डिवाइस आईडी की तुलना, SYNC
के पिछले रिस्पॉन्स से मिलती है. अगर पता लगाया गया डिवाइस कोई हब या पुल है, तो प्लैटफ़ॉर्म REACHABLE_DEVICES
इंटेंट भेजता है और हब को स्थानीय डिवाइस पर बातचीत करने के लिए प्रॉक्सी डिवाइस मानता है.
स्थानीय डिवाइस की पुष्टि करने वाला जवाब मिलने पर, यह प्लैटफ़ॉर्म उपयोगकर्ता के Google Home या Google Nest डिवाइस पर कार्रवाई करने का एक स्थानीय तरीका तय करता है. इसके बाद, उपयोगकर्ता को स्थानीय निर्देशों के मुताबिक निर्देश देता है.
जब कोई उपयोगकर्ता किसी स्मार्ट होम ऐक्शन को ट्रिगर करता है, जिसमें फ़ुलफ़िलमेंट पाथ होता है, तो Assistant, क्लाउड से भेजने के बजाय, Google Home या Google Nest डिवाइस को EXECUTE
इंटेंट या QUERY
इंटेंट भेजती है. इसके बाद, डिवाइस इंटेंट को पूरा करने के लिए लोकल फ़ुलफ़िलमेंट ऐप्लिकेशन चलाता है.

Local Home प्लैटफ़ॉर्म, तय नहीं करता कि निर्देश किस Google Home या Google Nest डिवाइस
को ट्रिगर करना है. EXECUTE
और QUERY
इंटेंट, ऐसे किसी भी Google Home या Google Nest डिवाइस से आ सकते हैं जिन्हें टारगेट डिवाइस के तौर पर, होम ग्राफ़ के स्ट्रक्चर में तय किया गया हो.
लोकल फ़ुलफ़िलमेंट ऐप्लिकेशन
स्थानीय फ़ुलफ़िलमेंट ऐप्लिकेशन में स्थानीय कारोबार की ओर से भेजे गए इंटेंट को प्रोसेस करने और स्थानीय क्षेत्र नेटवर्क के ज़रिए आपके स्मार्ट डिवाइस को ऐक्सेस करने के लिए, कारोबारी नियम का इस्तेमाल किया जाता है. आपके हार्डवेयर में किसी भी बदलाव की उम्मीद नहीं की जाती है, ताकि वह स्थानीय ज़रूरत के मुताबिक हो. ऐप्लिकेशन, स्मार्ट डिवाइस पर ऐप्लिकेशन को लेयर कमांड के ज़रिए कंट्रोल करने के निर्देश भेजकर, स्मार्ट होम ऐक्शन के अनुरोध पूरे करता है. इसमें एचटीटीपी, टीसीपी या यूडीपी शामिल हैं. अगर वाहन बेचने का स्थानीय तरीका
ऐप्लिकेशन बनाने में मदद करने के लिए, लोकल होम SDK टूल ये दो मुख्य क्लास उपलब्ध कराता है:
DeviceManager
: टीसीपी, यूडीपी सॉकेट या एचटीटीपी अनुरोधों का इस्तेमाल करके स्मार्ट डिवाइसों से कनेक्ट करने के तरीके उपलब्ध कराता है.App
: उन इंटेंट के लिए हैंडलर अटैच करने के तरीके उपलब्ध कराता है जिन्हें Google, स्थानीय तौर पर कंट्रोल किए जा सकने वाले डिवाइस (IDENTIFY
,REACHABLE_DEVICES
) का पता लगाने के बाद भेजता है. यह क्लास उपयोगकर्ता के निर्देशों (EXECUTE
) का पालन भी करती है और डिवाइस की मौजूदा स्थिति (QUERY
) पर उपयोगकर्ता की क्वेरी का जवाब देती है.
डेवलपमेंट के दौरान, अपने खुद के होस्टिंग सर्वर या स्थानीय डेवलपमेंट मशीन पर ऐप्लिकेशन को लोड करके, उसे बनाया जा सकता है और उसकी जांच की जा सकती है. प्रोडक्शन में, Google आपके ऐप्लिकेशन को उपयोगकर्ता के Google Home या Google Nest डिवाइस पर, सुरक्षित सैंडबॉक्स एनवायरमेंट में होस्ट करता है.
फ़िलहाल, शिकायत की स्थिति एपीआई स्थानीय तौर पर पूरा नहीं किया जा सकता. इन अनुरोधों को प्रोसेस करने के लिए, Google आपके क्लाउड की बिक्री पर भरोसा करता है.
ऐप्लिकेशन लाइफ़साइकल
जब स्थानीय होम प्लैटफ़ॉर्म, प्रोजेक्ट स्कैन कॉन्फ़िगरेशन से मेल खाने वाले नए स्थानीय डिवाइस खोजता है या पहले से पहचाने गए डिवाइस से जुड़े सामान डिलीवर करने की इच्छा नहीं होती है, तो आपका लोकल फ़ुलफ़िलमेंट ऐप्लिकेशन मांग पर लोड होता है.
Google Home या Google Nest डिवाइसों की मेमोरी सीमित होती है. यह भी हो सकता है कि सिस्टम में मेमोरी कम होने की वजह से, वाहन बेचने का आपका ऐप्लिकेशन, किसी भी समय बंद किया जा रहा हो. ऐसा हो सकता है कि आपके ऐप्लिकेशन में बहुत ज़्यादा मेमोरी का इस्तेमाल होने लगा हो या जब सिस्टम को किसी दूसरे ऐप्लिकेशन के लिए जगह बनानी हो. Local Home प्लैटफ़ॉर्म आपके ऐप्लिकेशन को सिर्फ़ तब रीस्टार्ट करता है, जब ऐप्लिकेशन डिलीवर करने के लिए नए इंटेंट और ज़रूरत के मुताबिक मेमोरी संसाधन उपलब्ध हों.
जब उपयोगकर्ता अपना खाता अलग करता है, तो लोकल होम प्लैटफ़ॉर्म आपके डिवाइस को इस्तेमाल न करने पर टाइम आउट के बाद अनलोड कर देता है या फिर ऐसे डिवाइस मौजूद नहीं होते जो उपयोगकर्ता की agentUserId
से जुड़े स्थानीय नियमों के मुताबिक काम करते हों.
वे डिवाइस जिन पर YouTube ऐप्लिकेशन से YouTube Kids का इस्तेमाल किया जा सकता है
Local Home प्लैटफ़ॉर्म, Google Home या Google Nest की सुविधा वाले डिवाइसों पर लोकल फ़ुलफ़िलमेंट ऐप्लिकेशन चलाता है. नीचे दी गई टेबल में, ऐसे डिवाइसों के बारे में जानकारी दी गई है जिन पर यह सुविधा काम करती है. साथ ही, यह भी बताया गया है कि कौनसे डिवाइस पर रनटाइम का इस्तेमाल किया जाता है. रनटाइम से जुड़ी ज़रूरी शर्तों के बारे में ज़्यादा जानने के लिए, प्लान लागू करने का एनवायरमेंट देखें.
डिवाइस | टाइप | परिवेश |
---|---|---|
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 |
एक्ज़ीक्यूशन एनवायरमेंट
स्थानीय सामान भेजने के लिए इस्तेमाल किए जाने वाले ऐप्लिकेशन के लिए, एक्ज़ीक्यूशन एनवायरमेंट डिवाइस पर निर्भर करता है. Local Home प्लैटफ़ॉर्म, रनटाइम के इन प्लैटफ़ॉर्म पर काम करता है:
- Chrome: आपके स्थानीय फ़ुलफ़िलमेंट ऐप्लिकेशन को Chrome M80 या उसके बाद के वर्शन वाले Chrome ब्राउज़र
window
के लिए लागू किया जाता है. इसके लिए, ECMAScript वर्शन ES2018 का इस्तेमाल किया जा सकता है. - Node.js: आपके स्थानीय फ़ुलफ़िलमेंट ऐप्लिकेशन को Node v10.x LTS या उसके बाद वाले वर्शन में, स्क्रिप्ट के तौर पर इस्तेमाल किया जाता है.इसके लिए, ECMAScript वर्शन ES2018 का इस्तेमाल किया जा सकता है.
सोर्स कोड स्ट्रक्चर
हमारा सुझाव है कि आप डिपेंडेंसी को एक ही JavaScript फ़ाइल में जोड़ें. इसके लिए, लोकल होम SDK टूल के बंडलर कॉन्फ़िगरेशन का इस्तेमाल करें. साथ ही, अपने सोर्स कोड को तुरंत लागू करने वाले फ़ंक्शन एक्सप्रेशन (IIFE) के तौर पर पैकेज करें.
लागू करने का पाथ
अपने स्मार्ट होम इंटिग्रेशन के लिए लोकल होम SDK टूल का इस्तेमाल करने के लिए, आपको ये काम करने होंगे:
1 | स्कैन कॉन्फ़िगरेशन सेट अप करना | Assistant के लिए Actions कंसोल को ज़रूरी पैरामीटर के साथ कॉन्फ़िगर करें, ताकि वह स्थानीय रूप से नियंत्रित किए जा सकने वाले डिवाइस खोज सके. |
2 | क्लाउड से मिले नतीजे में सिंक करने का रिस्पॉन्स अपडेट करना | अपने क्लाउड फ़ुलफ़िलमेंट में,
SYNC
अनुरोध हैंडलर में बदलाव करें, ताकि
वह
otherDeviceIds फ़ील्ड काम कर सके जिसका इस्तेमाल प्लैटफ़ॉर्म, लोकल फ़ुलफ़िलमेंट पाथ बनाने के लिए करता है. उस फ़ील्ड में, उन डिवाइसों के आईडी बताएं जिन्हें
स्थानीय रूप से कंट्रोल किया जा सकता है.
|
3 | ग्राहक को आइटम भेजने का तरीका बताने वाला ऐप्लिकेशन लागू करना | JavaScript ऐप्लिकेशन बनाने के लिए,
लोकल होम SDK टूल का इस्तेमाल करें.
इससे,
IDENTIFY ,
EXECUTE , और
QUERY इंटेंट को मैनेज किया जा सकता है. हब या ब्रिज प्रॉक्सी डिवाइस के लिए, आपको REACHABLE_DEVICES इंटेंट भी हैंडल करना चाहिए.
|
4 | अपने ऐप्लिकेशन की जांच करना और उसे डीबग करना | Google Home टेस्ट सुइट का इस्तेमाल करके, अपने इंटिग्रेशन या अपने वीडियो खुद प्रमाणित करने की जांच करें. |
शुरू करने से पहले
- स्मार्ट होम ऐक्शन बनाने के बारे में बुनियादी बातें जानें.
- पक्का करें कि Actions कंसोल में, आपके पास पहले से ही एक स्मार्ट होम प्रोजेक्ट है और खाते को जोड़ने की प्रोसेस कॉन्फ़िगर हो गई.
- पक्का करें कि आपने उसी Google खाते से लॉग इन किया है जिसका इस्तेमाल आपने कार्रवाइयां कंसोल पर और Assistant में अपने टेस्ट डिवाइस पर किया है.
- अपना ऐप्लिकेशन लिखने के लिए आपको Node.js के एक एनवायरमेंट की ज़रूरत होगी. Node.js और npm इंस्टॉल करने के लिए, नोड वर्शन मैनेजर का सुझाव दिया जाता है.
- लोकल होम SDK टूल के नए वर्शन पर काम करने के लिए, आपको टेस्ट डिवाइसों को कास्ट प्रीव्यू प्रोग्राम में रजिस्टर करना होगा.