توصيل الطلبات على المستوى المحلي

إنّ حزمة تطوير البرامج (SDK) للمنازل المحلية تعزّز عملية دمج المنزل المزوّد بأجهزة ذكية مع "مساعد Google" من خلال إضافة مسار تنفيذ محلي لتوجيه أغراض المنزل المزوّد بأجهزة ذكية.

تتيح لك حزمة تطوير البرامج (SDK) كتابة تطبيق تنفيذ محلي، باستخدام TypeScript أو JavaScript، يحتوي على منطق العمل في منزلك المزوّد بأجهزة ذكية. يمكن لأجهزة Google Home أو Google Nest تحميل تطبيقك وتشغيله على الجهاز. يتواصل تطبيقك مباشرةً مع أجهزتك الذكية الحالية عبر شبكة Wi-Fi على الشبكة المحلية (LAN) لتنفيذ أوامر المستخدمين عبر البروتوكولات الحالية.

يوفّر دمج حزمة تطوير البرامج (SDK) تحسينات في أداء إجراءات المنزل المزوّد بأجهزة ذكية، بما في ذلك وقت استجابة أقل وموثوقية أعلى. يتوافق أسلوب التنفيذ المحلي مع جميع أنواع الأجهزة وسماتها، باستثناء تلك التي تستخدم التحقق الثانوي من المستخدم.

بدء الإنشاء تجربة النموذج

فهم آلية العمل

بعد تلقّي استجابة SYNC من توفير السحابة الإلكترونية، تفحص منصة Local Home الشبكة المحلية للمستخدم باستخدام mDNS أو بث UDP أو UPnP، وذلك لاكتشاف الأجهزة الذكية المتصلة بخدمة "مساعد Google".

ترسل النظام الأساسي IDENTIFY النية من أجل تحديد ما إذا كان الجهاز قابلاً للتحكّم محليًا، وذلك من خلال مقارنة رقم تعريف الجهاز في استجابة IDENTIFY برقم تعريف الجهاز الذي يعرضه استجابة SYNC السابقة. إذا كان الجهاز الذي تم رصده عبارة عن مركز أو جسر، تُرسِل المنصة هدف REACHABLE_DEVICES وتتعامل مع المركز على أنّه جهاز وكيل للاتصال المحلي.

عندما تتلقّى استجابة يؤكد توفّر جهاز محلي، تنشئ المنصة مسار تنفيذ محليًا إلى جهاز Google Home أو Google Nest الخاص بالمستخدم، وبعد ذلك توجّه أوامر المستخدمين لتنفيذ الطلب على الجهاز.

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

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

يُرجى العِلم أنّ اختيار جهاز Google Home أو Google Nest من شأنه تشغيل الأمر بشكل غير مؤكد. يمكن أن يكون الجهازان المستهدفان EXECUTE وQUERY من خلال أي جهاز Google Home أو Google Nest تم تحديدهما في بنية الرسم البياني المنزلي نفسه كالجهاز المستهدَف.

تطبيق محلي لتوصيل الطلبات

يحتوي تطبيق تنفيذ الطلب المحلي على منطق الأعمال لمعالجة الأغراض التي ترسلها منصة Local Home والوصول إلى جهازك الذكي عبر شبكة المنطقة المحلية. لا يُتوقَّع أن يؤدي أي تعديل على جهازك إلى دمج عملية التنفيذ المحلية. يفي التطبيق بطلبات إجراءات المنزل المزوّد بأجهزة ذكية عن طريق إرسال أوامر التحكم إلى الجهاز الذكي من خلال بروتوكولات طبقة التطبيقات، بما في ذلك HTTP أو TCP أو UDP. في حال تعذُّر مسار التنفيذ المحلي، يتم استخدام "تلبية الطلبات على السحابة الإلكترونية" كمسار تنفيذ احتياطي.

لدعم إنشاء التطبيق، توفّر حزمة تطوير البرامج (SDK) للمنزل المحلي هاتين الفئتَين الرئيسيتَين:

  • DeviceManager: تقدّم طرقًا للاتصال بالأجهزة الذكية باستخدام مقابس TCP أو UDP أو طلبات HTTP.
  • App: تقدِّم طرقًا لإرفاق المعالجات للأغراض التي ترسلها Google بعد اكتشاف الأجهزة التي يمكن التحكّم فيها محليًا (IDENTIFY، REACHABLE_DEVICES). تنفّذ هذه الفئة أيضًا أوامر المستخدم (EXECUTE)، وتجيب عن طلبات بحث المستخدمين عن حالة الجهاز الحالية (QUERY).

