सैंपल ऐप्लिकेशन
अगर आपको Home API का इस्तेमाल करते समय कोई समस्या आती है, तो डीबग करने के लिए लॉग इकट्ठा किए जा सकते हैं. मोबाइल डिवाइस से लॉग इकट्ठा करने के लिए, Xcode की ज़रूरत होती है. अगर आपको Google से मदद चाहिए, तो iOS डिवाइस और हब, दोनों से लॉग इकट्ठा करें. इसके बाद, समस्या ट्रैकर में टिकट खोलें. इसमें समस्या से जुड़ी ज़रूरी जानकारी और लॉग शामिल करें.
iOS लॉग इकट्ठा करना
Xcode से जुड़े सभी चरणों के लिए, आपके मोबाइल डिवाइस का आपकी लोकल मशीन से कनेक्ट होना ज़रूरी है.
ऐप्लिकेशन के लॉग और एसडीके के लॉग, सीधे तौर पर Xcode कंसोल में दिखते हैं और उन्हें इकट्ठा किया जा सकता है. जब आपका मोबाइल डिवाइस, आपकी लोकल मशीन से कनेक्ट होता है और Xcode के ज़रिए ऐप्लिकेशन चलाया जाता है, तब कंसोल, ऐप्लिकेशन लेयर और इंटिग्रेट किए गए Home SDK टूल, दोनों से स्टैंडर्ड आउटपुट (stdout) और स्टैंडर्ड एरर (stderr) लॉग अपने-आप कैप्चर और स्ट्रीम करता है. इससे डेवलपमेंट और डीबग करने के दौरान, रीयल-टाइम में शुरू होने वाली प्रोसेस, एपीआई इंटरैक्शन, और एसडीके इवेंट को मॉनिटर करने का आसान तरीका मिलता है.
Xcode से एक्सटेंशन के लॉग इकट्ठा करना
अगर आपको Home API का इस्तेमाल करते समय कोई समस्या आती है, तो आगे की डीबगिंग के लिए लॉग इकट्ठा किए जा सकते हैं.
Xcode में, सबसे ऊपर मौजूद मेन्यू बार में Debug पर जाएं. इसके बाद, Attach to Process by PID or Name पर क्लिक करें.

PID या प्रोसेस का नाम में जाकर, MatterExtension चुनें और अटैच करें पर क्लिक करें.

सबसे ऊपर दाईं ओर क्लिक करने पर, आपको iPhone पर MatterAddDeviceExtension से अटैच होने का इंतज़ार किया जा रहा है दिखेगा.

टैब पर क्लिक करें और MatterAddExtension चुनें.

