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

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

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

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

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

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

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

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

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

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

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

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

مخطّط بياني يوضّح منظومة واجهات برمجة التطبيقات الخاصة بالمنزل الذكي لتطبيق Android
الشكل 2: منظومة واجهات برمجة التطبيقات الخاصة بمنصة Home للأجهزة التي تعمل بنظام التشغيل Android

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

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

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

اللغة

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

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

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

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

راجِع واجهة HasId لمعرفة الجهات التي لديها معرّف.

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

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

Home APIs Matter Cloud-to-cloud
السمة المجموعة السمة
السمة السمة السمة، الحالة
الأوامر الأوامر الأوامر
الحدث الحدث ردّ المتابعة، إشعار