وأثناء التطوير، يمكنك إنشاء التطبيق واختباره عن طريق تحميله على خادم الاستضافة الخاص بك أو جهاز التطوير المحلي. خلال مرحلة الإنتاج، تستضيف Google تطبيقك في بيئة وضع حماية JavaScript آمنة على جهاز Google Home أو Google Nest للمستخدم.

واجهة برمجة التطبيقات Report State "غير مدعوم" حاليًا في التنفيذ المحلي. وتعتمد Google على تنفيذ السحابة الإلكترونية لمعالجة هذه الطلبات.

مراحل نشاط التطبيق

يتم تحميل تطبيق التنفيذ المحلي عند الطلب عندما تكتشف منصة Local Home أجهزة محلية جديدة تتطابق مع ضبط فحص المشروع، أو لديه نية في انتظار المراجعة للتسليم ذات الصلة بجهاز تم تحديده مسبقًا.

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

تعمل منصة Local Home على إلغاء تحميل تطبيقك بعد انتهاء مهلة عدم النشاط عندما يلغي المستخدم ربط حسابه أو إذا لم تعُد هناك أجهزة تتوافق مع طريقة التنفيذ المحلية المرتبطة بـ agentUserId لدى المستخدم.

الأجهزة المتوافقة

تنفِّذ منصة Local 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

بيئة التنفيذ

تعتمد بيئة التنفيذ لتطبيق التنفيذ المحلي على جهازك. تتوافق منصة Local Home مع بيئات وقت التشغيل التالية:

  • Chrome: يتم تنفيذ تطبيق التنفيذ المحلي في سياق متصفِّح Chrome window الذي يعمل على Chrome M80 أو إصدار أحدث مع التوافق مع الإصدار ECMAscript ES2018.
  • Node.js: يتم تنفيذ تطبيق التنفيذ المحلي كنص برمجي ضمن عملية Node.js يتم فيها تشغيل Node v10.x LTS أو إصدار أحدث مع دعم الإصدار ECMAscript ES2018.

بنية رمز المصدر

ننصحك بتجميع العناصر الاعتمادية في ملف JavaScript واحد باستخدام إعدادات الحزمة التي توفّرها "حزمة تطوير البرامج (SDK) للمنزل المحلي" وإضافة رمز المصدر إلى الحزمة كتعبير عن دالة يتم استدعاءها فورًا.

مسار التنفيذ

لاستخدام حزمة تطوير البرامج (SDK) للمنزل المحلي في عملية دمج المنزل المزوّد بأجهزة ذكية، عليك تنفيذ المهام التالية:

1 ضبط إعدادات المسح يمكنك ضبط وحدة تحكّم المهام باستخدام المعلَمات الضرورية حتى يتمكّن "مساعد Google" من اكتشاف الأجهزة التي يمكن التحكّم فيها محليًا.
2 تعديل استجابة "المزامنة" في عملية التنفيذ على السحابة الإلكترونية أثناء تنفيذ السحابة الإلكترونية، عليك تعديل معالج طلبات SYNC للتوافق مع حقل otherDeviceIds الذي تستخدمه المنصة لإنشاء مسار محلي لتوفير الطلبات. في هذا الحقل، حدِّد أرقام تعريف الأجهزة التي يمكن التحكّم فيها محليًا.
3 تنفيذ تطبيق توصيل الطلبات المحلي يمكنك استخدام حزمة تطوير البرامج (SDK) للمنزل المحلي لإنشاء تطبيق JavaScript لمعالجة الأغراض IDENTIFY و EXECUTE و QUERY. بالنسبة إلى الأجهزة الوكيلة للموزع أو الجسر، عليك أيضًا معالجة هدف REACHABLE_DEVICES.
4 اختبار تطبيقك وتصحيح الأخطاء يمكنك اختبار عملية الدمج (أو تقديم شهادة ذاتية) باستخدام Google Home Test Suite.

قبل البدء