स्मार्ट होम ऐक्शन बनाने का तरीका सीखने के लिए, Google Home डेवलपर सेंटर में आपका स्वागत है. ध्यान दें: आप Actions कंसोल में कार्रवाइयां बनाना जारी रखेंगे.

स्थानीय वाहन बेचने का तरीका

संग्रह की मदद से व्यवस्थित रहें अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.

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

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

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

बिल्डिंग शुरू करें सैंपल आज़माकर देखें

इसके काम करने का तरीका समझना

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

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

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

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

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

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

वाहन बेचने का स्थानीय ऐप्लिकेशन

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

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

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

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

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

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

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

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

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

समर्थित डिवाइस

स्थानीय होम प्लैटफ़ॉर्म, 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

एक्ज़ीक्यूशन का परिवेश

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

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

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

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

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

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

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

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