تُعزّز حزمة تطوير البرامج (SDK) المحلية للمنزل عملية دمج منزلك الذكي مع "مساعد Google" من خلال إضافة مسار تنفيذ طلبات محلي لتوجيه الأغراض المنزلية الذكية.
تتيح لك حزمة تطوير البرامج (SDK) كتابة تطبيق توصيل محلي باستخدام TypeScript أو JavaScript، يحتوي على منطق الأعمال في منزلك. يمكن لأجهزة Google Home أو Google Nest تحميل تطبيقك وتشغيله على الجهاز. يتواصل تطبيقك مباشرةً مع أجهزتك الذكية الحالية عبر شبكة Wi-Fi على شبكة محلية (LAN) لتلبية أوامر المستخدمين، عبر البروتوكولات الحالية.
يوفّر دمج حزمة تطوير البرامج (SDK) تحسينات في الأداء على "الإجراءات المنزلية" الذكية، بما في ذلك وقت استجابة أقل وموثوقية أعلى. يتوفّر تنفيذ الطلبات على المستوى المحلي مع جميع أنواع الأجهزة وسماتها، باستثناء الأجهزة التي تستخدم طريقة التحقّق من المستخدم الثانوي.
فهم آلية العمل
بعد الحصول على استجابة SYNC
من خلال تنفيذ طلبك على السحابة الإلكترونية، يفحص النظام الأساسي Home Home شبكة المنطقة المحلية للمستخدم باستخدام mDNS أو بث UDP أو UPnP لاكتشاف الأجهزة الذكية المرتبطة بخدمة "مساعد Google".
يرسل النظام الأساسي نية IDENTIFY
لتحديد ما إذا كان الجهاز يمكن التحكم فيه محليًا أم لا، وذلك من خلال مقارنة رقم تعريف الجهاز في استجابة IDENTIFY
مع الأجهزة التي تم عرضها من خلال استجابة SYNC
السابقة. إذا كان الجهاز الذي تم اكتشافه مركزًا أو جسرًا، يرسل النظام الأساسي intent REACHABLE_DEVICES
ويتعامل مع الموزع كجهاز وكيل للاتصال محليًا.
عندما تتلقّى المنصة ردًا يؤكد جهازًا محليًا، تنشئ المنصة مسارًا محليًا لتوصيل الطلبات إلى جهاز Google Home أو Google Nest للمستخدم، وبعد ذلك يتم توجيه أوامر المستخدم إلى طريقة تنفيذ الطلبات المحلية.
عندما يفعّل المستخدم إجراء منزل مزوّدًا بأجهزة ذكية تتضمّن مسارًا محليًا لتوصيل الطلبات،
يرسل "مساعد Google" الهدف من خدمة EXECUTE
أو QUERY
إلى جهاز Google Home أو Google Nest بدلاً من خدمة توصيل الطلبات إلى السحابة الإلكترونية. بعد ذلك، يشغِّل الجهاز تطبيق توصيل الطلبات المحلي لمعالجة الهدف.

