সেকেন্ডারি ইউজার ভেরিফিকেশন আপনাকে ভয়েস কমান্ডে দ্বিতীয় স্তরের নিরাপত্তা যোগ করার সুযোগ দেয়। এর মাধ্যমে আপনি নির্দিষ্ট কিছু কাজের জন্য অতিরিক্ত নিরাপত্তা যোগ করতে পারেন, যেমন একটি সিকিউরিটি ক্যামেরা বন্ধ করা বা একটি দরজা খোলা। সেকেন্ডারি ইউজার ভেরিফিকেশন কোনো নির্দিষ্ট ডিভাইস ট্রেইটের সাথে যুক্ত নয়, যা আপনাকে সিদ্ধান্ত নিতে সাহায্য করে যে কখন Google Assistant একটি চ্যালেঞ্জ জারি করতে বলা হবে। উদাহরণস্বরূপ, আপনি একটি সিকিউরিটি ক্যামেরার জন্য ' OnOff ' ট্রেইটে চ্যালেঞ্জ জারি করতে পারেন, কিন্তু একটি লাইটের জন্য OnOff ' ট্রেইটে চ্যালেঞ্জ জারি নাও করতে পারেন। আপনি একই কাজের জন্য নির্দিষ্ট পরিস্থিতিতে Assistant চ্যালেঞ্জ জারি করতেও বলতে পারেন। উদাহরণস্বরূপ, আপনি Assistant অনুরোধ করতে পারেন যে যদি কোনো NFC কীফব দরজার কাছাকাছি না থাকে, তবে দরজাটি খোলার জন্য একটি চ্যালেঞ্জ অনুরোধ জারি করা হোক, কিন্তু কীফবটি উপস্থিত থাকলে যেন চ্যালেঞ্জ জারি না করা হয়।
Assistant দুই ধরনের চ্যালেঞ্জ জারি করতে পারে - সুস্পষ্ট স্বীকৃতি অথবা ব্যক্তিগত শনাক্তকরণ নম্বর (পিন)। এটি Assistant থেকে আপনার অ্যাকশনে পাঠানো QUERY এবং EXECUTE ইন্টেন্টগুলোতে একটি চ্যালেঞ্জ ব্লক যোগ করে এবং একটি challengeNeeded এরর রেসপন্স গ্রহণ করে। এরপর Assistant চ্যালেঞ্জ ব্লকের চ্যালেঞ্জ ডেটা সহ ইন্টেন্ট রিকোয়েস্টটি আপনার অ্যাকশনে ফেরত পাঠায়। ব্যবহারকারী সঠিক সিকিউরিটি রেসপন্স দিয়েছেন কিনা তা নির্ধারণ করতে আপনি তখন চ্যালেঞ্জ ডেটা ভ্যালিডেট করতে পারেন।
Assistant ডায়ালগের মাধ্যমে চ্যালেঞ্জটি জানায়, কিন্তু আপনি যদি ভয়েস-বিহীন কোনো ডিভাইসে Assistant ব্যবহার করেন, তাহলে পিন এবং কনফার্মেশন স্ক্রিনেই সম্পন্ন হয়।
কখন সেকেন্ডারি ইউজার ভেরিফিকেশন ব্যবহার করবেন
আপনি যেকোনো ডিভাইসের ধরন বা বৈশিষ্ট্যের জন্য দ্বিতীয় ব্যবহারকারী যাচাইকরণ চালু করতে পারেন। তবে, আপনার ইন্টিগ্রেশনটি প্রত্যয়িত করার জন্য আপনাকে অবশ্যই কিছু নির্দিষ্ট নিরাপত্তা-সংবেদনশীল ডিভাইসের ধরন এবং বৈশিষ্ট্যের জন্য দ্বিতীয় ব্যবহারকারী যাচাইকরণ বাস্তবায়ন করতে হবে।
নিম্নলিখিত ট্রেইট এবং ডিভাইস টাইপ কম্বিনেশনগুলির জন্য pinNeeded চ্যালেঞ্জ টাইপ ব্যবহার করে সেকেন্ডারি ইউজার ভেরিফিকেশন প্রয়োজন:
- ডিভাইসের ধরন
CAMERAহলেOnOffবৈশিষ্ট্যটি প্রযোজ্য হবে। - ডিভাইসের ধরন
DOOR,GARAGE,GATEবাWINDOWহলেOpenCloseট্রেইটটি ব্যবহৃত হয়। - আনলক করার সময়
LockUnlockবৈশিষ্ট্যটি ব্যবহৃত হয়। - নিরস্ত্র করার সময় বা নিরস্ত্রীকরণ বাতিল করার সময়
ArmDisarmট্রেইটটি ব্যবহৃত হয়। - ডিভাইসের ধরন
NETWORKবাROUTERহলেReboot,SoftwareUpdateবাNetworkControlট্রেইট।
ডিভাইসের ধরন AC_UNIT হলে এবং ইন্টিগ্রেশনের অবস্থান জাপানে হলে, TemperatureSetting ট্রেইটের জন্য ackNeeded চ্যালেঞ্জ টাইপটি আবশ্যক।
সমর্থিত চ্যালেঞ্জের প্রকারভেদ
এগুলো হলো সমর্থিত দ্বিতীয় ব্যবহারকারী যাচাইকরণ চ্যালেঞ্জের প্রকারভেদ:
- কোনো যাচাই প্রক্রিয়া নেই - এমন একটি অনুরোধ এবং প্রতিক্রিয়া যেখানে দ্বিতীয় ব্যবহারকারীর যাচাইকরণ প্রক্রিয়া ব্যবহার করা হয় না।
- ackNeeded - এটি একটি দ্বিতীয় পর্যায়ের ব্যবহারকারী যাচাইকরণ প্রক্রিয়া, যার জন্য সুস্পষ্ট স্বীকৃতি (হ্যাঁ বা না) প্রয়োজন হয় এবং যা প্রতিক্রিয়া হিসেবে ট্রেইট স্টেটও ব্যবহার করতে পারে। সিকিউরিটি ডিভাইস এবং ট্রেইটের জন্য এই ধরনের চ্যালেঞ্জ সুপারিশ করা হয় না।
- পিন প্রয়োজন - এটি একটি দ্বিতীয় পর্যায়ের ব্যবহারকারী যাচাইকরণ ব্যবস্থা, যার জন্য একটি ব্যক্তিগত শনাক্তকরণ নম্বর (পিন) প্রয়োজন হয় এবং যা নিরাপত্তা ডিভাইস ও বৈশিষ্ট্যগুলোর জন্য আদর্শ।
কোন চ্যালেঞ্জ নেই
এই উদাহরণটি বাতি জ্বালানোর জন্য কোনো বাধা ছাড়াই একটি সফল 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
একটি সেকেন্ডারি ইউজার অ্যাকনলেজমেন্ট অথেন্টিকেশন যা কোনো ট্রেইটের স্টেট ব্যবহার করতে পারে। উদাহরণস্বরূপ, যদি আপনি TemperatureSetting ট্রেইট নিয়ে কাজ করেন এবং thermostatMode ও thermostatTemperatureSetpoint উভয়ই সেট করা থাকে, তাহলে Assistant জিজ্ঞাসা করতে পারে , "আপনি কি নিশ্চিত যে আপনি এয়ার কন্ডিশনারের তাপমাত্রা ২৮ ডিগ্রিতে সেট করতে চান?"
কোনো নির্দিষ্ট অনুরোধের ভিত্তিতে 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 চ্যালেঞ্জ সহ একটি অনুরোধ এবং প্রতিক্রিয়া দেখায়। এটি এয়ার কন্ডিশনারের মোড পরিবর্তন করে হিটে নিয়ে যায় এবং তাপমাত্রা ২৮ ডিগ্রিতে সেট করে। তারপর, 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 - দুঃখিত, নিরাপত্তা কোডটি ভুল।
- ব্যবহারকারী বাতিল করেছেন - ঠিক আছে
ত্রুটি ও ব্যতিক্রমগুলির সম্পূর্ণ তালিকা দেখুন।