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

सेकंडरी यूज़र की पुष्टि करने की सुविधा से, आवाज़ से दिए जाने वाले निर्देशों में सुरक्षा का दूसरा तरीका जोड़ा जा सकता है. इस सुविधा से, कुछ कार्रवाइयों के लिए सुरक्षा का एक और तरीका जोड़ा जा सकता है. जैसे, सुरक्षा कैमरा बंद करना या दरवाज़ा खोलना. सेकंडरी यूज़र की पुष्टि करने की सुविधा, किसी खास डिवाइस की खासियत से जुड़ी नहीं होती. इससे, यह तय किया जा सकता है कि Google Assistant कब पुष्टि करने के लिए सवाल पूछे.Google Assistant उदाहरण के लिए, सुरक्षा कैमरे के लिए OnOff की खासियत के लिए, पुष्टि करने के लिए सवाल पूछे जा सकते हैं. हालांकि, रोशनी के लिए OnOff की खासियत के लिए, पुष्टि करने के लिए सवाल नहीं पूछे जा सकते. कुछ स्थितियों में, एक ही कार्रवाई के लिए Assistant पुष्टि करने के लिए सवाल पूछ सकता है. उदाहरण के लिए, अगर किसी दरवाज़े के पास एनएफ़सी कीफ़ोब नहीं है, तो Assistant से उस दरवाज़े को खोलने के लिए, पुष्टि करने के लिए सवाल पूछने का अनुरोध किया जा सकता है. हालांकि, अगर कीफ़ोब मौजूद है, तो पुष्टि करने के लिए सवाल नहीं पूछे जा सकते.

Assistant पुष्टि करने के लिए दो तरह के सवाल पूछ सकता है. जैसे, साफ़ तौर पर पुष्टि करना या निजी पहचान संख्या (पिन) डालना. इससे, Assistant से आपकी कार्रवाई पर भेजे गए QUERY और EXECUTE इंटेंट में, पुष्टि करने के लिए सवाल पूछने का ब्लॉक जुड़ जाता है. साथ ही, challengeNeeded गड़बड़ी का जवाब स्वीकार किया जाता है.Assistant Assistant इसके बाद, पुष्टि करने के लिए सवाल पूछने के ब्लॉक में पुष्टि करने से जुड़ा डेटा शामिल करके, आपकी कार्रवाई के लिए इंटेंट का अनुरोध वापस भेजता है. इसके बाद, पुष्टि करने के लिए सवाल पूछने के ब्लॉक में मौजूद डेटा की पुष्टि करके यह पता लगाया जा सकता है कि उपयोगकर्ता ने सुरक्षा से जुड़ा सही जवाब दिया है या नहीं.

Assistant पुष्टि करने के लिए सवाल पूछने के लिए डायलॉग का इस्तेमाल करता है. हालांकि, अगर आवाज़ से कंट्रोल न होने वाले डिवाइसों पर Assistant का इस्तेमाल किया जाता है, तो पिन और पुष्टि करने के लिए सवाल, स्क्रीन पर दिखते हैं.

सेकंडरी यूज़र की पुष्टि करने की सुविधा का इस्तेमाल कब करना चाहिए

किसी भी डिवाइस टाइप या खासियत के लिए, सेकंडरी यूज़र की पुष्टि करने की सुविधा चालू की जा सकती है. हालांकि, इंटिग्रेशन को सर्टिफ़िकेट पाने के लिए, सुरक्षा के लिहाज़ से संवेदनशील कुछ डिवाइस टाइप और खासियत के लिए, सेकंडरी यूज़र की पुष्टि करने की सुविधा लागू करनी होगी.

