কীভাবে স্মার্ট হোম অ্যাকশন তৈরি করতে হয় তা শেখার নতুন গন্তব্য Google হোম ডেভেলপার সেন্টারে স্বাগতম। দ্রষ্টব্য: আপনি অ্যাকশন কনসোলে নির্মাণ কাজ চালিয়ে যাবেন।

সেকেন্ডারি ইউজার ভেরিফিকেশন

সেভ করা পৃষ্ঠা গুছিয়ে রাখতে 'সংগ্রহ' ব্যবহার করুন আপনার পছন্দ অনুযায়ী কন্টেন্ট সেভ করুন ও সঠিক বিভাগে রাখুন।

সেকেন্ডারি ইউজার ভেরিফিকেশন আপনাকে ভয়েস কমান্ডে সেকেন্ড ফ্যাক্টর সিকিউরিটি যোগ করতে দেয়। এটি আপনাকে কিছু নির্দিষ্ট ক্রিয়াকলাপের জন্য অতিরিক্ত সুরক্ষা যোগ করতে দেয় যেমন একটি সুরক্ষা ক্যামেরা বন্ধ করা বা একটি দরজা খোলা। সেকেন্ডারি ইউজার ভেরিফিকেশন একটি নির্দিষ্ট ডিভাইসের বৈশিষ্ট্যের সাথে আবদ্ধ নয় যা আপনাকে Google Assistant issue a challenge. For example, you can choose to issue a challenge for the OnOff trait for a security camera, but not issue a challenge for the OnOff trait for a light. You can also have Assistant issue challenges in certain situations for the same action. For example, you can request that Assistant issue a challenge request to open a door if an NFC keyfob is not in the proximity of that door, but not issue a challenge if the keyfob is present.

Assistant দুটি ধরণের চ্যালেঞ্জ জারি করতে পারে - স্পষ্ট স্বীকৃতি বা ব্যক্তিগত সনাক্তকরণ নম্বর (পিন)। এটি QUERY এ একটি চ্যালেঞ্জ ব্লক যোগ করে এবং Assistant থেকে আপনার অ্যাকশনে পাঠানো ইন্টেন্টগুলি EXECUTE এবং একটি চ্যালেঞ্জ গ্রহণ করে challengeNeeded ত্রুটির প্রতিক্রিয়া। Assistant তারপরে চ্যালেঞ্জ ব্লকে চ্যালেঞ্জ ডেটা সহ আপনার অ্যাকশনে অভিপ্রায়ের অনুরোধ ফেরত পাঠায়। তারপর ব্যবহারকারী সঠিক নিরাপত্তা প্রতিক্রিয়া দিয়েছে কিনা তা নির্ধারণ করতে আপনি চ্যালেঞ্জ ডেটা যাচাই করতে পারেন।

Assistant চ্যালেঞ্জ ইস্যু করার জন্য ডায়ালগ ব্যবহার করে, কিন্তু আপনি যদি নন-ভয়েস সারফেসে Assistant ব্যবহার করেন, তাহলে পিন এবং কনফার্মেশন অন-স্ক্রিন করা হয়।

সমর্থিত ডিভাইস প্রকার

সেকেন্ডারি ইউজার ভেরিফিকেশন সব ধরনের ডিভাইসে সমর্থিত।

সমর্থিত ডিভাইস বৈশিষ্ট্য

মাধ্যমিক ব্যবহারকারী যাচাইকরণ সমস্ত ডিভাইস বৈশিষ্ট্যের জন্য সমর্থিত।

সমর্থিত চ্যালেঞ্জ প্রকার

এইগুলি সমর্থিত মাধ্যমিক ব্যবহারকারী যাচাইকরণ চ্যালেঞ্জ প্রকার:

  • কোন চ্যালেঞ্জ নেই - একটি অনুরোধ এবং প্রতিক্রিয়া যা সেকেন্ডারি ব্যবহারকারী যাচাইকরণ চ্যালেঞ্জ ব্যবহার করে না।
  • 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
      }
    }]
  }
}

ackNeded

একটি মাধ্যমিক ব্যবহারকারী স্বীকৃতি প্রমাণীকরণ যা একটি বৈশিষ্ট্য বা একটি সাধারণ স্বীকৃতি প্রমাণীকরণের জন্য একাধিক অবস্থা ব্যবহার করতে পারে।

নিম্নলিখিত ধরণের ackNeeded চ্যালেঞ্জের ধরন রয়েছে:

সহজ প্রয়োজন

এই উদাহরণটি আলোকে ম্লান করার জন্য একটি 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"
      }
    }]
  }
}
অনুরোধ 2
{
  "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 ডিগ্রিতে সেট করে। তারপরে, Assistant ব্যবহারকারীদের কাছে তাপ চালু করতে এবং তাপমাত্রা 28 ডিগ্রিতে সেট করার স্বীকৃতির জন্য অনুরোধ করে কারণ প্রতিক্রিয়াতে 28 এর একটি thermostatTemperatureSetpoint একটি অবস্থা হিসাবে ফিরে আসে।

ব্যবহারকারী গরম করার জন্য এসি মোড সেট করুন।
Google Assistant আপনি কি নিশ্চিত যে আপনি এয়ার কন্ডিশনার তাপ 28 ডিগ্রিতে সেট করতে চান?
ব্যবহারকারী হ্যাঁ.
Google Assistant nt এয়ার কন্ডিশনারে তাপ 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"
      }
    }]
  }
}
অনুরোধ 2
{
  "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 ত্রুটি প্রতিক্রিয়া ফেরত দিতে পারেন। ত্রুটি প্রতিক্রিয়া দেখুন.

ব্যবহারকারী ৩৩৩২২২
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"
      }
    }]
  }
}

ত্রুটি প্রতিক্রিয়া

এগুলি এমন কিছু ত্রুটি কোড যা আপনার প্রতিক্রিয়াগুলির সাথে ফেরত দেওয়া যেতে পারে:

  • challengeFailedNotSetup - এই ক্রিয়াটির জন্য একটি নিরাপত্তা কোড প্রয়োজন কিন্তু এটি আপনার ডিভাইসের অ্যাপে সেট আপ করা হয়নি৷
  • tooManyFailedAttempts - দুঃখিত, অনেক ব্যর্থ প্রচেষ্টা। সেই কাজটি সম্পূর্ণ করতে অনুগ্রহ করে আপনার ডিভাইসের অ্যাপে যান।
  • pinIncorrect - দুঃখিত, নিরাপত্তা কোড ভুল।
  • userCancelled - ঠিক আছে।

ত্রুটি এবং ব্যতিক্রমগুলির সম্পূর্ণ তালিকা দেখুন।