उपयोगकर्ता की पहचान की पुष्टि करने के दूसरे तरीके की मदद से, आवाज़ से दिए जाने वाले निर्देशों को ज़्यादा सुरक्षित बनाया जा सकता है. इससे, कुछ कार्रवाइयों के लिए अतिरिक्त सुरक्षा जोड़ी जा सकती है. जैसे, सुरक्षा कैमरे को बंद करना या दरवाज़ा खोलना. उपयोगकर्ता की जानकारी की पुष्टि दूसरे तरीके से करने की सुविधा, किसी डिवाइस की खास सुविधा से जुड़ी नहीं होती. इससे आपको यह तय करने में मदद मिलती है कि Google Assistant को कब चुनौती देनी है. उदाहरण के लिए, सुरक्षा कैमरे के लिए OnOff ट्रेट के लिए चुनौती जारी की जा सकती है. हालांकि, लाइट के लिए OnOff ट्रेट के लिए चुनौती जारी नहीं की जा सकती. कुछ मामलों में, एक ही कार्रवाई के लिए Assistant समस्या से जुड़ी चुनौतियां भी मिल सकती हैं. उदाहरण के लिए, अगर एनएफ़सी कीफ़ॉब दरवाज़े के आस-पास नहीं है, तो Assistant से दरवाज़ा खोलने के लिए चुनौती का अनुरोध किया जा सकता है. हालांकि, अगर कीफ़ॉब मौजूद है, तो चुनौती का अनुरोध नहीं किया जा सकता.
Assistant दो तरह के चैलेंज दे सकता है -
साफ़ तौर पर पुष्टि करना या व्यक्तिगत पहचान संख्या (पिन). इससे QUERY
और EXECUTE
इंटेंट में एक चैलेंज ब्लॉक जुड़ जाता है. ये इंटेंट, Assistant से आपकी कार्रवाई पर वापस भेजे जाते हैं. साथ ही, यह challengeNeeded
गड़बड़ी वाले जवाब को स्वीकार करता है. Assistant इसके बाद, चैलेंज ब्लॉक में चैलेंज डेटा के साथ, इंटेंट का अनुरोध आपके ऐक्शन को वापस भेजता है. इसके बाद, चुनौती के डेटा की पुष्टि की जा सकती है. इससे यह पता चलता है कि उपयोगकर्ता ने सुरक्षा से जुड़ा सही जवाब दिया है या नहीं.
Assistant, चुनौती देने के लिए डायलॉग का इस्तेमाल करता है. हालांकि, अगर आपने बोलकर इस्तेमाल न किए जाने वाले प्लैटफ़ॉर्म पर Assistant का इस्तेमाल किया है, तो पिन और पुष्टि की प्रक्रिया स्क्रीन पर पूरी की जाती है.
साथ काम करने वाले डिवाइस टाइप
उपयोगकर्ता की पहचान की पुष्टि करने का दूसरा तरीका, सभी तरह के डिवाइसों पर काम करता है.
साथ काम करने वाले डिवाइस traits
उपयोगकर्ता की पहचान की पुष्टि करने का दूसरा तरीका, डिवाइस की सभी विशेषताओं के लिए उपलब्ध है.
चैलेंज के वे टाइप जो इसके साथ काम करते हैं
उपयोगकर्ता की पहचान की पुष्टि करने के दूसरे तरीके के तौर पर, इन चुनौतियों का इस्तेमाल किया जा सकता है:
- कोई चुनौती नहीं - ऐसा अनुरोध और जवाब जिसमें उपयोगकर्ता की पुष्टि करने के लिए, दूसरी बार चुनौती का इस्तेमाल नहीं किया जाता है.
- ackNeeded - उपयोगकर्ता की पहचान की पुष्टि करने का यह दूसरा तरीका है. इसमें साफ़ तौर पर पुष्टि करना (हां या नहीं) ज़रूरी होता है. साथ ही, जवाब के तौर पर, ट्रेट की स्थितियों का इस्तेमाल भी किया जा सकता है. सुरक्षा डिवाइसों और सुविधाओं के लिए, इस तरह के चैलेंज का इस्तेमाल करने का सुझाव नहीं दिया जाता.
- pinNeeded - किसी दूसरे तरीके से उपयोगकर्ता की पुष्टि करना. इसके लिए, व्यक्तिगत पहचान संख्या (पिन) की ज़रूरत होती है. यह सुरक्षा डिवाइसों और सुविधाओं के लिए सबसे सही है.
कोई चुनौती नहीं है
इस उदाहरण में, लाइट चालू करने के लिए EXECUTE
अनुरोध और जवाब दिखाया गया है. इसमें चुनौती नहीं दी गई है.
उपयोगकर्ता | लाइटें चालू करो. |
Google Assistant | ठीक है, तीन लाइटें चालू की जा रही हैं. |
{ "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
उपयोगकर्ता की पहचान की पुष्टि करने का दूसरा तरीका, जिसमें किसी ट्रेट या पुष्टि करने के लिए कई स्थितियों का इस्तेमाल किया जा सकता है.
ackNeeded
चैलेंज के ये टाइप होते हैं:
ackNeeded simple
इस उदाहरण में, लाइट की रोशनी कम करने के लिए किए गए एक सामान्य अनुरोध और उसके जवाब को दिखाया गया है. इसमें 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" }] } }
ackNeeded with trait states
उपयोगकर्ता की पहचान की पुष्टि करने का दूसरा तरीका, जिसमें किसी विशेषता के लिए स्थितियों का इस्तेमाल किया जा सकता है.
उदाहरण के लिए, अगर TemperatureSetting ट्रेट का इस्तेमाल किया जा रहा है और thermostatMode
और thermostatTemperatureSetpoint
, दोनों सेट हैं, तो Assistant यह सवाल पूछ सकता है: क्या आपको एयर कंडीशनर का तापमान 28 डिग्री पर सेट करना है?
जवाब में किसी राज्य को भी शामिल किया जा सकता है, ताकि Assistant दिए गए अनुरोध के आधार पर कोई खास कार्रवाई कर सके.
ackNeeded
के साथ एट्रिब्यूट की स्थितियां इस्तेमाल करने की सुविधा, इन एट्रिब्यूट और स्थितियों के लिए उपलब्ध है. किसी खास विशेषता की लिस्टिंग से पता चलता है कि उसके सभी स्टेटस काम करते हैं.
- ArmDisarm
currentArmLevel
currentStatusReport
- Fill
- LockUnlock
- OnOff
on
- OpenClose
- Scene
- TemperatureSetting
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
चैलेंज के साथ शुरुआती अनुरोध और जवाब दिखाया गया है. इस उदाहरण में, 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" } }] } }
गड़बड़ी के रिस्पॉन्स
यहां कुछ गड़बड़ी कोड दिए गए हैं, जो आपके जवाबों के साथ दिखाए जा सकते हैं:
- tooManyFailedAttempts - माफ़ करें, आपने कई बार गलत पासवर्ड डाला है. कृपया उस कार्रवाई को पूरा करने के लिए अपने डिवाइस के ऐप्लिकेशन पर जाएँ.
- pinIncorrect - माफ़ करें, सुरक्षा कोड गलत है.
- userCancelled - Ok
गड़बड़ियों और अपवादों की पूरी सूची देखें.