यहां बताई गई खासियत और डिवाइस टाइप के कॉम्बिनेशन के लिए, pinNeeded पुष्टि करने के लिए सवाल पूछने के टाइप का इस्तेमाल करके, सेकंडरी यूज़र की पुष्टि करने की सुविधा लागू करना ज़रूरी है:

  • अगर डिवाइस टाइप CAMERA है, तो OnOff की खासियत.
  • अगर डिवाइस टाइप DOOR, GARAGE, GATE या WINDOW है, तो OpenClose की खासियत.
  • अनलॉक करते समय, LockUnlock की खासियत.
  • डिवाइस को बंद करते समय या बंद करने की प्रोसेस को रद्द करते समय, ArmDisarm की खासियत.
  • अगर डिवाइस टाइप NETWORK या ROUTER है, तो Reboot, SoftwareUpdate या NetworkControl की खासियत.

अगर डिवाइस टाइप AC_UNIT है और इंटिग्रेशन की जगह जापान है, तो TemperatureSetting की खासियत के लिए, ackNeeded पुष्टि करने के लिए सवाल पूछने के टाइप का इस्तेमाल करना ज़रूरी है.

पुष्टि करने के लिए सवाल पूछने के टाइप

सेकंडरी यूज़र की पुष्टि करने के लिए, यहां बताए गए टाइप इस्तेमाल किए जा सकते हैं:

  • पुष्टि करने के लिए सवाल नहीं पूछना - ऐसा अनुरोध और जवाब जिसमें सेकंडरी यूज़र की पुष्टि करने के लिए सवाल नहीं पूछा जाता.
  • 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 पुष्टि करने के लिए सवाल पूछने के टाइप, ये हैं:

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
    • डिवाइस को चालू करने या चालू करने की प्रोसेस को रद्द करने के लिए, ackNeeded पुष्टि करने के लिए सवाल पूछने के टाइप का इस्तेमाल करें. हालांकि, डिवाइस को बंद करने और बंद करने की प्रोसेस को रद्द करने के लिए, pinNeeded पुष्टि करने के लिए सवाल पूछने के टाइप का इस्तेमाल करना ज़रूरी है.
  • Fill
  • LockUnlock
    • डिवाइस को लॉक करने के लिए, ackNeeded पुष्टि करने के लिए सवाल पूछने के टाइप का इस्तेमाल करें. वहीं, डिवाइस को अनलॉक करने के लिए, pinNeeded पुष्टि करने के लिए सवाल पूछने के टाइप का इस्तेमाल करें.
  • OnOff
    • on
    • इस खासियत के लिए, ackNeeded पुष्टि करने के लिए सवाल पूछने के टाइप का इस्तेमाल करें. CAMERA डिवाइसों के साथ इस खासियत का इस्तेमाल करने पर, pinNeeded पुष्टि करने के लिए सवाल पूछने के टाइप का इस्तेमाल करना ज़रूरी है.
  • OpenClose
    • इस खासियत के लिए, ackNeeded पुष्टि करने के लिए सवाल पूछने के टाइप का इस्तेमाल करें. DOOR, GARAGE, GATE या WINDOW डिवाइसों के साथ इस खासियत का इस्तेमाल करने पर, pinNeeded पुष्टि करने के लिए सवाल पूछने के टाइप का इस्तेमाल करना ज़रूरी है.
  • Scene
  • TemperatureSetting
    • thermostatMode
    • thermostatTemperatureSetpoint
    • thermostatTemperatureSetpointHigh
    • thermostatTemperatureSetpointLow

इस उदाहरण में, ackNeeded पुष्टि करने के लिए सवाल पूछने के टाइप का इस्तेमाल करके, अनुरोध और जवाब दिखाया गया है. इसमें, खासियत की स्थिति का इस्तेमाल किया गया है. इससे, एयर कंडीशनर का मोड बदलकर हीट पर सेट हो जाता है और तापमान 28 डिग्री सेल्सियस पर सेट हो जाता है. इसके बाद, Assistant उपयोगकर्ताओं से हीट को चालू करने और तापमान को 28 डिग्री सेल्सियस पर सेट करने की पुष्टि करने के लिए कहता है. ऐसा इसलिए, क्योंकि जवाब में thermostatTemperatureSetpoint की स्थिति के तौर पर 28 दिखाया जाता है.

उपयोगकर्ता एसी का मोड बदलकर हीट पर सेट करो.
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 - ठीक है

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