অভিপ্রায়

স্মার্ট হোম ইন্টেন্ট হলো সহজ মেসেজিং অবজেক্ট, যা বর্ণনা করে যে Cloud-to-cloud ইন্টিগ্রেশনের মাধ্যমে কী সম্পাদন করতে হবে, যেমন—একটি আলো জ্বালানো বা স্পিকারে অডিও কাস্ট করা।

সমস্ত smart home ইন্টেন্ট ` action.devices নেমস্পেসের অন্তর্ভুক্ত এবং আপনাকে অবশ্যই সেগুলোর জন্য ফুলফিলমেন্ট প্রদান করতে হবে। যখনই Google Assistant ফুলফিলমেন্টের জন্য কোনো ইন্টেন্ট পাঠায়, তখন ব্যবহারকারীর থার্ড-পার্টি OAuth 2 অ্যাক্সেস টোকেনটি `Authorization` হেডারে পাস করা হয়।

এইগুলো হলো সমর্থিত smart home ইন্টেন্ট:

সিঙ্ক

action.devices.SYNC ইন্টেন্টটি ব্যবহারকারীর সংযুক্ত এবং ব্যবহারের জন্য উপলব্ধ smart home ডিভাইসগুলির তালিকা অনুরোধ করতে ব্যবহৃত হয়।

যখন কোনো ব্যবহারকারী Google Home app (GHA) দিয়ে তাদের ডিভাইসগুলো সেট আপ করেন, তখন তারা আপনার ক্লাউড ইনফ্রাস্ট্রাকচারেও অথেন্টিকেট হন। এরপর, Assistant একটি OAuth2 টোকেন পায়। এই পর্যায়ে, Assistant আপনার ক্লাউড ইনফ্রাস্ট্রাকচার থেকে ব্যবহারকারীর ডিভাইস এবং সক্ষমতার প্রাথমিক তালিকা পুনরুদ্ধার করার জন্য আপনার ফুলফিলমেন্টে একটি action.devices.SYNC ইন্টেন্ট পাঠায়।

এই চিত্রটি গুগল পরিকাঠামো এবং অংশীদার পরিকাঠামোর মধ্যেকার মিথস্ক্রিয়া দেখায়। গুগল পরিকাঠামো থেকে অংশীদারদের একটি তালিকা অ্যাসিস্ট্যান্ট ক্লায়েন্ট অ্যাপের জন্য উপলব্ধ থাকে, যা পরবর্তীতে OAuth প্রমাণীকরণ সম্পন্ন করার জন্য অংশীদার পরিকাঠামোতে প্রবাহিত হয়। অংশীদার পক্ষের OAuth প্রমাণীকরণ হলো পার্টনার সেটআপ ওয়েবভিউ, OAuth ওয়েবভিউ, ঐচ্ছিক সেটিংস ও শর্তাবলী এবং পার্টনার ক্লাউড পরিষেবা। এরপর অংশীদার পরিকাঠামো OAuth ক্রেডেনশিয়ালগুলো অ্যাসিস্ট্যান্ট ক্লায়েন্ট অ্যাপে ফেরত পাঠায়। অংশীদার ক্লাউড পরিষেবাগুলো উপলব্ধ ডিভাইস এবং সক্ষমতাগুলো অ্যাসিস্ট্যান্ট পরিষেবাতে পাঠায়, যা পরবর্তীতে হোম গ্রাফে তথ্যগুলো সংরক্ষণ করে।
চিত্র ১: গুগল এবং অংশীদার পরিকাঠামোর মধ্যে মিথস্ক্রিয়া

ব্যবহারকারীর অ্যাকাউন্ট আনলিঙ্ক এবং রিলিঙ্ক করা এড়াতে, আপনি Assistant কাছে একটি রিকোয়েস্ট সিঙ্ক পাঠাতে পারেন। এটি ডিভাইস এবং ক্যাপাবিলিটির তালিকা সিঙ্ক করার জন্য আপনার ফুলফিলমেন্ট-এ action.devices.SYNC ইন্টেন্টটি পাঠায়। আরও তথ্যের জন্য ‘ইমপ্লিমেন্ট রিকোয়েস্ট সিঙ্ক’ দেখুন।

একটি SYNC ইন্টেন্টের ফ্লো ডায়াগ্রাম
চিত্র ২: SYNC অভিপ্রায়

লোকাল ফুলফিলমেন্ট সেটআপের সময়, লোকাল হোম প্ল্যাটফর্ম আপনার smart home অ্যাকশনের ক্লাউড ফুলফিলমেন্ট থেকে আসা SYNC রেসপন্সটি যাচাই করে। লোকাল ফুলফিলমেন্ট সাপোর্ট করার জন্য আপনার SYNC রেসপন্স কীভাবে পরিবর্তন করবেন সে সম্পর্কে আরও জানতে, ক্লাউড ফুলফিলমেন্টে SYNC রেসপন্স আপডেট করুন (Update SYNC response in cloud fulfillment) দেখুন।

কোয়েরি

smart home ডিভাইসগুলোর বর্তমান অবস্থা জানতে action.devices.QUERY ইন্টেন্টটি ব্যবহৃত হয়।

যখন ব্যবহারকারীরা ডিভাইসের অবস্থা জানতে চান, যেমন ‘হে গুগল, রান্নাঘরে কোন বাতিগুলো জ্বলছে?’ —এই ধরনের প্রশ্নের উত্তর খুঁজতে, Assistant আপনার ফুলফিলমেন্টে একটি action.devices.QUERY ইন্টেন্ট পাঠায়।

একটি QUERY ইন্টেন্টের ফ্লো ডায়াগ্রাম
চিত্র ৩: কোয়েরির অভিপ্রায়

সর্বোত্তম ব্যবহারকারীর অভিজ্ঞতার জন্য, আপনার ‘রিপোর্ট স্টেট’ ফিচারটি প্রয়োগ করা উচিত, যা ব্যবহারকারীর ডিভাইসগুলোর বর্তমান অবস্থা সক্রিয়ভাবে সরাসরি Google Home Graph এ রিপোর্ট করবে। উদাহরণস্বরূপ, এর মাধ্যমে Assistant জানতে পারে যে আপনার ব্যবহারকারী কোনো ফিজিক্যাল লাইট সুইচ দিয়ে স্মার্ট লাইট জ্বালিয়েছেন কি না।

রিপোর্ট স্টেট ব্যবহার করে ডিভাইসের অবস্থা রিপোর্ট করা।
চিত্র ৪: ডিভাইসের অবস্থা প্রতিবেদন করুন

কার্যকর করুন

smart home ডিভাইসগুলিতে কার্যকর করার জন্য কমান্ড সরবরাহ করতে action.devices.EXECUTE ইন্টেন্টটি ব্যবহৃত হয়।

যখন ব্যবহারকারীরা Assistant সহ ডিভাইসগুলিতে কমান্ড পাঠান, তখন আপনার ফুলফিলমেন্ট একটি action.devices.EXECUTE ইন্টেন্ট পায়, যা কাজটি এবং যে ডিভাইসগুলির উপর তা সম্পাদন করতে হবে তার বর্ণনা দেয়। একজন ব্যবহারকারী "হে গুগল, আমার বসার ঘরের বাতিগুলো জ্বালিয়ে দাও" এর মতো কমান্ডের মাধ্যমে কোনো ডিভাইসে একটি কাজ সম্পাদন করতে পারেন।

EXECUTE ইনটেন্টের ফ্লো ডায়াগ্রাম
চিত্র ৫: অভিপ্রায় কার্যকর করা

সংযোগ বিচ্ছিন্ন করুন

যখন কোনো ব্যবহারকারী Assistant থেকে অ্যাপ অ্যাকাউন্টটি আনলিঙ্ক করেন, তখন আপনাকে জানানোর জন্য action.devices.DISCONNECT ইন্টেন্টটি ট্রিগার হয়। action.devices.DISCONNECT ইন্টেন্টটি পাওয়ার পর, আপনার এই ব্যবহারকারীর ডিভাইসগুলোর স্টেট রিপোর্ট করা উচিত নয়।