لا يحدّد النظام الأساسي Home Home آلية اختيار Google Home أو Google Nest لتشغيل الأمر. قد يكون الهدفان EXECUTE
وQUERY
من خلال أي جهاز Google Home أو Google Nest محدّد في تركيبة الرسم البياني الرئيسية نفسها التي يستخدمها الجهاز المستهدف.
تطبيق محلي لتوصيل الطلبات
يتضمّن تطبيق توصيل الطلبات المحليّ طريقة عمل النشاط التجاري لمعالجة الأغراض المُرسَلة من منصّة Home Home والوصول إلى جهازك الذكي من خلال شبكة المنطقة المحلية. ومن غير المتوقع أن يؤدي أي تعديل على جهازك إلى دمج عملية تنفيذ الطلبات على الجهاز. يلبّي التطبيق طلبات الإجراءات المنزلية الذكية عن طريق إرسال أوامر التحكُّم إلى الجهاز الذكي من خلال بروتوكولات طبقة التطبيق، بما في ذلك HTTP أو TCP أو UDP. في حال تعذّر مسار توصيل الطلبات المحلي، يتم استخدام خدمة "تلبية الطلبات على السحابة الإلكترونية" كمسار تنفيذ احتياطي.
لدعم إنشاء التطبيق، توفر حزمة SDK Home المحلية فئتين رئيسيتين:
DeviceManager
: يوفر طرقًا للاتصال بالأجهزة الذكية باستخدام بروتوكول TCP أو بروتوكول UDP أو طلبات HTTP.App
: يوفّر طرقًا لإرفاق معالجات عناصر intent التي ترسلها Google بعد اكتشاف الأجهزة التي يمكن التحكم فيها محليًا (IDENTIFY
،REACHABLE_DEVICES
). ويؤدي هذا الصف أيضًا إلى تنفيذ أوامر المستخدم (EXECUTE
)، والاستجابة لطلبات بحث المستخدمين بشأن حالة الجهاز الحالية (QUERY
).
أثناء التطوير، يمكنك إنشاء التطبيق واختباره عن طريق تحميله على الخادم المضيف الخاص بك أو جهاز التطوير المحلي. في مرحلة الإنتاج، تستضيف Google تطبيقك في بيئة وضع الحماية من JavaScript على جهاز Google Home أو Google Nest الخاص بالمستخدم.
واجهة برمجة تطبيقات حالة التقرير غير متاحة حاليًا لتلبية الطلبات على المستوى المحلي. وتعتمد Google على طريقة تنفيذ طلبات السحاب لمعالجة هذه الطلبات.
مراحل نشاط التطبيق
يتم تحميل تطبيق توصيل الطلبات المحلي عند الطلب عندما يكتشف النظام الأساسي Home Home أجهزة محلية جديدة تتطابق مع إعدادات فحص المشروع أو عندما يكون لديه نية في انتظار المراجعة للتسليم المرتبط بجهاز تم تحديده سابقًا.
أجهزة Google Home أو Google Nest محدودة الذاكرة وقد يتم إنهاء تطبيق توصيل الطلبات المحلي في أي وقت بسبب ضغط الذاكرة في النظام. ويمكن أن يحدث هذا إذا بدأ تطبيقك باستهلاك مساحة كبيرة من الذاكرة، أو إذا كان النظام بحاجة إلى توفير مساحة لتطبيق آخر. لا يؤدي نظام Home Home الأساسي إلى إعادة تشغيل تطبيقك إلا عند وجود نية جديدة لتوفير موارد الذاكرة الكافية لتشغيل التطبيق.
يُلغي النظام الأساسي Home المحلي تحميل تطبيقك بعد انتهاء مهلة عدم النشاط عندما يلغي المستخدم ربط حسابه أو عندما لا تتوفّر أجهزة تدعم تنفيذ الطلبات المحلية والمرتبطة بالمستخدم agentUserId
.
الأجهزة المتوافقة
ينفِّذ النظام الأساسي Home Home تطبيق توصيل الطلبات المحلي على أجهزة Google Home أو Google Nest المتوافقة. يوضح الجدول التالي الأجهزة المتوافقة، ووقت التشغيل المُستخدَم على كل جهاز. لمزيد من المعلومات عن متطلبات وقت التشغيل، راجِع بيئة التنفيذ.
الجهاز | النوع | بيئة |
---|---|---|
Google Home | مكبّر صوت | Chrome |
Google Home Mini | مكبّر صوت | Chrome |
Google Home Max | مكبّر صوت | Chrome |
Nest Mini | مكبّر صوت | Chrome |
Nest Hub | الشبكة الإعلانية | Chrome |
Nest Hub Max | الشبكة الإعلانية | Chrome |
Nest Wifi | جهاز التوجيه | Node.js |
نقطة | Chrome |
بيئة التنفيذ
تعتمد بيئة التنفيذ لتطبيق توصيل الطلبات المحلي على جهازك. يتوافق النظام الأساسي Home Home مع بيئات وقت التشغيل التالية:
- Chrome: يتم تنفيذ تطبيق توصيل الطلبات المحلي في سياق متصفّح Chrome
window
الذي يشغّل Chrome M80 أو إصدار أحدث مع إتاحة استخدام إصدار ECMAScript ES2018. - Node.js: يتم تنفيذ تطبيق توصيل الطلبات المحلي كنص برمجي داخل عملية Node.js تشغِّل Node v10.x LTS أو إصدار أحدث مع دعم إصدار ECMAScript ES2018.
بنية شفرة المصدر
نقترح تجميع تبعياتك في ملف JavaScript واحد باستخدام تهيئات الحزمة المتوفرة من خلال حزمة تطوير البرامج (SDK) المحلية للمنزل وتجميع رمز المصدر على أنه تعبير وظيفة استدعاء فوري (IIFE).
مسار التنفيذ
للاستفادة من حزمة تطوير البرامج (SDK) المحلية للمنزل، عليك تنفيذ المهام التالية:
1 | ضبط إعدادات الفحص | اضبط وحدة تحكّم المهام باستخدام المَعلمات اللازمة ليساعدك "مساعد Google" على اكتشاف الأجهزة التي يمكن التحكّم فيها محليًا. |
2 | تعديل استجابة SYNC في طريقة التنفيذ على السحابة الإلكترونية | في عملية التنفيذ على السحابة الإلكترونية، يمكنك تعديل
معالج
SYNC
للتوافق مع الحقل
otherDeviceIds الذي يستخدمه النظام الأساسي لإنشاء
مسار تنفيذ محلي. في هذا الحقل، حدِّد أرقام تعريف الأجهزة التي يمكن التحكم فيها محليًا.
|
3 | تنفيذ تطبيق توصيل الطلبات المحلي | استخدِم حزمة تطوير البرامج (SDK) المحلية للمنزل لإنشاء تطبيق JavaScript للتعامل مع إجراءات IDENTIFY و
EXECUTE و
QUERY . بالنسبة إلى الأجهزة الوكيلة أو الأجهزة الوسيطة، عليك
أيضًا التعامل مع intent في REACHABLE_DEVICES .
|
4 | اختبار تطبيقك وتصحيح الأخطاء فيه | اختبِر عملية التكامل (أو الشهادة الذاتية) باستخدام حزمة Google Home Test. |
قبل البدء
- اطّلع على أساسيات إنشاء إجراء منزلي ذكي.
- في وحدة تحكُّم الإجراءات، تأكَّد من أن لديك مشروعًا منزليًا ذكيًا حاليًا وأنّه تم ضبط ربط الحساب.
- تأكد من تسجيل الدخول باستخدام حساب Google نفسه في وحدة تحكم الإجراءات وفي مساعد Google على جهاز الاختبار.
- ستحتاج إلى بيئة Node.js لكتابة تطبيقك. لتثبيت Node.js وnpm، يُنصَح باستخدام إدارة إصدارات العُقد.
- للعمل مع أحدث إصدار من حزمة تطوير البرامج (SDK) المحلية للمنزل، ستحتاج إلى تسجيل أجهزة الاختبار في برنامج معاينة الإرسال.