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

इंटिग्रेशन की गड़बड़ियों को हल करना

Google Cloud आपको Google Cloud Monitoring के साथ अपने प्रोजेक्ट की विश्वसनीयता पर नज़र रखने और Google Cloud Logging गड़बड़ी लॉग से जुड़ी समस्याओं को डीबग करने के लिए टूल देता है. जब भी उपयोगकर्ता के इंटेंट को पूरा करते समय कोई गड़बड़ी होती है, तब Google Home Analytics पाइपलाइन आपकी मेट्रिक की असफलता को रिकॉर्ड करती है और आपके प्रोजेक्ट लॉग में एक गड़बड़ी लॉग पब्लिश करती है.

गड़बड़ियों को ठीक करने के दो तरीके हैं:

  1. स्मार्ट होम मेट्रिक की मदद से, अपने प्रोजेक्ट की स्थिति पर नज़र रखें.
  2. गड़बड़ी के लॉग में जाकर, गड़बड़ी की पूरी जानकारी देखें.

यह प्रक्रिया Local Home SDK का इस्तेमाल करके, स्थानीय इंटिग्रेशन की तरह ही है. समस्या हल करने वाले फ़्लो में महारत हासिल करने के बाद, गड़बड़ियों और इनसाइट के बारे में इनसाइट पाने के लिए, मेट्रिक और लॉग के बीच आसानी से जाएं.

गड़बड़ियों की निगरानी करना

अपने प्रोजेक्ट की मेट्रिक ऐक्सेस करने के लिए, Google Cloud Monitoring dashboards का इस्तेमाल किया जा सकता है. कुछ ऐसे मुख्य चार्ट हैं जो क्वालिटी और डीबग करने की निगरानी के लिए खास तौर पर मददगार हैं:

  • सफलता की दर चार्ट वह पहला चार्ट है जो आपके प्रोजेक्ट की विश्वसनीयता पर नज़र रखते हुए शुरू करता है. इस चार्ट में होने वाली गिरावट की वजह से, हो सकता है कि उपयोगकर्ता के किसी हिस्से या पूरे उपयोगकर्ता आधार को कुछ समय के लिए उपलब्ध न कराया जाए. हमारा सुझाव है कि हर बदलाव के बाद या अपने प्रोजेक्ट में कोई बदलाव होने पर, इस चार्ट की बारीकी से निगरानी करें.
  • 95वां पर्सेंटाइल में इंतज़ार का समय चार्ट, आपके उपयोगकर्ताओं की स्मार्ट होम कार्रवाई की परफ़ॉर्मेंस को दिखाने वाला एक अहम संकेत है. इस चार्ट में अचानक होने वाले उतार-चढ़ाव यह बताते हैं कि आपके सिस्टम, अनुरोधों को पूरा नहीं कर पा रहे हैं. समय-समय पर यह चार्ट देखने का सुझाव दिया जाता है कि इससे कोई अनचाहा व्यवहार तो नहीं होता.
  • अपने इंटिग्रेशन से जुड़ी समस्याओं को हल करते समय, गड़बड़ी के ब्रेकडाउन चार्ट सबसे ज़्यादा मददगार होते हैं. सक्सेस प्रतिशत चार्ट में हाइलाइट की गई हर गड़बड़ी के लिए, गड़बड़ी के ब्रेकडाउन में एक गड़बड़ी कोड दिखाया जाता है. नीचे दी गई टेबल में उन गड़बड़ियों को देखा जा सकता है जिन्हें Google Home platform ने फ़्लैग किया है. साथ ही, उन्हें हल करने का तरीका भी देखा जा सकता है.

प्लैटफ़ॉर्म के गड़बड़ी कोड

यहां कुछ ऐसे गड़बड़ी के कोड दिए गए हैं जो आपको अपने प्रोजेक्ट लॉग में दिख सकते हैं. ये कोड ऐसी समस्याओं की पहचान करने में आपकी मदद करते हैं जो Google Home platform ने पकड़ी हैं. समस्या हल करने से जुड़ी जानकारी के लिए, कृपया यह टेबल देखें.

