অ্যান্ড্রয়েডের জন্য গুগল হোম এপিআইগুলি একটি ইউনিফাইড এপিআই সারফেস প্রদান করে যা ডেভেলপারদের ব্যবহারকারীর বাড়ির সত্তার অবস্থার সাথে ইন্টারঅ্যাক্ট করতে সক্ষম করে। এই সত্তাগুলি ব্যবহারকারীর কাঠামো এবং কক্ষের সাথে সম্পর্কিত ডিভাইস এবং নন-ডিভাইস তথ্য বর্ণনা করতে পারে।
হোম এপিআইগুলি নিম্নলিখিত সত্তাগুলিকে সংজ্ঞায়িত করে যার সাথে একজন ব্যবহারকারী ইন্টারঅ্যাক্ট করতে পারেন:
- কাঠামো এমন একটি বাড়ির প্রতিনিধিত্ব করে যেখানে ঘর এবং যন্ত্রপাতি থাকে।
- কক্ষগুলি একটি কাঠামোর অংশ এবং এতে ডিভাইস থাকে।
- ডিভাইসগুলি বৈশিষ্ট্য সম্বলিত বৈশিষ্ট্য বাস্তবায়ন করে, প্রকারের সাথে সঙ্গতিপূর্ণ হয়, ঘটনা নির্গত করে এবং আদেশের প্রতি সাড়া দেয়।
- অটোমেশন একটি কাঠামোর অংশ এবং বাড়ির কাজগুলি স্বয়ংক্রিয় করতে হোম মেটাডেটা এবং ডিভাইস ব্যবহার করে।
চিত্র ১ এই স্থাপত্যটি চিত্রিত করে:
হোম এপিআই ডিভাইসের ধরণগুলি Matter দ্বারা সমর্থিত হতে পারে, যা স্মার্ট হোমের জন্য একটি উন্মুক্ত মান, অথবা গুগল হোম ইকোসিস্টেমে একটি Cloud-to-cloud ডিভাইস হতে পারে। কিছু ডিভাইসের ধরণ উভয়ের কার্যকারিতা অন্তর্ভুক্ত করতে পারে। আরও তথ্যের জন্য অ্যান্ড্রয়েডে সমর্থিত ডিভাইসের ধরণগুলি দেখুন।
Matter , ডিভাইসের কার্যকারিতা ক্লাস্টার দ্বারা গোষ্ঠীভুক্ত করা হয়, যা হোম এপিআইগুলিতে Matter স্ট্যান্ডার্ড বৈশিষ্ট্য হিসাবে উপস্থাপিত হয়। হোম এপিআইগুলি বর্তমান Matter স্পেসিফিকেশনে সংজ্ঞায়িত Matter ক্লাস্টারের স্ট্যান্ডার্ড সেটকে সমর্থন করে।
গুগল হোম ইকোসিস্টেমে, ডিভাইসের কার্যকারিতা স্মার্ট হোম বৈশিষ্ট্য দ্বারা গোষ্ঠীভুক্ত করা হয়, যা হোম API গুলিতে গুগল স্মার্ট হোম বৈশিষ্ট্য হিসাবে উপস্থাপিত হয়। হোম API গুলি Cloud-to-cloud প্রোগ্রামে সংজ্ঞায়িত স্মার্ট হোম বৈশিষ্ট্যের সেটকে সমর্থন করে।
অন্যান্য বৈশিষ্ট্য, যেমন প্রস্তুতকারক-নির্দিষ্ট ক্লাস্টার এবং প্ল্যাটফর্ম বৈশিষ্ট্য, এছাড়াও উপলব্ধ। আরও জানতে, অ্যান্ড্রয়েডে ডেটা মডেল দেখুন।
বাস্তুতন্ত্র
গুগল হোম ইকোসিস্টেম স্মার্ট হোম অভিজ্ঞতা তৈরি, পরিচালনা, সুরক্ষা এবং সংহত করার জন্য একটি সুবিন্যস্ত ভিত্তি প্রদান করে। চিত্র ২ দেখায় যে কীভাবে উপাদানগুলি একসাথে কাজ করে।
ইকোসিস্টেমে গুগল অটোমেশন ইঞ্জিন অন্তর্ভুক্ত রয়েছে যা অটোমেশন সংরক্ষণ করে এবং পরিচালনা করে যা একটি বাড়িতে কাজ এবং ডিভাইস সেটিংস স্বয়ংক্রিয় করার একটি উপায় প্রদান করে।
হোম এপিআইগুলি কাঠামোর মধ্যে থাকা ডিভাইসগুলিতে অ্যাক্সেস প্রদানের জন্য OAuth 2.0 ব্যবহার করে। OAuth ব্যবহারকারীকে তাদের লগইন শংসাপত্রগুলি প্রকাশ না করেই কোনও অ্যাপ বা পরিষেবাতে অনুমতি প্রদানের অনুমতি দেয়।
Google Home Developer Console একটি হোম এপিআই প্রকল্পের সকল ধাপ পরিচালনা করতে ব্যবহৃত হয়, ব্র্যান্ড যাচাইকরণ থেকে শুরু করে ডেভেলপিং, টেস্টিং এবং সার্টিফিকেশন পর্যন্ত, চূড়ান্তভাবে লঞ্চ করা পর্যন্ত। এটি গুগল হোম ইকোসিস্টেমের মাধ্যমে শক্তিশালী সরঞ্জাম এবং বিতরণ সরবরাহ করার সময় ডেভেলপমেন্ট প্রক্রিয়াটিকে সহজতর করে।
ভাষা
অ্যান্ড্রয়েডের জন্য হোম এপিআইগুলি কোটলিনে লেখা এবং একটি ইডিওম্যাটিক কোটলিন ইন্টারফেস প্রদান করে যা ফ্লো ব্যবহার করে অবস্থা এবং সাবস্ক্রিপশন পরিচালনা করে। এটি একটি স্ট্যান্ডার্ড সাবস্ক্রিপশন এপিআইয়ের তুলনায় অনেক সুবিধা প্রদান করে।
আমরা সুপারিশ করছি যে আপনি কোরোটিন, ফ্লো এবং জেটপ্যাক কম্পোজ সম্পর্কিত কোটলিন ডকুমেন্টেশনের সাথে পরিচিত হন, যদি আপনি ইতিমধ্যে না হয়ে থাকেন:
- কোটলিন দিয়ে অ্যান্ড্রয়েড অ্যাপ তৈরি করুন
- অ্যান্ড্রয়েডের জন্য কোটলিন শিখুন
- অ্যান্ড্রয়েডে কোটলিন কোরোটিন । এই নির্দিষ্ট কোডল্যাবগুলি কার্যকর হতে পারে:
- কোটলিন অ্যান্ড্রয়েড এবং আরও নির্দিষ্টভাবে, স্টেটফ্লোতে প্রবাহিত হয়।
-  State এবং Jetpack Compose , বিশেষ করে collectAsStateWithLifecycle()ফাংশন। এই ফাংশনটি স্বয়ংক্রিয়ভাবে ফ্লো থেকে সাবস্ক্রাইবিং এবং আনসাবস্ক্রাইবিং পরিচালনা করে, যা সেই অবস্থা দেখানো UI আসলে ফোরগ্রাউন্ডে আছে কিনা তার উপর নির্ভর করে।
- আপনি যদি অটোমেশন এপিআই নিয়ে কাজ করেন, তাহলে কোটলিন টাইপ-সেফ বিল্ডার সম্পর্কে পড়া অটোমেশন ডিএসএল কীভাবে কাজ করে তা বোঝার জন্য কার্যকর।
সত্তা শনাক্তকারী
হোম এপিআই-তে প্রতিটি সত্তার একটি আইডি থাকে যা তার প্রাথমিক শনাক্তকারীকে প্রতিনিধিত্ব করে। এই আইডিটি একটি অনন্য এবং স্থিতিশীল শনাক্তকারী যা সত্তার জীবদ্দশায় কখনও পরিবর্তন হবে না। এই আইডিটি বস্তু ক্যাশে করতে বা কোনও সত্তার মেটাডেটা পরিবর্তন হতে পারে বলে সমতা পরীক্ষা করতে ব্যবহার করা যেতে পারে।
 কোন সত্তার আইডি আছে তা জানতে HasId ইন্টারফেসটি দেখুন।
পরিভাষা ম্যাপিং
হোম এপিআই-এর সত্তাগুলি Matter এবং Cloud-to-cloud ধারণাগুলিকে নিম্নরূপ ম্যাপ করে:
| হোম এপিআই | Matter | Cloud-to-cloud | 
|---|---|---|
| বৈশিষ্ট্য | ক্লাস্টার | বৈশিষ্ট্য | 
| বৈশিষ্ট্য | বৈশিষ্ট্য | বৈশিষ্ট্য, অবস্থা | 
| কমান্ড | কমান্ড | কমান্ড | 
| ইভেন্ট | ইভেন্ট | ফলো-আপ প্রতিক্রিয়া, বিজ্ঞপ্তি |