स्मार्ट होम ऐक्शन बनाने का तरीका सीखने के लिए, Google Home डेवलपर सेंटर में आपका स्वागत है. ध्यान दें: आप Actions कंसोल में कार्रवाइयां बनाना जारी रखेंगे.

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

संग्रह की मदद से व्यवस्थित रहें अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.

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

देश/इलाके

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

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

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

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

लोग एसी मोड को गर्म पर सेट करें.
Google Assistant क्या आपको वाकई एयर कंडीशनर का तापमान 28 डिग्री पर सेट करना है?
लोग हां.
Google Assistantnt एयर कंडीशनर का हीटिंग सिस्टम 28 डिग्री पर सेट कर रही हूँ.
अनुरोध 1
{
  "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
          }
        }]
      }]
    }
  }]
}
जवाब 2
{
  "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 - ठीक है.

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