गड़बड़ी कोड ब्यौरा
BACKEND_FAILURE_URL_ERROR Google को आपकी सेवा के लिए 401 के अलावा एचटीटीपी 4xx गड़बड़ी कोड मिला है.

GCP लॉगिंग में requestId का इस्तेमाल करें, ताकि आप अपने स्मार्ट होम सर्विस लॉग देख सकें.
BACKEND_FAILURE_URL_UNREACHABLE Google को आपकी सेवा से एचटीटीपी 5xx गड़बड़ी का कोड मिला है.

GCP लॉगिंग में requestId का इस्तेमाल करें, ताकि आप अपने स्मार्ट होम सर्विस लॉग देख सकें.
GAL_BAD_3P_RESPONSE Google, पेलोड में अमान्य फ़ॉर्मैट या वैल्यू होने की वजह से, आपके खाते को लिंक करने वाली सेवा से मिलने वाले रिस्पॉन्स को पार्स नहीं कर सकता.

अपने खाते को लिंक करने वाली सेवा में गड़बड़ी के लॉग की जांच करने के लिए, GCP लॉगिंग में requestId का इस्तेमाल करें.
GAL_INTERNAL Google के ज़रिए ऐक्सेस टोकन हासिल करने की कोशिश करते समय Google अंदरूनी गड़बड़ी हुई.

अगर आपको GCP लॉगिंग में इस गड़बड़ी की दर में बढ़ोतरी दिखती है, तो ज़्यादा जानकारी के लिए हमसे संपर्क करें.
GAL_INVALID_ARGUMENT Google के ज़रिए ऐक्सेस टोकन हासिल करने की कोशिश करते समय Google अंदरूनी गड़बड़ी हुई.

अगर आपको GCP लॉगिंग में इस गड़बड़ी की दर में बढ़ोतरी दिखती है, तो ज़्यादा जानकारी के लिए हमसे संपर्क करें.
GAL_NOT_FOUND उपयोगकर्ता के ऐक्सेस टोकन और Google में सेव किए गए रीफ़्रेश टोकन अमान्य हो गए हैं. इन्हें अब रीफ़्रेश नहीं किया जा सकता. सेवा का इस्तेमाल जारी रखने के लिए, उपयोगकर्ता को अपना खाता फिर से लिंक करना होगा.

अगर आपको GCP लॉगिंग में इस गड़बड़ी की दर में बढ़ोतरी दिखती है, तो ज़्यादा जानकारी के लिए हमसे संपर्क करें.
GAL_PERMISSION_DENIED टोकन शेयर करने की अनुमति न होने की वजह से, Google को अंदरूनी गड़बड़ी हुई.

अगर आपको GCP लॉगिंग में इस गड़बड़ी की दर में बढ़ोतरी दिखती है, तो ज़्यादा जानकारी के लिए हमसे संपर्क करें.
GAL_REFRESH_IN_PROGRESS उपयोगकर्ता के ऐक्सेस टोकन की समयसीमा खत्म हो गई है और उसे रीफ़्रेश करने के लिए एक साथ कोशिश की जा रही है.

यह कोई समस्या नहीं है और किसी कार्रवाई की ज़रूरत नहीं है.
INVALID_AUTH_TOKEN Google को आपकी सेवा से HTTP 401 गड़बड़ी कोड मिला है.

ऐक्सेस टोकन की समयसीमा खत्म नहीं हुई है और आपकी सेवा ने उसे अमान्य कर दिया है. स्मार्ट होम सर्विस लॉग की जांच करने के लिए, GCP लॉगिंग में requestId का इस्तेमाल करें.
INVALID_JSON JSON के रिस्पॉन्स को पार्स या समझा नहीं जा सका.

