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

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

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

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

कंसोल, एक्सटेंशन लॉग को लॉग करेगा.
Sherlog: क्रॉस-स्टैक इवेंट ट्रेसिंग
Sherlog, रीयल-टाइम में ट्रेस करने की सेवा है. यह Google के इंफ़्रास्ट्रक्चर और पार्टनर की क्लाउड सेवाओं के बीच होने वाले इंटरैक्शन की पूरी जानकारी देती है.
ज़रूरी शर्त: ट्रेसिंग के लिए, शेयर किए गए और Google के साथ कोऑर्डिनेट किए गए खाते का इस्तेमाल करना ज़रूरी है. उदाहरण के लिए, GReg-रजिस्टर किया गया या डेमो खाता.
मुख्य मकसद: प्रोडक्शन कोड में बदलाव किए बिना, फ़ंक्शन से जुड़ी गड़बड़ियों और क्लाउड-टू-क्लाउड (C2C) इंटिग्रेशन से जुड़ी समस्याओं को डीबग करना. जैसे, खाता लिंक न हो पाना या डिवाइस की गलत स्थितियां.
Capabilities: यह SYNC, EXECUTE, QUERY, और खाते को लिंक करने के इंटेंट के लिए, आरपीसी कॉल ग्राफ़, अनुरोध/जवाब के पेलोड, और मेटाडेटा की पूरी जानकारी देता है.
Fuchsia Hub डिवाइस लॉग
इस तरीके का इस्तेमाल करके, इन 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 API के तहत आपके ऐप्लिकेशन को अनुमति देने वाले उपयोगकर्ताओं की संख्या 100 तक सीमित है. Developer Console रजिस्ट्रेशन पूरा होने पर, यह सीमा हटा दी जाती है.
Developer Console registration को मंज़ूरी के लिए तब भेजें, जब आप OAuth के ज़रिए डिवाइस टाइप के हिसाब से अनुमतियों को सीमित करने के लिए तैयार हों. ऐसा Home API की मदद से अपने ऐप्लिकेशन को अपडेट करने की तैयारी के लिए किया जाता है.
Google Cloud के जिन ऐप्लिकेशन की OAuth से पुष्टि होना बाकी है उनके लिए, उपयोगकर्ता OAuth की प्रोसेस को तब तक पूरा नहीं कर सकते, जब तक पुष्टि की प्रोसेस पूरी नहीं हो जाती. अनुमतियां देने की कोशिश करने पर, यह गड़बड़ी दिखेगी:
Access blocked: <Project Name> has not completed the Google verification process.