हमारा सुझाव है कि आप पहले बताए गए तरीके का इस्तेमाल करके, अपना स्थानीय फ़ुलफ़िलमेंट ऐप्लिकेशन बनाएं. इसके बाद, अपने होस्टिंग एनवायरमेंट पर स्मार्ट होम इंटिग्रेशन की जांच करने के लिए, यह तरीका अपनाएं:
अपने होस्टिंग एनवायरमेंट में, वह एचटीएमएल पेज दिखाएं जो आपके स्थानीय फ़ुलफ़िलमेंट ऐप्लिकेशन को चलाता है. नीचे दिए गए स्निपेट में, उस स्टैटिक एचटीएमएल फ़ाइल का उदाहरण दिया गया है जो आपके स्थानीय फ़ुलफ़िलमेंट ऐप्लिकेशन को चलाती है.
<html> <head> <!-- Local Home SDK --> <script src="//www.gstatic.com/eureka/smarthome/smarthome_sdk.js"></script> <!-- Local app under development --> <script src="local_execution.js"></script> </head> </html>
Chrome से डीबग करना. इंटिग्रेशन से जुड़ी समस्या हल करने के लिए, ब्रेकपॉइंट और लॉग का इस्तेमाल करें.
अपने TypeScript कोड में बदलाव करें और उसे कंपाइल करें. इसके बाद, यह तरीका दोहराएं.
इस बिल्ड और टेस्ट की प्रोसेस को दोहराकर, अपने बदलावों को तुरंत देखा जा सकता है. साथ ही, अपने कोड में मौजूद समस्याओं को आसानी से पकड़ा और डीबग किया जा सकता है.
डिवाइस कंट्रोल की जांच करना
ऐक्शन कंसोल में, आपको अपने वेब ऐप्लिकेशन का यूआरएल डालना होगा. यह यूआरएल, एचटीएमएल दिखाता है. एचटीएमएल, स्थानीय तौर पर ऑर्डर पूरा करने के दौरान Google Home या Google Nest डिवाइस पर लोड होता है.
स्थानीय तरीके से ऑर्डर पूरा करने की सुविधा के साथ डिवाइस कंट्रोल की जांच करने के लिए, यह तरीका अपनाएं:
Chrome
- Actions कंसोल में अपना स्मार्ट होम प्रोजेक्ट खोलें.
- बाईं ओर मौजूद नेविगेशन में, कार्रवाइयां पर क्लिक करें.
- लोकल होम एसडीके कॉन्फ़िगर करें (ज़रूरी नहीं) > Chrome के लिए टेस्टिंग यूआरएल डालें में जाकर, डेवलपमेंट सर्वर का यूआरएल डालें. यह यूआरएल, आपके स्थानीय फ़ुलफ़िलमेंट ऐप्लिकेशन को चलाने वाले एचटीएमएल को दिखाता है.
- सेव करें पर क्लिक करें. Google को आपके कंसोल में किए गए बदलावों को लागू होने में 30 मिनट लग सकते हैं.
- टेस्ट के लिए इस्तेमाल किए जा रहे Google Home या Google Nest डिवाइस को रीस्टार्ट करें.
- अपने स्मार्ट डिवाइस को कोई निर्देश दें. उदाहरण के लिए, अगर आपके डिवाइस पर चालू/बंद ट्रैट लागू है, तो "Ok Google, लाइटें चालू करो" कहा जा सकता है।
Node.js
- Actions कंसोल में अपना स्मार्ट होम प्रोजेक्ट खोलें.
- बाईं ओर मौजूद नेविगेशन में, कार्रवाइयां पर क्लिक करें.
- लोकल होम SDK टूल कॉन्फ़िगर करें (ज़रूरी नहीं) > Node के लिए टेस्टिंग यूआरएल डालें में जाकर, डेवलपमेंट सर्वर का यूआरएल डालें. यह यूआरएल, आपके लोकल फ़ुलफ़िलमेंट ऐप्लिकेशन को चलाने वाले JavaScript को दिखाता है.
- सेव करें पर क्लिक करें. Google को आपके कंसोल में किए गए बदलावों को लागू होने में 30 मिनट लग सकते हैं.
- टेस्ट के लिए इस्तेमाल किए जा रहे Google Home या Google Nest डिवाइस को रीस्टार्ट करें.
- अपने स्मार्ट डिवाइस को कोई निर्देश दें. उदाहरण के लिए, अगर आपका डिवाइस OnOff विशेषता को लागू करता है, तो आप "Ok Google, लाइटें चालू करो" कह सकते हैं.
आपके डिवाइस पर किस रनटाइम का इस्तेमाल किया जाता है, इस बारे में ज़्यादा जानने के लिए इस्तेमाल किए जा सकने वाले डिवाइस देखें.
निर्देश का इस्तेमाल करें.Chrome से डीबग करना
Chrome DevTools का इस्तेमाल करके, अपने स्थानीय फ़ुलफ़िलमेंट ऐप्लिकेशन को डीबग किया जा सकता है. डीबग करने से पहले, पक्का करें कि आपका एनवायरमेंट सही तरीके से सेट अप किया गया हो:
- आपने कंसोल में अपने डेवलपमेंट यूआरएल को ऐसे यूआरएल पर सेट किया हो जिसे Google Home या Google Nest डिवाइस (लोकल एरिया नेटवर्क या इंटरनेट के ज़रिए) ऐक्सेस कर सके,
- आपकी मशीन उसी लोकल एरिया नेटवर्क से कनेक्ट है जिससे Google Home या Google Nest डिवाइस को टेस्ट किया जा रहा है.
- आपका नेटवर्क, डिवाइसों के बीच पैकेट को ब्लॉक नहीं करता.
- आपने Actions console और Google Home या Google Nest डिवाइस, दोनों पर एक ही Google खाते से लॉग इन किया हो.
- आपने अपने क्लाउड फ़ुलफ़िलमेंट में, सिंक के जवाब को अपडेट किया है.
यह
otherDeviceIds
फ़ील्ड में कम से कम एक मान्य वैल्यू दिखानी चाहिए. - आपने Actions Console में, स्कैन कॉन्फ़िगरेशन की सही जानकारी डाली हो.
अपने लोकल फ़ुलफ़िलमेंट ऐप्लिकेशन को Chrome DevTools डीबगर से कनेक्ट करने के लिए, यह तरीका अपनाएं:
Chrome
- अपने लोकल डेवलपमेंट मशीन में, Google Chrome ब्राउज़र इंस्टॉल और लॉन्च करें.
- अपने Chrome ब्राउज़र के पता फ़ील्ड में,
chrome://inspect#devices
डालकर Chrome Inspector को लॉन्च करें. आपको पेज पर डिवाइसों की सूची दिखेगी और आपकी एचटीएमएल फ़ाइल, जांच के लिए इस्तेमाल किए जा रहे Google Home या Google Nest डिवाइस के नाम के नीचे दिखेगी. - Chrome DevTools लॉन्च करने के लिए, अपने एचटीएमएल के नीचे मौजूद, नीले रंग के 'जांच करें' लिंक पर क्लिक करें. कंसोल टैब पर स्विच करें. Local Home प्लैटफ़ॉर्म, आपके ऐप्लिकेशन के वर्शन और Local Home SDK टूल के वर्शन को कंसोल लॉग में दिखाता है. अगर आपको लॉग दिखता है, तो इसका मतलब है कि Google ने आपका ऐप्लिकेशन लोड कर लिया है और उससे कनेक्ट हो गया है. अगर ऐसा नहीं होता है, तो अपने Google Home या Google Nest डिवाइस को रीबूट करें.
Node.js
- अपने लोकल डेवलपमेंट मशीन में, Google Chrome ब्राउज़र इंस्टॉल और लॉन्च करें.
- अपने टेस्ट डिवाइस का लोकल आईपी पता पता करें.
- अपने Chrome ब्राउज़र के पता फ़ील्ड में, यह लिखकर Chrome इंस्पेक्टर लॉन्च करें:
chrome://inspect#devices
. - टारगेट डिस्कवरी सेटिंग खोलने के लिए, कॉन्फ़िगर करें... चुनें.
- सूची में
DEVICE_IP_ADDRESS:9222
डालें और हो गया पर क्लिक करें. - Chrome DevTools लॉन्च करने के लिए, अपनी स्क्रिप्ट के नीचे नीले रंग की जांच वाले लिंक पर क्लिक करें. कंसोल टैब पर स्विच करें. Local Home प्लैटफ़ॉर्म, आपके ऐप्लिकेशन के वर्शन और Local Home SDK टूल के वर्शन को कंसोल लॉग में दिखाता है. अगर आपको लॉग दिखता है, तो इसका मतलब है कि Google ने आपका ऐप्लिकेशन लोड कर लिया है और उससे कनेक्ट हो गया है. अगर ऐसा नहीं होता है, तो अपने Google Home या Google Nest डिवाइस को रीबूट करें.
आपका डिवाइस किस रनटाइम का इस्तेमाल करता है, इस बारे में ज़्यादा जानकारी के लिए, काम करने वाले डिवाइस देखें.
डीबग करने के बारे में सलाह
डीबग करने के दौरान इन बातों का ध्यान रखें:
- एक ही लोकल नेटवर्क पर, एक से ज़्यादा Google Home या Google Nest डिवाइसों को अपने टेस्ट खाते से लिंक न करें. आपके पास यह कंट्रोल करने की सुविधा नहीं होगी कि लोकल ऑर्डर (ग्राहक को आइटम भेजने के लिए निर्देश) की मदद से, किस Google Home या Google Nest डिवाइस को टारगेट किया जाए.
- अपने डेवलपमेंट यूआरएल से नए कोड के साथ, स्थानीय फ़ुलफ़िलमेंट ऐप्लिकेशन कंटेनर को फिर से लोड करने के लिए, Chrome DevTools में पेज को रीफ़्रेश करें. इससे Local Home प्लैटफ़ॉर्म रीसेट नहीं होता. यह आपके स्थानीय फ़ुलफ़िलमेंट ऐप्लिकेशन में प्लैटफ़ॉर्म इंटेंट (जैसे,
IDENTIFY
) को फिर से ट्रिगर करने के लिए ज़रूरी हो सकता है. Local Home प्लैटफ़ॉर्म को रीसेट करने के लिए, अपने Google Home या Google Nest डिवाइस को रीबूट करें. - देखें कि आपका JavaScript ऐप्लिकेशन बिना किसी गड़बड़ी के लोड हो रहा है या नहीं. ऐसा करने के लिए, DevTools पेज के कंसोल सेक्शन को देखें. अगर कोई समस्या है, तो आपको
इस तरह का मैसेज दिखेगा:
Uncaught TypeError: Cannot read property ‘open’ of null.
IDENTIFY
रिस्पॉन्स में मौजूदverificationId
,SYNC
रिस्पॉन्स में मौजूद किसी एकotherDeviceIds
से मेल खाना चाहिए.EXECUTE
हैंडलर के लिए, पक्का करें कि आपके डिवाइस पर एचटीटीपी, टीसीपी या यूडीपी निर्देश पाएं जा सकते हों और वे उम्मीद के मुताबिक काम करें.- हैंडलर से
Promise
देना न भूलें. - मेमोरी में ग्लोबल स्टेटस बनाए रखने से बचें. ऐप्लिकेशन का लाइफ़साइकल देखें.
- ऑर्डर पूरा करने के लिए इस्तेमाल होने वाले आपके ऐप्लिकेशन से की गई गड़बड़ियां, आपके प्रोजेक्ट के गड़बड़ी लॉग में दिखेंगी.
प्रोडक्शन के लिए तैयार करना और लॉन्च करना
स्मार्ट होम ऐक्शन लॉन्च करने के लिए, यह तरीका अपनाएं:
- कोई टर्मिनल खोलें. अपनी प्रोजेक्ट डायरेक्ट्री में,
npm run build
कमांड चलाएं. यह निर्देश आपके ऐप्लिकेशन के लिए,dist
डायरेक्ट्री में ये JavaScript बंडल जनरेट करता है:project-directory/ └── dist ├── web │ └── bundle.js └── node └── bundle.js
- कंसोल में, डेवलप करें > कार्रवाइयां पर क्लिक करके, अपना JavaScript ऐप्लिकेशन अपलोड करें. लोकल होम SDK टूल कॉन्फ़िगर करें सेक्शन में, JavaScript फ़ाइलें अपलोड करें पर क्लिक करें.
- फ़ाइलें अपलोड करें डायलॉग में, वे बंडल फ़ाइलें अपलोड करें जिन्हें आपने पहले जनरेट किया था. बंडल फ़ाइलों के दोनों वर्शन (Node, वेब) अपलोड करना न भूलें, ताकि आपका ऐक्शन उन सभी रनटाइम एनवायरमेंट में सही तरीके से काम करे जिनमें स्थानीय तरीके से ऑर्डर पूरा करने की सुविधा काम करती है.
- Node.js को टारगेट करने वाला JavaScript अपलोड करना:
dist/node
डायरेक्ट्री सेbundle.js
फ़ाइल अपलोड करें. - Chrome (ब्राउज़र) को टारगेट करने वाला JavaScript कोड अपलोड करें:
dist/web
डायरेक्ट्री सेbundle.js
फ़ाइल अपलोड करें.
- Node.js को टारगेट करने वाला JavaScript अपलोड करना:
- Assistant की सुविधा वाले डिवाइस पर अपनी कार्रवाई की जांच करें, ताकि यह पुष्टि की जा सके कि वह प्रोडक्शन एनवायरमेंट में उम्मीद के मुताबिक काम करती है या नहीं. ज़्यादा जानने के लिए, अपने स्मार्ट होम ऐक्शन की जांच करना और उन्हें शेयर करना देखें.
- जब आपको यह पक्का हो जाए कि आपकी कार्रवाई सही तरीके से काम कर रही है, तो अपना स्मार्ट होम ऐक्शन लॉन्च करें में दिए गए निर्देशों का पालन करके, उसे Google को सबमिट करें, ताकि उसे प्रोडक्शन में डिप्लॉय किया जा सके. इसमें खुद की जांच करने और सर्टिफ़िकेशन का अनुरोध करने के चरण पूरे करने शामिल हैं.