अमान्य सिंटैक्स के लिए, अपने JSON के स्ट्रक्चर की जांच करें. जैसे, मेल न खाने वाले ब्रैकेट, कॉमा, अमान्य वर्ण.
OPEN_AUTH_FAILURE उपयोगकर्ता के ऐक्सेस टोकन की समयसीमा खत्म हो गई है. Google इसे रीफ़्रेश नहीं कर पा रहा है. इसके अलावा, Google को आपकी सेवा से एचटीटीपी 401 गड़बड़ी का कोड मिला है.

अगर इस कोड की दर में बढ़ोतरी होती है, तो यह पता करें कि क्या आपको स्मार्ट होम इंटेंट से जुड़ी गड़बड़ियों की दर में बढ़ोतरी या टोकन के अनुरोध रीफ़्रेश करने की सुविधा मिल रही है.
PARTNER_RESPONSE_INVALID_ERROR_CODE जवाब से पता चलता है कि कोई गड़बड़ी कोड मिला है.

अगर आपके अनुरोध के जवाब में किसी गड़बड़ी के बारे में बताया गया है, तो पक्का करें कि हमारे गड़बड़ी कोड में दिए गए कोड का इस्तेमाल किया जा रहा हो.
PARTNER_RESPONSE_INVALID_PAYLOAD रिस्पॉन्स payload फ़ील्ड को JSON ऑब्जेक्ट के तौर पर पार्स नहीं किया जा सकता.

जांच लें कि आपके अनुरोध के जवाब में पेलोड फ़ील्ड, ब्रैकेट में मौजूद है या नहीं. साथ ही, यह भी देखें कि JSON फ़ील्ड के तौर पर सही तरीके से सेट किया गया है या नहीं.
PARTNER_RESPONSE_INVALID_STATUS जवाब की वजह से, स्थिति के बारे में पता नहीं चलता या गलत स्थिति दिखती है.

इंटेंट पूरा करने के अनुरोधों के जवाब में, SUCCESS, OFFLINE, ERROR, EXCEPTIONS के साथ स्थिति दिखनी चाहिए. गड़बड़ियों को ठीक करने और अपवादों के बारे में जानने के बारे में ज़्यादा जानकारी यहां उपलब्ध है.
PARTNER_RESPONSE_MISSING_COMMANDS_AND_DEVICES अनुरोध में मौजूद एक या एक से ज़्यादा इंटेंट, जवाब में मौजूद नहीं हैं.

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

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

पक्का करें कि आपने अनुरोध के जवाब में पेलोड फ़ील्ड को शामिल किया हो. एक्ज़ीक्यूशन रिस्पॉन्स को सही तरीके से बनाने के तरीके के बारे में ज़्यादा जानें.
PARTNER_RESPONSE_NOT_OBJECT रिस्पॉन्स को JSON ऑब्जेक्ट के तौर पर पार्स नहीं किया जा सकता.

अपने अनुरोध के जवाब में सभी फ़ील्ड में अनचाहे वर्णों, मेल न खाने वाले ब्रैकेट या फ़ॉर्मैटिंग की गड़बड़ियों की जांच करें. हो सकता है कि कुछ यूनिकोड वर्णों का इस्तेमाल न किया जा सके. साथ ही, यह पक्का करें कि आपका जवाब JSON ऑब्जेक्ट के तौर पर सही तरीके से स्ट्रक्चर्ड किया गया हो.
RESPONSE_TIMEOUT जवाब का इंतज़ार करते समय समय खत्म हो गया.

जवाब भेजने के लिए लगने वाले समय की जानकारी, अनुरोध भेजे जाने के नौ सेकंड बाद होती है. पक्का करें कि इस समयसीमा के अंदर आपको जवाब भेज दिया जाए.
RESPONSE_UNAVAILABLE कोई जवाब नहीं मिला या जवाब से स्थिति का पता नहीं चलता.

इंटेंट पूरा करने के अनुरोधों का जवाब, स्मार्ट होम दस्तावेज़ के हिसाब से दिया जाना चाहिए. साथ ही, स्टेटस के बारे में भी बताया जाना चाहिए.

