सेकंडरी यूज़र वेरिफ़िकेशन सुविधा की मदद से, वॉइस कमांड में सेकंड-फ़ैक्टर सुरक्षा जोड़ी जा सकती है. ऐसा करके, सुरक्षा कैमरे को बंद करने या दरवाज़ा खोलने जैसी कुछ कार्रवाइयों के लिए, अतिरिक्त सुरक्षा जोड़ी जा सकती है. दूसरे उपयोगकर्ता की पुष्टि किसी खास डिवाइस एट्रिब्यूट से नहीं जुड़ी होती है. इससे यह तय किया जा सकता है कि Google Assistant कब चुनौती दे. उदाहरण के लिए, किसी सुरक्षा कैमरे के लिए On Off एट्रिब्यूट के लिए चैलेंज जारी करने का विकल्प चुना जा सकता है, लेकिन लाइट के लिए On Off एट्रिब्यूट के लिए चैलेंज जारी नहीं किया जा सकता. एक ही कार्रवाई के लिए, Assistant को कुछ चुनौतियों में भी शामिल किया जा सकता है. उदाहरण के लिए, अगर एनएफ़सी का फ़ॉब पास नहीं है, तो Assistantचुनने का अनुरोध किया जा सकता है. हालांकि, अगर कीफ़ोब मौजूद है, तो उसे कोई चुनौती नहीं देनी चाहिए.
Assistant दो तरह की चुनौतियां जारी कर सकता है - साफ़ तौर पर सहमति देना या व्यक्तिगत पहचान संख्या (पिन). इससे
Assistant पर एक चैलेंज ब्लॉक और Assistant से भेजे गए EXECUTE
इंटेंट वापस आपके कार्रवाई पेज पर भेज दिए जाते हैं और challengeNeeded
गड़बड़ी
जवाब स्वीकार किया जाता है. फिर Assistantचैलेंज ब्लॉक में चुनौती के डेटा के साथ आपकी कार्रवाई का इंटेंट अनुरोध वापस भेजता है. इसके बाद,
चुनौती के डेटा की पुष्टि करके यह पता लगाया जा सकता है कि उपयोगकर्ता ने सही सुरक्षा रिस्पॉन्स दिया है या नहीं.
Assistant यह चैलेंज देने के लिए डायलॉग का इस्तेमाल करता है, लेकिन अगर आप Assistantबिना बोले गए प्लैटफ़ॉर्म पर इस्तेमाल करते हैं, तो पिन और पुष्टि स्क्रीन पर की जाती है.
इस तरह के डिवाइस काम करते हैं
दूसरे उपयोगकर्ता की पुष्टि सभी डिवाइस टाइप पर की जा सकती है.
डिवाइस में ये सुविधाएं उपलब्ध हैं
उपयोगकर्ता की पुष्टि की दूसरी प्रक्रिया, डिवाइस की सभी विशेषताओं के लिए की जा सकती है.
'चैलेंज टाइप' का इस्तेमाल किया जा सकता है
पुष्टि करने के लिए, पुष्टि करने के ये दूसरे तरीके इस्तेमाल किए जा सकते हैं:
- कोई चुनौती नहीं - ऐसा अनुरोध और जवाब जो दूसरे उपयोगकर्ता की पुष्टि के चैलेंज का इस्तेमाल नहीं करता है.
- ackRequire - एक सेकंडरी उपयोगकर्ता की पुष्टि, जिसके लिए साफ़ तौर पर सहमति देना ज़रूरी है (हां या नहीं). इसके अलावा, रिस्पॉन्स के तौर पर सुझाव के तौर पर स्थिति बताने की सुविधा का भी इस्तेमाल किया जा सकता है. इस तरह के चैलेंज का सुझाव सुरक्षा डिवाइसों और विशेषताओं के लिए नहीं दिया जाता है.
- pinRequired - एक सेकंडरी उपयोगकर्ता की पुष्टि, जिसके लिए एक व्यक्तिगत पहचान संख्या (पिन) ज़रूरी है. यह सुरक्षा डिवाइसों और विशेषताओं के लिए सही है.
कोई चुनौती नहीं
इस उदाहरण में लाइटों को चालू करने की चुनौती के बिना, एक सफल EXECUTE
अनुरोध और रिस्पॉन्स दिखाया गया है.
लोग | लाइटें जलाओ. |
Google Assistant | ठीक है, 3 लाइटें चालू कर रही हूँ. |
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "inputs": [{ "intent": "action.devices.EXECUTE", "payload": { "commands": [{ "devices": [{ "id": "123" }], "execution": [{ "command": "action.devices.commands.OnOff", "params": { "on": true } }] }] } }] }
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [{ "ids": ["123"], "status": "SUCCESS", "states": { "on": true, "online": true } }] } }
ज़रूरत है
पुष्टि करने वाला दूसरा उपयोगकर्ता, जो पुष्टि के अनुरोध या पहचान के लिए एक से ज़्यादा स्थितियों का इस्तेमाल कर सकता है.
इस तरह के ackNeeded
चैलेंज टाइप होते हैं:
ackRequire सरल
इस उदाहरण में, ackNeeded
की चुनौती के साथ आसान अनुरोध और जवाब दिखाया गया है.
इसमें लाइट को कम करने और रोशनी को कम करने की पुष्टि करने वाला मैसेज शामिल है.
लोग | लिविंग रूम की रोशनी कम करो. |
Google Assistant | लिविंग रूम की रोशनी कम कर रही हूँ. क्या आपको वाकई ऐसा करना है? |
लोग | हां. |
Google Assistant | लिविंग रूम की रोशनी कम कर रही हूँ. |
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "inputs": [{ "intent": "action.devices.EXECUTE", "payload": { "commands": [{ "devices": [{ "id": "123" }], "execution": [{ "command": "action.devices.commands.BrightnessAbsolute", "params": { "brightness": 12 } }] }] } }] }
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [{ "ids": ["123"], "status": "ERROR", "errorCode": "challengeNeeded", "challengeNeeded": { "type": "ackNeeded" } }] } }
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "inputs": [{ "intent": "action.devices.EXECUTE", "payload": { "commands": [{ "devices": [{ "id": "123" }], "execution": [{ "command": "action.devices.commands.BrightnessAbsolute", "params": { "brightness": 12 }, "challenge": { "ack": true } }] }] } }] }
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [{ "ids": ["123"], "status": "SUCCESS" }] } }
देश/इलाके
पुष्टि करने के लिए एक सेकंडरी उपयोगकर्ता की पुष्टि करना, जो विशेषता के लिए राज्य का इस्तेमाल कर सकता है.
उदाहरण के लिए, अगर आप तापमान सेटिंग विशेषता के साथ काम कर रहे हैं और thermostatMode
और thermostatTemperatureSetpoint
दोनों सेट हैं, तो Assistant पूछ सकता है कि क्या आप वाकई एयर कंडिशनर पर तापमान को 28 डिग्री पर सेट करना चाहते हैं?
आपके पास ऐसी स्थिति को भी शामिल करने का विकल्प है जिसकी मदद से Assistant, दिए गए अनुरोध के आधार पर, खास कार्रवाई कर सकता है.
नीचे दिए गए एट्रिब्यूट और राज्य, ackNeeded
लक्षणों की स्थितियों के साथ काम करते हैं. खास विशेषता की सूची से पता चलता है कि उसके सभी राज्य इस सुविधा के साथ काम करते हैं.
- आर्म्सड्रम
currentArmLevel
currentStatusReport
- भरें
- LockLock
- बंद है
on
- OpenClosed
- सीन
- तापमान की सेटिंग
thermostatMode
thermostatTemperatureSetpoint
thermostatTemperatureSetpointHigh
thermostatTemperatureSetpointLow
इस उदाहरण में ackNeeded
चैलेंज के साथ अनुरोध और जवाब दिखाया गया है. इसमें 'ट्रेट' स्थिति का इस्तेमाल किया गया है. इससे एयर कंडिशनर मोड गर्म हो जाता है और
तापमान 28 डिग्री पर सेट कर दिया जाता है. इसके बाद, उपयोगकर्ताओं से यह अनुरोध करने के लिए कहा जाता है कि
हीट चालू करें. साथ ही, तापमान को 28 डिग्री पर सेट करें. ऐसा इसलिए, क्योंकि जवाब में 28
का thermostatTemperatureSetpoint
दिखाया गया है.
लोग | एसी मोड को गर्म पर सेट करें. |
Google Assistant | क्या आपको वाकई एयर कंडीशनर का तापमान 28 डिग्री पर सेट करना है? |
लोग | हां. |
Google Assistantnt | एयर कंडीशनर का हीटिंग सिस्टम 28 डिग्री पर सेट कर रही हूँ. |
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "inputs": [{ "intent": "action.devices.EXECUTE", "payload": { "commands": [{ "devices": [{ "id": "123" }], "execution": [{ "command": "action.devices.commands.TemperatureSetting", "params": { "thermostatMode": "heat" } }] }] } }] }
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [{ "ids": ["123"], "status": "ERROR", "states": { "thermostatMode": "heat", "thermostatTemperatureSetpoint": 28 }, "errorCode": "challengeNeeded", "challengeNeeded": { "type": "ackNeeded" } }] } }
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "inputs": [{ "intent": "action.devices.EXECUTE", "payload": { "commands": [{ "devices": [{ "id": "123" }], "execution": [{ "command": "action.devices.commands.TemperatureSetting", "params": { "thermostatMode": "heat" }, "challenge": { "ack": true } }] }] } }] }
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [{ "ids": ["123"], "status": "SUCCESS", "states": { "thermostatMode": "heat", "thermostatTemperatureSetpoint": 28 } }] } }
पिन की ज़रूरत है
सुरक्षा से जुड़े डिवाइसों के लिए, pinNeeded
चैलेंज का सुझाव दिया गया है.
यह उदाहरण एक pinNeeded
अनुरोध के साथ एक शुरुआती अनुरोध और जवाब दिखाता है. उदाहरण में एक pinNeeded
चुनौती के साथ जवाब मिलता है, इसलिए
Assistant पिन के लिए पूछता है. इस समय, उपयोगकर्ता गलत या मान्य पिन डाल सकता है.
गलत या मान्य पिन के लिए सैंपल अनुरोध और जवाब:
लोग | दरवाज़ा अनलॉक करें. |
Google Assistant | क्या मुझे आपका सुरक्षा कोड मिल सकता है? |
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "inputs": [{ "intent": "action.devices.EXECUTE", "payload": { "commands": [{ "devices": [{ "id": "123" }], "execution": [{ "command": "action.devices.commands.LockUnlock", "params": { "lock": false } }] }] } }] }
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [{ "ids": ["123"], "status": "ERROR", "errorCode": "challengeNeeded", "challengeNeeded": { "type": "pinNeeded" } }] } }
गलत पिन
इस उदाहरण में, challengeFailedPinNeeded
चैलेंज के साथ अनुरोध और जवाब दिखाया गया है. इस चैलेंज का इस्तेमाल pinNeeded
के शुरुआती
चैलेंज के पूरा न होने के बाद किया जाना चाहिए.
जब challengeFailedPinNeeded
को दिखाया जाता है, तो
Assistant, सुरक्षा कोड फिर से मांगता है. अगर उपयोगकर्ता
कई बार कोशिश कर लेता है, तो गड़बड़ी का tooManyFailedAttempts
सुझाव दिया जाता है. गड़बड़ी के जवाब देखें.
लोग | 333222 |
Google Assistant | माफ़ करें, सुरक्षा कोड गलत है. क्या मुझे आपका सुरक्षा कोड मिल सकता है? |
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "inputs": [{ "intent": "action.devices.EXECUTE", "payload": { "commands": [{ "devices": [{ "id": "123" }], "execution": [{ "command": "action.devices.commands.LockUnlock", "params": { "lock": false }, "challenge": { "pin": "333222" } }] }] } }] }
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [{ "ids": ["123"], "status": "ERROR", "errorCode": "challengeNeeded", "challengeNeeded": { "type": "challengeFailedPinNeeded" } }] } }
मान्य पिन
यह उदाहरण मान्य पिन का अनुरोध और जवाब दिखाता है.
लोग | 333444 |
Google Assistant | दरवाज़ा अनलॉक किया जा रहा है. |
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "inputs": [{ "intent": "action.devices.EXECUTE", "payload": { "commands": [{ "devices": [{ "id": "123" }], "execution": [{ "command": "action.devices.commands.LockUnlock", "params": { "lock": false }, "challenge": { "pin": "333444" } }] }] } }] }
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [{ "ids": ["123"], "status": "SUCCESS", "states": { "isLocked": false, "isJammed": false } }] } }
लोग | लिविंग रूम की रोशनी कम करो. |
Google Assistant | क्या मुझे आपका सुरक्षा कोड मिल सकता है? |
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "inputs": [{ "intent": "action.devices.EXECUTE", "payload": { "commands": [{ "devices": [{ "id": "123" }], "execution": [{ "command": "action.devices.commands.BrightnessAbsolute", "params": { "brightness": 12 } }] }] } }] }
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [{ "ids": ["123"], "status": "ERROR", "errorCode": "challengeNeeded", "challengeNeeded": { "type": "pinNeeded" } }] } }
गड़बड़ी के जवाब
ये कुछ गड़बड़ी कोड हैं, जिन्हें आपके जवाबों के साथ वापस किया जा सकता है:
challengeFailedNotSetup
- इस कार्रवाई के लिए सुरक्षा कोड चाहिए, लेकिन यह आपके डिवाइस के ऐप्लिकेशन में सेट अप नहीं किया गया है.tooManyFailedAttempts
- माफ़ करें, कई बार कोशिश नहीं की जा सकी. कृपया उस कार्रवाई को पूरा करने के लिए अपने डिवाइस के ऐप्लिकेशन पर जाएं.pinIncorrect
- माफ़ करें, सुरक्षा कोड गलत है.userCancelled
- ठीक है.