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