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

خدمات التوصيل المحلية

تنظيم صفحاتك في مجموعات يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.

تُعزّز حزمة تطوير البرامج (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 بدلاً من خدمة توصيل الطلبات إلى السحابة الإلكترونية. بعد ذلك، يشغِّل الجهاز تطبيق توصيل الطلبات المحلي لمعالجة الهدف.

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

لا يحدّد النظام الأساسي 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.

قبل البدء