نظرة عامة على Home APIs لنظام التشغيل Android

توفّر واجهات برمجة التطبيقات لمنزل Google على Android واجهة برمجة تطبيقات موحّدة تتيح للمطوّرين التفاعل مع حالة الكيانات في منزل المستخدم. يمكن أن تصف هذه الكيانات الأجهزة والمعلومات غير المرتبطة بالأجهزة المرتبطة ببنية المستخدم وغرفه.

تحدّد واجهات برمجة التطبيقات لمنزل Google الكيانات التالية التي يمكن للمستخدم التفاعل معها:

  • تمثّل البِنى منزلاً يحتوي على غرف وأجهزة.
  • تكون الغرف جزءًا من البنية وتحتوي على أجهزة.
  • تنفّذ الأجهزة سمات تحتوي على خصائص، وتتوافق مع أنواع، وتُصدر أحداثًا، وتستجيب للأوامر.
  • تكون عمليات التشغيل الآلي جزءًا من البنية وتستخدم بيانات المنزل الوصفية والأجهزة لتشغيل المهام آليًا في المنزل.

يوضّح الشكل 1 هذه البنية:

مخطّط يوضّح بنية واجهات برمجة التطبيقات الخاصة بالمنزل لتطبيق Android
الشكل 1: بنية واجهات برمجة التطبيقات لمنزل Google لتطبيق Android

قد تكون أنواع أجهزة واجهة برمجة التطبيقات لمنزل Google مدعومة من Matter، وهو معيار مفتوح لـ المنزل الذكي، أو قد تكون جهازًا من نوع Cloud-to-cloud في المنظومة المتكاملة لمنزل Google. قد تتضمّن بعض أنواع الأجهزة وظائف من كلا النوعَين. لمزيد من المعلومات، يُرجى الاطّلاع على أنواع الأجهزة المتوافقة على Android.

في Matter، يتم تجميع وظائف الجهاز حسب المجموعات، التي يتم تمثيلها في واجهات برمجة التطبيقات لمنزل Google على أنّها Matter سمات قياسية. تتوافق واجهات برمجة التطبيقات لمنزل Google مع المجموعة القياسية من Matter مجموعات كما هو محدّد في مواصفات Matter الحالية.

في المنظومة المتكاملة لمنزل Google، يتم تجميع وظائف الجهاز حسب سمات المنزل الذكي، التي يتم تمثيلها في واجهات برمجة التطبيقات لمنزل Google على أنّها سمات المنزل الذكي من Google. تتوافق واجهات برمجة التطبيقات لمنزل Google مع مجموعة سمات المنزل الذكي كما هو محدّد في الـ Cloud-to-cloud برنامج.

تتوفّر أيضًا سمات أخرى، مثل مجموعات خاصة بالمصنّع وسمات النظام الأساسي. لمزيد من المعلومات، يُرجى الاطّلاع على نموذج البيانات على Android.

المنظومة المتكاملة

توفّر المنظومة المتكاملة لمنزل Google أساسًا مبسطًا لإنشاء تجارب المنزل الذكي وإدارتها وتأمينها ودمجها. يوضّح الشكل 2 كيفية عمل المكوّنات معًا.

مخطّط بياني يوضّح منظومة Home APIs المتكاملة لتطبيق Android
الشكل 2: المنظومة المتكاملة لواجهات برمجة التطبيقات لمنزل Google لتطبيق Android

تتضمّن المنظومة المتكاملة محرك التشغيل الآلي من Google الذي يخزّن عمليات التشغيل الآلي ويشغّلها، ما يوفّر طريقة لتشغيل المهام وإعدادات الجهاز آليًا في المنزل.

تستخدم واجهات برمجة التطبيقات لمنزل Google بروتوكول OAuth 2.0 لمنح إذن الوصول إلى الأجهزة في البنية. يسمح بروتوكول OAuth للمستخدم بمنح الإذن لتطبيق أو خدمة بدون الحاجة إلى الكشف عن بيانات تسجيل الدخول.

يتم استخدام Google Home Developer Console لإدارة جميع مراحل مشروع واجهات برمجة التطبيقات لمنزل Google ، بدءًا من التحقّق من العلامة التجارية، وصولاً إلى التطوير والاختبار والحصول على الشهادة ثم الإطلاق في النهاية. ويعمل ذلك على تبسيط عملية التطوير مع توفير أدوات قوية وتوزيعها من خلال المنظومة المتكاملة لمنزل Google.

اللغة

تمت كتابة واجهات برمجة التطبيقات لمنزل Google على Android بلغة Kotlin وتوفّر واجهة Kotlin اصطلاحية تستخدم Flow لإدارة الحالة والاشتراك. ويوفّر ذلك عددًا من المزايا مقارنةً بواجهة برمجة تطبيقات الاشتراك العادية.

ننصحك بالتعرّف على مستندات Kotlin حول الكوروتينات وFlow وJetpack Compose، إذا لم تكن على دراية بها:

معرّفات الكيانات

لكل كيان في واجهات برمجة التطبيقات لمنزل Google معرّف يمثّل المعرّف الأساسي له. هذا المعرّف فريد وثابت ولن يتغيّر أبدًا طوال فترة بقاء الكيان. يمكن استخدام هذا المعرّف لتخزين الكائنات مؤقتًا أو التحقّق من المساواة لأنّ البيانات الوصفية للكيان يمكن أن تتغيّر.

يُرجى الاطّلاع على واجهة HasId لمعرفة الكيانات التي لها معرّف.

ربط المصطلحات

ترتبط الكيانات في واجهات برمجة التطبيقات لمنزل Google بمفاهيم Matter و Cloud-to-cloud على النحو التالي:

واجهات برمجة التطبيقات لمنزل Google Matter Cloud-to-cloud
السمة المجموعة السمة
السمة السمة السمة، الحالة
الأوامر الأوامر الأوامر
الحدث الحدث الردّ المتابَع، الإشعار