सेकंडरी यूज़र वेरिफ़िकेशन सुविधा की मदद से, वॉइस कमांड में सेकंड-फ़ैक्टर सुरक्षा जोड़ी जा सकती है. ऐसा करके, सुरक्षा कैमरे को बंद करने या दरवाज़ा खोलने जैसी कुछ कार्रवाइयों के लिए, अतिरिक्त सुरक्षा जोड़ी जा सकती है. दूसरे उपयोगकर्ता की पुष्टि किसी खास डिवाइस एट्रिब्यूट से नहीं जुड़ी होती है. इसकी मदद से, यह तय किया जा सकता है कि कब ऐसा करना है Google Assistant issue a challenge. For example, you can choose to issue a challenge for the OnOff trait for a security camera, but not issue a challenge for the OnOff trait for a light. You can also have Assistant issue challenges in certain situations for the same action. For example, you can request that Assistant issue a challenge request to open a door if an NFC keyfob is not in the proximity of that door, but not issue a challenge if the keyfob is present.
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 डिग्री पर सेट कर दिया जाता है. इसके बाद,
Assistant उपयोगकर्ताओं से यह पुष्टि करने के लिए कहता है
हीटिंग चालू करें और तापमान को 28 डिग्री पर सेट करें. ऐसा इसलिए, क्योंकि जवाब में 28
का thermostatTemperatureSetpoint
दिखाया जाता है.
उपयोगकर्ता | एसी मोड को गर्म पर सेट करें. |
Google Assistant | क्या आपको वाकई एयर कंडीशनर का तापमान 28 डिग्री पर सेट करना है? |
उपयोगकर्ता | हां. |
Google Assistant क्लिक करें | एयर कंडीशनर का हीटिंग सिस्टम 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
- ठीक है.