कंसोल, एक्सटेंशन लॉग को लॉग करेगा.
Sherlog: क्रॉस-स्टैक इवेंट ट्रेसिंग
Sherlog, रीयल-टाइम में ट्रेस करने वाली सेवा है. यह Google के इंफ़्रास्ट्रक्चर और पार्टनर की क्लाउड सेवाओं के बीच होने वाले इंटरैक्शन की पूरी जानकारी देती है.
ज़रूरी शर्त: ट्रेसिंग के लिए, शेयर किए गए ऐसे खाते का इस्तेमाल करना ज़रूरी है जिसे Google मैनेज करता है. जैसे, GReg में रजिस्टर किया गया खाता या डेमो खाता.
मुख्य मकसद: प्रोडक्शन कोड में बदलाव किए बिना, फ़ंक्शन से जुड़ी गड़बड़ियों और क्लाउड-टू-क्लाउड (C2C) इंटिग्रेशन की समस्याओं को ठीक करना. जैसे, खाते को लिंक करने में समस्याएं या डिवाइस की गलत स्थितियां.
सुविधाएं: यह SYNC, EXECUTE, QUERY, और खाता लिंक करने के इंटेंट के लिए, आरपीसी कॉल के पूरे ग्राफ़, अनुरोध/जवाब के पेलोड, और मेटाडेटा उपलब्ध कराता है.
Fuchsia हब डिवाइस के लॉग
इस तरीके का इस्तेमाल करके, इन Fuchsia हब से लॉग इकट्ठा किए जा सकते हैं: * Google Nest Hub (2nd gen) * Google Nest Hub Max
स्थानीय लॉग वापस पाने के लिए हब चालू करने का तरीका:
- अपने डिवाइसों का सीरियल नंबर और मॉडल, अपने Google के तकनीकी खाता मैनेजर (टीएएम) को ईमेल करें. ये डिवाइस के नीचे छोटे अक्षरों में लिखे होते हैं.
- अगर आपको अनुमति मिल गई है, तो इस सुविधा को चालू करने के लिए यह तरीका अपनाएं:
- हब से:
- स्क्रीन पर सबसे ऊपर से नीचे की ओर स्वाइप करें
- सेटिंग आइकॉन पर टैप करें
- Fuchsia का वर्शन ढूंढना: Nest Hub (2nd gen) पर, डिवाइस की जानकारी > तकनीकी जानकारी > Fuchsia का वर्शन पर जाएं
- "Fuchsia वर्शन" पर सात बार टैप करें. इससे डेवलपर के लिए सेटिंग और टूल चालू हो जाएंगे
- टॉप-लेवल मेन्यू पर वापस जाएं
- "डेवलपर के लिए सेटिंग और टूल" पर टैप करें
- "पार्टनर के साथ लॉगिंग" पर टैप करें
- यह सुविधा 24 घंटे के लिए चालू हो जाएगी. इसके बाद, पांचवें चरण से लॉगिंग की सुविधा को फिर से चालू करें.
- हब से:
- अपने हब का आईपी पता पाएं:
- अगर हब में स्क्रीन है, तो हब से:
- स्क्रीन पर सबसे ऊपर से नीचे की ओर स्वाइप करें
- सेटिंग आइकॉन पर टैप करें
- डिवाइस का आईपी पता ढूंढें: Nest Hub (2nd gen) पर, डिवाइस की जानकारी > तकनीकी जानकारी > आईपी पता पर जाएं
- अपने फ़ोन पर Google Home ऐप्लिकेशन (GHA) से:
- डिवाइस की ज़्यादा जानकारी वाला पेज खोलने के लिए, डिवाइस पर टैप करें
- सेटिंग पेज खोलने के लिए, सेटिंग आइकॉन पर टैप करें
- डिवाइस का आईपी पता ढूंढें: डिवाइस की जानकारी > तकनीकी जानकारी > आईपी पता पर जाएं
- अगर हब में स्क्रीन है, तो हब से:
- हब से लॉग पाने के लिए, आपको उसी वाई-फ़ाई नेटवर्क से जुड़े कंप्यूटर से हब को GET एचटीटीपी अनुरोध भेजना होगा.
- एंडपॉइंट का पोर्ट और पाथ नोट करें:
curl -k -X GET https://ip-address:8443/setup/get_logs --output output-file - कनेक्शन को सिर्फ़ एक मिनट के लिए खुला रखा जा सकता है. हालांकि, बफ़र से वापस लाए गए डेटा में, आम तौर पर 20 से 30 मिनट पहले के इवेंट शामिल होते हैं.
- आमतौर पर, इस तरीके का इस्तेमाल करके लॉग तब निकाले जाते हैं, जब टेस्ट की प्रक्रिया पूरी हो जाती है. इससे यह पक्का किया जा सकता है कि बफ़र में टेस्ट से जुड़ा कॉन्टेंट मौजूद है. यह Android की गड़बड़ी की रिपोर्ट की तरह ही होता है.
- एंडपॉइंट का पोर्ट और पाथ नोट करें:
ऑटोमेशन
किनारों का पता लगाना
Google Home के ईकोसिस्टम में मौजूद ऑटोमेशन की सुविधा में एज डिटेक्शन की सुविधा होती है. यह एक ऐसा लॉजिक है जो यह पुष्टि करता है कि स्टार्टर सिर्फ़ तब चालू होता है, जब डिवाइस की स्थिति में कोई बदलाव होता है. यह डिवाइस की स्थिति को अपडेट करने के बजाय, डिवाइस की पिछली स्थिति को दोहराता है.
उदाहरण के लिए, अगर लाइट चालू करना एक स्टार्टर है, तो एज डिटेक्शन यह पुष्टि करता है कि स्टार्टर सिर्फ़ तब चालू होता है, जब लाइट डिवाइस बंद से चालू होता है. ऐसा तब नहीं होता, जब लाइट डिवाइस चालू से चालू होता है (कोई बदलाव नहीं).
ऑटोमेशन की सुविधा उम्मीद के मुताबिक काम नहीं कर रही है
किनारे का पता लगाने की सुविधा को ध्यान में रखने के बाद, अगर कोई ऑटोमेशन आपकी उम्मीद के मुताबिक काम नहीं करता है, तो:
हर डिवाइस की जांच करें, ताकि यह पक्का किया जा सके कि वह ऑटोमेशन से अलग, सही तरीके से काम कर रहा है.
अपने ऑटोमेशन के लिए ऑटोमेशन ग्राफ़ देखें. इसकी तुलना अपने ऑटोमेशन डीएसएल से करें, ताकि आपको अपनी ओर से की गई किसी भी संभावित गलत धारणा के बारे में पता चल सके.
ऑटोमेशन के चालू होने के दौरान, Google Home ऐप्लिकेशन में डिवाइस की स्थिति देखें.
जांच करें कि ऑटोमेशन में शामिल किए गए सभी डिवाइस, उस स्ट्रक्चर में मौजूद हों जहां आपको उन्हें रखना है. ऑटोमेशन के लिए इस्तेमाल किए जा रहे डिवाइस को मिटाने से, अनचाहे नतीजे मिल सकते हैं. डिवाइस मिटाने का ऑटोमेशन पर पड़ने वाला असर देखें.
ऑटोमेशन तब चलता है, जब उसे नहीं चलना चाहिए
अगर ऑटोमेशन तब चलता है, जब उसे नहीं चलना चाहिए, तो ऑटोमेशन शुरू होने की शर्तों की जांच करें. यह पक्का करने के लिए कि स्थिति में बदलाव सिर्फ़ एक बार कैप्चर हो और ऑटोमेशन सिर्फ़ एक बार ट्रिगर हो, अतिरिक्त लॉजिक जोड़ना ज़रूरी हो सकता है.
ऑटोमेशन कंपाइल नहीं होता
पक्का करें कि आपके ऐप्लिकेशन में सभी ज़रूरी इंपोर्ट शामिल हों. इनमें अलग-अलग नोड टाइप के साथ-साथ, उन विशेषताओं से जुड़ी हर क्लास भी शामिल है जिनका इस्तेमाल किया जा रहा है.
ऑटोमेशन बनाने के दौरान पुष्टि नहीं हो सकी
अगर ऑटोमेशन बनाने की प्रोसेस में पुष्टि नहीं हो पाती है, तो चेतावनी या गड़बड़ी के मैसेज में समस्या के बारे में जानकारी दी जाती है. ज़्यादा जानकारी के लिए, ValidationIssueType रेफ़रंस देखें.
OAuth
अगर आपके पास पहले से कोई OAuth क्लाइंट है
अगर आपके पास पब्लिश किए गए ऐप्लिकेशन के लिए, पुष्टि किया गया OAuth क्लाइंट पहले से मौजूद है, तो Home API को टेस्ट करने के लिए, अपने मौजूदा OAuth क्लाइंट का इस्तेमाल किया जा सकता है.
Home API को टेस्ट करने और उनका इस्तेमाल करने के लिए, Google Home Developer Console रजिस्टर करने की ज़रूरत नहीं है. हालांकि, आपको अपना ऐप्लिकेशन पब्लिश करने के लिए, Developer Console का मंज़ूरी पा चुका रजिस्ट्रेशन अब भी चाहिए होगा. भले ही, आपके पास किसी दूसरे इंटिग्रेशन से पुष्टि किया गया OAuth क्लाइंट हो.
इन बातों का ध्यान रखें:
मौजूदा OAuth क्लाइंट का इस्तेमाल करने पर, ज़्यादा से ज़्यादा 100 उपयोगकर्ता हो सकते हैं. टेस्ट उपयोगकर्ता जोड़ने के बारे में जानकारी के लिए,OAuth क्लाइंट आईडी जनरेट करना लेख पढ़ें. OAuth की पुष्टि से अलग, Home APIs ने उन उपयोगकर्ताओं की संख्या पर सीमा तय की है जो आपके ऐप्लिकेशन को अनुमतियां दे सकते हैं. यह सीमा 100 उपयोगकर्ताओं की है. Developer Console के लिए रजिस्टर करने के बाद, यह पाबंदी हटा दी जाती है.
Developer Console रजिस्ट्रेशन को मंज़ूरी के लिए तब भेजा जाना चाहिए, जब आपको OAuth के ज़रिए डिवाइस टाइप के हिसाब से अनुमतियां देने पर पाबंदी लगानी हो. ऐसा इसलिए किया जाता है, ताकि Home API के साथ अपने ऐप्लिकेशन को अपडेट किया जा सके.
जिन Google Cloud ऐप्लिकेशन की OAuth पुष्टि अब भी बाकी है उनके लिए, उपयोगकर्ता पुष्टि पूरी होने तक OAuth फ़्लो पूरा नहीं कर सकते. अनुमतियां देने की कोशिश करने पर, यह गड़बड़ी दिखेगी:
Access blocked: <Project Name> has not completed the Google verification process.