खोज लॉग

मेट्रिक के ज़रिए अपने इंटिग्रेशन को मॉनिटर करने के बाद, Cloud Logging का इस्तेमाल करके गड़बड़ियों को ठीक करें. गड़बड़ी का लॉग, JSON जैसी एंट्री होती है. इसमें, फ़ील्ड में समय, गड़बड़ी कोड, और स्मार्ट होम के मकसद से जुड़ी जानकारी जैसी जानकारी मौजूद होती है.

Google Cloud में ऐसे कई सिस्टम हैं जो हर समय आपके प्रोजेक्ट को लॉग भेजते हैं. आपको अपने लॉग फ़िल्टर करने के लिए क्वेरी लिखनी होंगी और अपनी ज़रूरत की क्वेरी ढूंढें. क्वेरी को समयसीमा, संसाधन, गंभीरता या पसंद के मुताबिक एंट्री पर आधारित हो सकता है.

क्वेरी क्लाउड लॉग

कस्टम फ़िल्टर बनाने में मदद पाने के लिए, क्वेरी बटन का इस्तेमाल किया जा सकता है.

क्लाउड लॉग क्वेरी बनाना

समयसीमा बताने के लिए, समयसीमा चुनने वाले बटन पर क्लिक करें और दिए गए विकल्पों में से कोई एक चुनें. इससे लॉग को फ़िल्टर किया जाएगा और उन लॉग को दिखाया जाएगा जो चुनी गई समयसीमा में शुरू होंगे.

संसाधन तय करने के लिए, संसाधन ड्रॉपडाउन पर क्लिक करें. इसके बाद, Google Assistant कार्रवाई प्रोजेक्ट चुनें. इससे आपकी क्वेरी से आपके प्रोजेक्ट से शुरू होने वाले लॉग देखने में मदद मिलती है.

गंभीरता बटन का इस्तेमाल करके इमरजेंसी, जानकारी, डीबग, और दूसरे गंभीरता लॉग के हिसाब से फ़िल्टर करें.

कस्टम एंट्री डालने के लिए, Logs Explorer में क्वेरी फ़ील्ड का भी इस्तेमाल किया जा सकता है. इस फ़ील्ड में इस्तेमाल किया जाने वाला क्वेरी इंजन, स्ट्रिंग मैचिंग जैसी सामान्य क्वेरी और ज़्यादा बेहतर क्वेरी, दोनों का इस्तेमाल करता है. इनमें तुलना करने वाले लोग (<, >=, !=) और बूलियन ऑपरेटर (AND, OR, NOT) शामिल हैं.

उदाहरण के लिए, नीचे दी गई कस्टम एंट्री में ऐसी गड़बड़ियां दिखेंगी जो LIGHT डिवाइस टाइप से आती हैं:

resource.type = "assistant_action_project" AND severity = ERROR AND jsonPayload.executionLog.executionResults.actionResults.device.deviceType = "LIGHT"

लॉग को क्वेरी करने के ज़्यादा उदाहरण पाने के लिए, क्वेरी लाइब्रेरी पर जाएं.

जांच के सुधार

गड़बड़ियों की पहचान करने और उन्हें ठीक करने के लिए अपडेट लागू करने के बाद, हमारा सुझाव है कि आप Google Home Test Suite पर जाकर, ठीक की गई समस्याओं को अच्छी तरह जांचें. हमने उपयोगकर्ताओं को Test Suite इस्तेमाल करने के तरीके के बारे में जानकारी दी है. इनकी मदद से, बदलावों को बेहतर तरीके से जांचा जा सकता है.

सीखने के लिए संसाधन

इस दस्तावेज़ में, स्मार्ट होम ऐक्शन से जुड़ी गड़बड़ियों को ठीक करने का तरीका बताया गया है. आप डीबग करने के बारे में ज़्यादा जानने के लिए, हमारे कोडलैब (कोड बनाना सीखना) भी देख सकते हैं: