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

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

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

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

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

مخطّط بياني يوضّح بنية Home APIs لتطبيق Android
الشكل 1: بنية Home APIs لتطبيق 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 كيفية عمل المكوّنات معًا.

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

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

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

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

اللغة

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

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

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

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

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

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

يتم ربط الكيانات في Home APIs بمفاهيم Matter وCloud-to-cloud على النحو التالي:

Home APIs Matter Cloud-to-cloud
السمة المجموعة السمة
السمة السمة السمة، الحالة
الأوامر الأوامر الأوامر
الحدث الحدث Follow up response, Notification