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