رابطهای برنامهنویسی کاربردی (API) گوگل هوم برای اندروید، یک سطح API یکپارچه ارائه میدهند تا توسعهدهندگان بتوانند با وضعیت موجودیتهای موجود در خانه کاربر تعامل داشته باشند. این موجودیتها میتوانند اطلاعات دستگاهها و غیردستگاههای مرتبط با ساختار و اتاقهای کاربر را توصیف کنند.
APIهای Home موجودیتهای زیر را تعریف میکنند که کاربر میتواند با آنها تعامل داشته باشد:
- سازهها نمایانگر خانهای هستند که شامل اتاقها و دستگاهها میشود.
 - اتاقها بخشی از یک سازه هستند و شامل دستگاههایی میباشند.
 - دستگاهها صفاتی را پیادهسازی میکنند که شامل ویژگیها هستند، با انواع مطابقت دارند، رویدادها را منتشر میکنند و به دستورات پاسخ میدهند.
 - اتوماسیونها بخشی از یک ساختار هستند و از فرادادهها و دستگاههای خانگی برای خودکارسازی وظایف در خانه استفاده میکنند.
 
شکل ۱ این معماری را نشان میدهد:
انواع دستگاههای Home API ممکن است توسط Matter ، یک استاندارد باز برای خانه هوشمند، پشتیبانی شوند یا یک دستگاه Cloud-to-cloud در اکوسیستم Google Home باشند. برخی از انواع دستگاهها ممکن است از هر دو قابلیت استفاده کنند. برای اطلاعات بیشتر به انواع دستگاههای پشتیبانی شده در اندروید مراجعه کنید.
در Matter ، عملکرد دستگاه توسط خوشههایی گروهبندی میشود که در APIهای Home به عنوان ویژگیهای استاندارد Matter نمایش داده میشوند. APIهای Home از مجموعه استاندارد خوشههای Matter همانطور که در مشخصات فعلی Matter تعریف شده است، پشتیبانی میکنند.
در اکوسیستم گوگل هوم، عملکرد دستگاه بر اساس ویژگیهای خانه هوشمند گروهبندی میشود که در رابطهای برنامهنویسی کاربردی (API) خانه به عنوان ویژگیهای خانه هوشمند گوگل نمایش داده میشوند. رابطهای برنامهنویسی کاربردی خانه از مجموعهای از ویژگیهای خانه هوشمند که در برنامه Cloud-to-cloud تعریف شدهاند، پشتیبانی میکنند.
ویژگیهای دیگری مانند خوشههای خاص تولیدکننده و ویژگیهای پلتفرم نیز موجود است. برای کسب اطلاعات بیشتر، به مدل داده در اندروید مراجعه کنید.
اکوسیستم
اکوسیستم گوگل هوم، پایه و اساسی ساده برای ساخت، مدیریت، ایمنسازی و ادغام تجربیات خانه هوشمند فراهم میکند. شکل 2 نحوه همکاری همه اجزا را نشان میدهد.
این اکوسیستم شامل موتور اتوماسیون گوگل است که اتوماسیونها را ذخیره و اجرا میکند و راهی برای خودکارسازی وظایف و تنظیمات دستگاه در خانه فراهم میکند.
رابطهای برنامهنویسی کاربردی (API) خانه (Home APIs) از OAuth 2.0 برای اعطای دسترسی به دستگاههای موجود در ساختار استفاده میکنند. OAuth به کاربر اجازه میدهد بدون نیاز به افشای اطلاعات ورود به سیستم، به یک برنامه یا سرویس مجوز دهد.
Google Home Developer Console برای مدیریت تمام مراحل یک پروژه APIهای هوم، از تأیید برند گرفته تا توسعه، آزمایش و صدور گواهینامه و در نهایت راهاندازی، استفاده میشود. این کنسول فرآیند توسعه را ساده میکند و در عین حال ابزارهای قدرتمندی را ارائه میدهد و از طریق اکوسیستم گوگل هوم توزیع میکند.
زبان
رابطهای برنامهنویسی کاربردی (API) اندروید (Android) به زبان کاتلین نوشته شدهاند و یک رابط کاتلین اصطلاحی ارائه میدهند که از Flow برای مدیریت وضعیت و اشتراک استفاده میکند. این امر مزایای متعددی نسبت به یک API اشتراکی استاندارد ارائه میدهد.
اگر هنوز با مستندات کاتلین در مورد کوروتینها، فلو و جتپک کامپوز آشنا نشدهاید، توصیه میکنیم با آنها آشنا شوید:
- توسعه اپلیکیشنهای اندروید با کاتلین
 - یادگیری کاتلین برای اندروید
 - کوروتینهای کاتلین در اندروید . این آزمایشگاههای کد خاص ممکن است مفید باشند:
 - کاتلین روی اندروید جریان دارد و به طور خاص، StateFlow .
 -  State و Jetpack Compose ، به طور خاص تابع 
collectAsStateWithLifecycle(). این تابع به طور خودکار اشتراک و لغو اشتراک از جریانها را بر اساس اینکه آیا رابط کاربری که آن حالت را نشان میدهد واقعاً در پیشزمینه است یا خیر، مدیریت میکند. - اگر با API اتوماسیون کار میکنید، مطالعهی مطلب مربوط به سازندگان نوع امن کاتلین (Kotlin type-safe builders) برای درک نحوهی کار Automation DSL مفید خواهد بود.
 
شناسههای موجودیت
هر موجودیت در APIهای Home یک شناسه دارد که معرف شناسه اصلی آن است. این شناسه، یک شناسه منحصر به فرد و پایدار است که در طول عمر موجودیت هرگز تغییر نخواهد کرد. این شناسه میتواند برای ذخیره اشیاء یا بررسی برابری استفاده شود، زیرا فرادادههای یک موجودیت میتوانند تغییر کنند.
 برای آشنایی با موجودیتهایی که شناسه دارند، به رابط HasId مراجعه کنید.
نگاشت اصطلاحات
موجودیتهای موجود در رابطهای برنامهنویسی کاربردی خانگی (Home APIs) به مفاهیم Matter و Cloud-to-cloud به شرح زیر نگاشت میشوند:
| API های خانگی | Matter | Cloud-to-cloud | 
|---|---|---|
| صفت | خوشه | صفت | 
| ویژگی | ویژگی | ویژگی، حالت | 
| فرمان | فرمان | فرمان | 
| رویداد | رویداد | پاسخ پیگیری، اطلاع رسانی |