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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

اللغة

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

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

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

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

راجع واجهة HasId لمعرفة الكيانات التي لديها معرف.

خريطة المصطلحات

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

Home APIs Matter Cloud-to-cloud
السمة المجموعة السمة
السمة السمة السمة، الحالة
Command Command Command
الحدث الحدث متابعة الاستجابة والإخطار