সেকেন্ডারি ইউজার ভেরিফিকেশন আপনাকে ভয়েস কমান্ডে সেকেন্ড-ফ্যাক্টর সিকিউরিটি যোগ করতে দেয়। এটি আপনাকে সিকিউরিটি ক্যামেরা বন্ধ করা বা দরজা খোলার মতো নির্দিষ্ট কিছু কাজের জন্য অতিরিক্ত সিকিউরিটি যোগ করতে দেয়। সেকেন্ডারি ইউজার ভেরিফিকেশন কোনও নির্দিষ্ট ডিভাইস বৈশিষ্ট্যের সাথে আবদ্ধ নয় যা আপনাকে সিদ্ধান্ত নিতে দেয় যে কখন Google Assistant একটি চ্যালেঞ্জ ইস্যু করবে। উদাহরণস্বরূপ, আপনি একটি সিকিউরিটি ক্যামেরার জন্য OnOff বৈশিষ্ট্যের জন্য একটি চ্যালেঞ্জ ইস্যু করতে পারেন, কিন্তু একটি আলোর জন্য OnOff বৈশিষ্ট্যের জন্য একটি চ্যালেঞ্জ ইস্যু করতে পারবেন না। একই ক্রিয়াকলাপের জন্য আপনি নির্দিষ্ট পরিস্থিতিতে Assistant ইস্যু চ্যালেঞ্জও করতে পারেন। উদাহরণস্বরূপ, যদি কোনও NFC কীফব সেই দরজার কাছাকাছি না থাকে তবে আপনি Assistant একটি দরজা খোলার জন্য একটি চ্যালেঞ্জ অনুরোধ জারি করার অনুরোধ করতে পারেন, কিন্তু যদি কীফব উপস্থিত থাকে তবে কোনও চ্যালেঞ্জ জারি করতে পারবেন না।
 Assistant দুই ধরণের চ্যালেঞ্জ ইস্যু করতে পারে - স্পষ্ট স্বীকৃতি অথবা ব্যক্তিগত শনাক্তকরণ নম্বর (PIN)। এটি QUERY তে একটি চ্যালেঞ্জ ব্লক যোগ করে এবং Assistant থেকে আপনার অ্যাকশনে পাঠানো ইন্টেন্টগুলি EXECUTE এবং একটি challengeNeeded গ্রহণ করে যার জন্য ত্রুটির প্রতিক্রিয়া প্রয়োজন। Assistant এরপর চ্যালেঞ্জ ব্লকে থাকা চ্যালেঞ্জ ডেটা সহ আপনার অ্যাকশনে ইন্টেন্ট অনুরোধটি ফেরত পাঠায়। এরপর আপনি ব্যবহারকারী সঠিক নিরাপত্তা প্রতিক্রিয়া দিয়েছেন কিনা তা নির্ধারণ করতে চ্যালেঞ্জ ডেটা যাচাই করতে পারেন।
Assistant চ্যালেঞ্জ ইস্যু করার জন্য ডায়ালগ ব্যবহার করে, কিন্তু যদি আপনি নন-ভয়েস সারফেসে Assistant ব্যবহার করেন, তাহলে পিন এবং নিশ্চিতকরণগুলি স্ক্রিনে করা হবে।
সমর্থিত ডিভাইসের ধরণ
সকল ধরণের ডিভাইসে সেকেন্ডারি ব্যবহারকারী যাচাইকরণ সমর্থিত।
সমর্থিত ডিভাইসের বৈশিষ্ট্য
সকল ডিভাইস বৈশিষ্ট্যের জন্য সেকেন্ডারি ব্যবহারকারী যাচাইকরণ সমর্থিত।
সমর্থিত চ্যালেঞ্জের ধরণ
এগুলি হল সমর্থিত সেকেন্ডারি ব্যবহারকারী যাচাইকরণ চ্যালেঞ্জের ধরণ:
- কোনও চ্যালেঞ্জ নেই - এমন একটি অনুরোধ এবং প্রতিক্রিয়া যা সেকেন্ডারি ব্যবহারকারী যাচাইকরণ চ্যালেঞ্জ ব্যবহার করে না।
- ackNeeded - একটি সেকেন্ডারি ব্যবহারকারী যাচাইকরণ যার জন্য স্পষ্ট স্বীকৃতি (হ্যাঁ বা না) প্রয়োজন এবং প্রতিক্রিয়া প্রতিক্রিয়া হিসাবে বৈশিষ্ট্য অবস্থাও ব্যবহার করতে পারে। এই চ্যালেঞ্জ প্রকারটি সুরক্ষা ডিভাইস এবং বৈশিষ্ট্যের জন্য সুপারিশ করা হয় না।
- pinNeeded - একটি সেকেন্ডারি ব্যবহারকারী যাচাইকরণ যার জন্য একটি ব্যক্তিগত শনাক্তকরণ নম্বর (PIN) প্রয়োজন, যা নিরাপত্তা ডিভাইস এবং বৈশিষ্ট্যের জন্য আদর্শ।
কোন চ্যালেঞ্জ নেই
 এই উদাহরণে লাইট জ্বালানোর কোনও চ্যালেঞ্জ ছাড়াই একটি সফল 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 } }] } }
