जब डिवाइस या अनुरोध उम्मीद के मुताबिक काम नहीं करते हैं, तो आपके उपयोगकर्ताओं के लिए गड़बड़ी को ठीक करना और बातचीत करना ज़रूरी है. इससे उन्हें पता होता है कि क्या हो रहा है और जब संभव हो, तो उसे कैसे ठीक करते हैं. पक्का करें कि काम नहीं कर पाने की स्थितियों के बारे में सोचें और डिवाइस की प्रतिक्रिया कैसे पाएं: क्या होगा अगर कोई उपयोगकर्ता किसी ऐसे काम में रुकावट डाले जो जारी है? जब कोई उपयोगकर्ता ऑफ़लाइन होने पर, डिवाइस से किसी कार्रवाई का अनुरोध करता है, तो क्या होता है? इन समस्याओं की योजना बनाने और इनसे निपटने में अपने उपयोगकर्ता की सहायता करने से उपयोगकर्ता को निराशा हो सकती है और इससे आपके डिवाइस का गुणवत्ता अनुभव बेहतर होता है.
इस गाइड में इंटेंट के जवाबों के कुछ उदाहरण दिए गए हैं, जो गड़बड़ियों को संभालते हैं. गड़बड़ी और अपवादों के लिए मान्य errorCode
मान देखने के लिए गड़बड़ियां और अपवाद देखें.
उदाहरण 1: EXECUTE
इंटेंट के लिए गड़बड़ी का जवाब
असली उपयोगकर्ता के डिवाइस में दो स्मार्ट लाइटें हैं और उसे लिविंग रूम में इंस्टॉल किया गया है. उपयोगकर्ता ने "लिविंग रूम की लाइट जलाओ" निर्देश दिया है और Google ने EXECUTE
को आपके फ़ुलफ़िलमेंट यूआरएल में भेज दिया है. आपने देखा है कि उपयोगकर्ता के डिवाइस ऑफ़लाइन हैं और उन्हें कंट्रोल नहीं किया जा सकता. इसलिए, आपको ऑर्डर पूरा करने पर EXECUTE
, status
ERROR
और errorCode
deviceOffline
के साथ रिस्पॉन्स मिलेगा.
इस उदाहरण में बताया गया है कि पहले से बताए गए तरीके से, लाइट डिवाइस से 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 will prompt the user with "the device are
not available right now" after receiving the response. Remember that you still
need to send offline state for devices in report state after sending
errorCode
deviceOffline
in EXECUTE
response.
उदाहरण 2: EXECUTE
इंटेंट के लिए ब्लॉक न करने वाला अपवाद
उपयोगकर्ता, Assistant के साथ डिवाइस का इस्तेमाल करके, सामने के दरवाज़े पर अपना स्मार्ट लॉक लॉक करने की कोशिश करता है. बच्चे के लॉक को सफलतापूर्वक कंट्रोल किया जा सकता है, लेकिन
आपको पता है कि डिवाइस की बैटरी कम है. इसलिए, आपका ऑर्डर पूरा होने पर EXECUTE
status
SUCCESS
और exceptionCode
lowBattery
से जवाब मिल सकता है.
इस उदाहरण में बताया गया है कि लॉक डिवाइस से 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 proactive notifications. को लागू किया हो
स्मार्ट ड्रायर चल रहा है. इस रास्ते पर जाने से पहले, कोई व्यक्ति दरवाज़ा खोलता है.
आप Google Home Graph API
reportStateAndNotifications
method to send a proactive notification with an
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 उपयोगकर्ता को "डिवाइस का दरवाज़ा खोलने" का मैसेज भेजेगा. आप एक ही पेलोड में सूचनाओं के साथ, उस डिवाइस की स्थिति भेज सकते हैं.
चौथा उदाहरण: फ़ॉलो-अप सूचना
फ़ॉलो-अप सूचनाओं की सुविधा वाले निर्देशों के लिए, उपयोगकर्ता को फ़ॉलो-अप सूचना भेजी जा सकती है. गड़बड़ी होने पर या अपवाद होने पर, 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
गड़बड़ियां और अपवाद वाले दस्तावेज़ देखें.