दूसरे उपयोगकर्ता की पुष्टि

उपयोगकर्ता की पहचान की पुष्टि करने के दूसरे तरीके की मदद से, आवाज़ से दिए जाने वाले निर्देशों को ज़्यादा सुरक्षित बनाया जा सकता है. इससे, कुछ कार्रवाइयों के लिए अतिरिक्त सुरक्षा जोड़ी जा सकती है. जैसे, सुरक्षा कैमरे को बंद करना या दरवाज़ा खोलना. उपयोगकर्ता की जानकारी की पुष्टि दूसरे तरीके से करने की सुविधा, किसी डिवाइस की खास सुविधा से जुड़ी नहीं होती. इससे आपको यह तय करने में मदद मिलती है कि 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
          }
        }]
      }]
    }
  }]
}
Response
{
  "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
          }
        }]
      }]
    }
  }]
}
जवाब 1
{
  "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
          }
        }]
      }]
    }
  }]
}
Response 2
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "commands": [{
      "ids": ["123"],
      "status": "SUCCESS"
    }]
  }
}

ackNeeded with trait states

उपयोगकर्ता की पहचान की पुष्टि करने का दूसरा तरीका, जिसमें किसी विशेषता के लिए स्थितियों का इस्तेमाल किया जा सकता है. उदाहरण के लिए, अगर TemperatureSetting ट्रेट का इस्तेमाल किया जा रहा है और thermostatMode और thermostatTemperatureSetpoint, दोनों सेट हैं, तो Assistant यह सवाल पूछ सकता है: क्या आपको एयर कंडीशनर का तापमान 28 डिग्री पर सेट करना है?

जवाब में किसी राज्य को भी शामिल किया जा सकता है, ताकि Assistant दिए गए अनुरोध के आधार पर कोई खास कार्रवाई कर सके.

ackNeeded के साथ एट्रिब्यूट की स्थितियां इस्तेमाल करने की सुविधा, इन एट्रिब्यूट और स्थितियों के लिए उपलब्ध है. किसी खास विशेषता की लिस्टिंग से पता चलता है कि उसके सभी स्टेटस काम करते हैं.

इस उदाहरण में, 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"
          }
        }]
      }]
    }
  }]
}
जवाब 1
{
  "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
          }
        }]
      }]
    }
  }]
}
Response 2
{
  "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
          }
        }]
      }]
    }
  }]
}
Response
{
  "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"
          }
        }]
      }]
    }
  }]
}
Response
{
  "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"
          }
        }]
      }]
    }
  }]
}
Response
{
  "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
          }
        }]
      }]
    }
  }]
}
Response
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "commands": [{
      "ids": ["123"],
      "status": "ERROR",
      "errorCode": "challengeNeeded",
      "challengeNeeded": {
        "type": "pinNeeded"
      }
    }]
  }
}

गड़बड़ी के रिस्पॉन्स

यहां कुछ गड़बड़ी कोड दिए गए हैं, जो आपके जवाबों के साथ दिखाए जा सकते हैं:

  • tooManyFailedAttempts - माफ़ करें, आपने कई बार गलत पासवर्ड डाला है. कृपया उस कार्रवाई को पूरा करने के लिए अपने डिवाइस के ऐप्लिकेशन पर जाएँ.
  • pinIncorrect - माफ़ करें, सुरक्षा कोड गलत है.
  • userCancelled - Ok

गड़बड़ियों और अपवादों की पूरी सूची देखें.