जब डिवाइस या अनुरोध उम्मीद के मुताबिक काम नहीं करते हैं, तो यह ज़रूरी है कि आप उपयोगकर्ताओं को गड़बड़ी से जुड़ी सही देखरेख और बातचीत करें, ताकि वे समझ सकें कि क्या हुआ और जब भी संभव हो, उसे कैसे ठीक किया जा सके. पक्का करें कि काम न कर पाने की परिस्थितियां दिखाई हों और आपका डिवाइस जवाब कैसे दे, अगर कोई उपयोगकर्ता जारी काम में रुकावट डालता है? क्या होता है जब कोई उपयोगकर्ता ऑफ़लाइन होने पर किसी डिवाइस से कोई कार्रवाई करने का अनुरोध करता है? इन समस्याओं की योजना बनाने और उन्हें अपने उपयोगकर्ताओं को ठीक करने में मदद करने से उपयोगकर्ता को परेशान होने से बचाया जा सकता है और आपके डिवाइस के लिए बेहतर क्वालिटी वाला अनुभव मिलता है.
इस गाइड में इंटेंट रिस्पॉन्स के कुछ ऐसे उदाहरण दिए गए हैं जिनमें गड़बड़ियों को ठीक किया जाता है. गड़बड़ी और अपवादों के लिए मान्य errorCode
मानों की समीक्षा करने के लिए गड़बड़ियां और अपवाद देखें.
उदाहरण 1: EXECUTE
इंटेंट के लिए गड़बड़ी का जवाब
असली उपयोगकर्ता के पास लिविंग रूम में दो स्मार्ट लाइटें और इंस्टॉल की गई लाइटें होती हैं. उपयोगकर्ता
ने "लिविंग रूम की लाइट जलाओ" निर्देश दिया और Google ने आपके ऑर्डर के फ़ुल ऑर्डर में शामिल होने के EXECUTE
का न्योता भेजा. आपने देखा कि उपयोगकर्ता के डिवाइस ऑफ़लाइन हैं और उन्हें कंट्रोल नहीं किया जा सकता. इसलिए, आपका ऑर्डर status
ERROR
और errorCode
deviceOffline
के साथ
EXECUTE
जवाब देगा.
इस उदाहरण में बताया गया है कि लाइट डिवाइस से
errorCode
के साथ EXECUTE
रिस्पॉन्स कैसे मिले, जैसा कि पहले बताया गया है:
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [ { "ids": [ "light-device-id-1" ], "status": "ERROR", "errorCode": "deviceOffline" }, { "ids": [ "light-device-id-2" ], "status": "ERROR", "errorCode": "deviceOffline" } ] } }
जवाब मिलने के बाद, Google Assistant से उपयोगकर्ता को "इस समय डिवाइस उपलब्ध नहीं होगा" दिखेगा. याद रखें कि EXECUTE
के जवाब में errorCode
deviceOffline
भेजने के बाद भी आपको रिपोर्ट की स्थिति में डिवाइस के लिए ऑफ़लाइन स्थिति भेजनी होगी.
उदाहरण 2: EXECUTE
इंटेंट के लिए ब्लॉक न किया जाने वाला अपवाद
उपयोगकर्ता के डिवाइस पर Assistant का इस्तेमाल करके, अपने Smart Lock को सामने के दरवाज़े पर लॉक करने की कोशिश की जाती है. आप उनके लॉक को सफलतापूर्वक नियंत्रित कर सकते हैं और
आपको लगता है कि डिवाइस की बैटरी कम है, इसलिए आपकी संतुष्टि status
SUCCESS
और exceptionCode
lowBattery
के साथ EXECUTE
जवाब देती है.
इस उदाहरण में, लॉक डिवाइस से exceptionCode
के ज़रिए EXECUTE
जवाब भेजने का तरीका बताया गया है, जैसा कि पहले बताया गया है:
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [{ "ids": ["lock-device-id-1"], "status": "SUCCESS", "states": { "on": true, "online": true, "isLocked": true, "isJammed": false, "exceptionCode": "lowBattery" } }] } }
जवाब मिलने के बाद, Assistant का अनुरोध होगा कि डिवाइस की बैटरी कम हो.
उदाहरण 3: अपने-आप होने वाली गड़बड़ी की सूचनाएं
कुछ मामलों में, उपयोगकर्ताओं को गड़बड़ी के बारे में चेतावनी देने से मदद मिल सकती है. खास तौर पर, ऐसी सुविधाएं जिन्हें उपयोगकर्ता अपने-आप पूरा करने की उम्मीद करते हैं. जिन एट्रिब्यूट में अपने-आप मिलने वाली सूचनाओं की सुविधा होती है उनके लिए, उपयोगकर्ता को पहले से सूचना दी जा सकती है. ऐसा तब होता है, जब smart home बेहतर सूचनाएं लागू की गई हों.
एक स्मार्ट ड्रायर चल रहा है और कोई व्यक्ति साइकल पूरा होने से पहले दरवाज़ा खोल देता है.
अपने-आप मिलने वाली सूचना भेजने के लिए, Google Home Graph एपीआई
reportStateAndNotifications
का इस्तेमाल किया जा सकता है
errorCode
:
इस उदाहरण में बताया गया है कि errorCode
के साथ, ड्रायर डिवाइस से अपने-आप मिलने वाली सूचना को कैसे भेजा जाता है. इसके बारे में यहां बताया गया है:
POST https://homegraph.googleapis.com/v1/devices:reportStateAndNotification
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "agentUserId": "agent-user-id", "eventId": "unique-event-id", "payload": { "devices": { "notifications": { "dryer-device-id": { "RunCycle": { "priority": 0, "status": "FAILURE", "errorCode": "deviceDoorOpen" } } }, "states": { "dryer-device-id": { "isRunning": false, "isPaused": true } } } } }
सूचना मिलने के बाद, Assistant से उपयोगकर्ता को "डिवाइस का दरवाज़ा खोला गया" दिखेगा. एक ही पेलोड में सूचनाओं के साथ, आप इससे जुड़े डिवाइस की स्थिति भेज सकते हैं.
उदाहरण 4: फ़ॉलो-अप सूचना
फ़ॉलो-अप सूचनाओं की सुविधा देने वाले एट्रिब्यूट निर्देशों के लिए, उपयोगकर्ता को फ़ॉलो-अप सूचना भेजी जा सकती है. साथ ही, अगर आपने smart home फ़ॉलो-अप सूचनाओं को लागू किया है, तो अपवाद या अपवाद होने पर सूचना भेजी जा सकती है.
जब कोई उपयोगकर्ता अपने गैराज का दरवाज़ा बंद करने का निर्देश देता है, लेकिन बंद करने के दौरान दरवाज़ा जाम हो जाता है. errorCode
को फ़ॉलो-अप सूचना भेजी जा सकती है:
POST https://homegraph.googleapis.com/v1/devices:reportStateAndNotification
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "agentUserId": "agent-user-id", "eventId": "unique-event-id", "payload": { "devices": { "notifications": { "door-device-id": { "LockUnlock": { "priority": 0, "followUpResponse": { "status": "FAILURE", "errorCode": "deviceJammingDetected", "followUpToken": "follow-up-token-1" } } } }, "states": { "door-device-id": { "openPercent": 70 } } } } }
सूचना मिलने के बाद, Assistant "उपयोगकर्ता का डिवाइस जाम हो जाएगा" दिखेगा. एक ही पेलोड के साथ आप डिवाइस से जुड़ी स्थितियां भेज सकते हैं.
ज़्यादा जानकारी पाने और ज़्यादा जानकारी के लिए errorCodes
गड़बड़ियां और अपवाद
दस्तावेज़ देखें.