ackপ্রয়োজন
একটি সেকেন্ডারি ব্যবহারকারী স্বীকৃতি প্রমাণীকরণ যা একটি বৈশিষ্ট্য বা একটি সাধারণ স্বীকৃতি প্রমাণীকরণের জন্য একাধিক অবস্থা ব্যবহার করতে পারে।
 নিম্নলিখিত ধরণের ackNeeded চ্যালেঞ্জ রয়েছে:
সহজ প্রয়োজন
 এই উদাহরণে " ackNeeded challenge to dim a light" এবং "confirmation to dim the light" সহ একটি সহজ অনুরোধ এবং প্রতিক্রিয়া দেখানো হয়েছে।
| ব্যবহারকারী | বসার ঘরের আলো নিভিয়ে দাও। | 
| 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" }] } }
বৈশিষ্ট্যের অবস্থা সহ প্রয়োজন
 একটি সেকেন্ডারি ইউজার অ্যাকনলেজমেন্ট অথেনটিকেশন যা একটি বৈশিষ্ট্যের জন্য অবস্থা ব্যবহার করতে পারে। উদাহরণস্বরূপ, যদি আপনি TemperatureSetting বৈশিষ্ট্য নিয়ে কাজ করেন এবং thermostatMode এবং thermostatTemperatureSetpoint উভয়ই সেট করা থাকে, তাহলে Assistant জিজ্ঞাসা করতে পারে যে আপনি কি নিশ্চিত যে আপনি এয়ার কন্ডিশনারের তাপ 28 ডিগ্রিতে সেট করতে চান?
প্রদত্ত অনুরোধের উপর ভিত্তি করে Assistant একটি নির্দিষ্ট কাজ সম্পাদন করতে বলার জন্য আপনি প্রতিক্রিয়ায় একটি অবস্থাও অন্তর্ভুক্ত করতে পারেন।
 নিম্নলিখিত বৈশিষ্ট্য এবং অবস্থাগুলি ackNeeded trait states সহ সমর্থন করে। একটি নির্দিষ্ট বৈশিষ্ট্যের তালিকা নির্দেশ করে যে এর সমস্ত অবস্থা সমর্থিত।
- ArmDisarm
-  currentArmLevel
-  currentStatusReport
- Fill
- LockUnlock
- OnOff
-  on
- OpenClose
- Scene
- TemperatureSetting
-  thermostatMode
-  thermostatTemperatureSetpoint
-  thermostatTemperatureSetpointHigh
-  thermostatTemperatureSetpointLow
 এই উদাহরণে ackNeeded চ্যালেঞ্জের একটি অনুরোধ এবং প্রতিক্রিয়া দেখানো হয়েছে যা একটি বৈশিষ্ট্য অবস্থা ব্যবহার করে। এটি এয়ার কন্ডিশনার মোডকে তাপে পরিবর্তন করে এবং তাপমাত্রা ২৮ ডিগ্রিতে সেট করে। তারপর, Assistant ব্যবহারকারীদের কাছে তাপ চালু করার এবং তাপমাত্রা ২৮ ডিগ্রিতে সেট করার স্বীকৃতি চায় কারণ প্রতিক্রিয়ায় একটি thermostatTemperatureSetpoint সেটপয়েন্ট 28 একটি অবস্থা হিসাবে ফিরে আসে।
| ব্যবহারকারী | এসি মোড গরম করার জন্য সেট করুন। | 
| 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.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 ত্রুটির প্রতিক্রিয়া ফেরত দিতে পারেন। ত্রুটির প্রতিক্রিয়া দেখুন।
| ব্যবহারকারী | ৩৩৩২২২ | 
| 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" } }] } }
বৈধ পিন
এই উদাহরণে একটি বৈধ পিনের অনুরোধ এবং প্রতিক্রিয়া দেখানো হয়েছে।
| ব্যবহারকারী | ৩৩৩৪৪৪ | 
| 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 - দুঃখিত, নিরাপত্তা কোডটি ভুল।
- ব্যবহারকারী বাতিল - ঠিক আছে
ত্রুটি এবং ব্যতিক্রমগুলির সম্পূর্ণ তালিকা দেখুন।