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

اختبار تطبيقك وتصحيح الأخطاء فيه

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

نقترح عليك إنشاء تطبيق توصيل الطلبات المحلي باتّباع الخطوات الموضّحة في وقت سابق، ثم اختبار دمج خدمة Smart Home في بيئة الاستضافة الخاصة بك باستخدام الخطوات التالية:

  1. في بيئة الاستضافة الخاصة بك، اعرِض صفحة HTML التي تشغِّل تطبيق توصيل الطلبات المحلي. يعرض المقتطف التالي مثالاً لملف HTML ثابت يشغِّل تطبيق توصيل الطلبات المحلي.

    <html>
      <head>
        <!-- Local Home SDK -->
        <script src="//www.gstatic.com/eureka/smarthome/smarthome_sdk.js"></script>
        <!-- Local app under development -->
        <script src="local_execution.js"></script>
      </head>
    
    </html>
    
    
  2. اختبار التحكم في الجهاز.

  3. تصحيح الأخطاء من Chrome. يمكنك استخدام نقاط الإيقاف والسجلات لتحرّي الخلل في عملية الدمج وإصلاحه.

  4. عدّل شفرة TypeScript واجمعها، ثم كرر هذه الخطوات.

من خلال تكرار عملية الإنشاء والاختبار هذه، يمكنك مشاهدة التغييرات التي أجريتها عمليًا بسرعة وسهولة وإصلاح مشكلات الشفرة وتصحيحها.

اختبار التحكم بالجهاز

في "وحدة التحكّم في الإجراءات"، يجب تحديد عنوان URL لتطبيق الويب، الذي يعرض رمز HTML الذي يتم تحميله على Google Home أو جهاز Google Nest أثناء تنفيذ الطلبات محليًا.

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

Chrome

  1. افتح مشروع Smart Home في وحدة تحكم "الإجراءات".
  2. في شريط التنقل الأيمن، انقر على الإجراءات.
  3. ضمن ضبط حزمة تطوير البرامج (SDK) المحلية للمنزل (اختياري) > أدخِل عنوان URL التجريبي لمتصفِّح Chrome، حدِّد عنوان URL لخادم التطوير الذي يعرض رمز HTML الذي يشغِّل تطبيق توصيل الطلبات المحلي.
  4. انقر على حفظ. قد يستغرق نشر تغييرات وحدة التحكم ما يصل إلى 30 دقيقة.
  5. أعِد تشغيل جهاز Google Home أو Google Nest التجريبي.
  6. أصدر طلبًا إلى جهازك الذكي. على سبيل المثال، إذا نفّذ جهازك ميزة إيقاف التشغيل، يمكنك قول "Ok Google، أريد إضاءة المصابيح".

Node.js

  1. افتح مشروع Smart Home في وحدة تحكم "الإجراءات".
  2. في شريط التنقل الأيمن، انقر على الإجراءات.
  3. ضمن ضبط حزمة تطوير البرامج (SDK) المحلية للمنزل (اختياري) > أدخِل عنوان URL التجريبي للعقدة، حدِّد عنوان URL لخادم التطوير الذي يعرض JavaScript الذي يشغِّل تطبيق توصيل الطلبات المحلي.
  4. انقر على حفظ. قد يستغرق نشر تغييرات وحدة التحكم ما يصل إلى 30 دقيقة.
  5. أعِد تشغيل جهاز Google Home أو Google Nest التجريبي.
  6. أصدر طلبًا إلى جهازك الذكي. على سبيل المثال، إذا نفّذ جهازك ميزة إيقاف التشغيل، يمكنك قول "Ok Google، أريد إضاءة المصابيح".

لمزيد من التفاصيل عن وقت التشغيل الذي يستخدمه جهازك، راجع الأجهزة المتوافقة.

تصحيح الأخطاء من Chrome

يمكنك تصحيح أخطاء تطبيق توصيل الطلبات المحلي باستخدام Chrome DevTools. قبل تصحيح الأخطاء، تأكَّد من إعداد البيئة بشكل صحيح:

  • ضبط عنوان URL للتطوير في وحدة التحكّم على عنوان URL يمكن الوصول إليه من خلال Google Home أو جهاز Google Nest (إما على شبكة المنطقة المحلية أو على الإنترنت)
  • أن جهازك متصل بشبكة المنطقة المحلية نفسها التي يتصل بها جهاز Google Home أو Google Nest الذي تختبره.
  • لا تحظر شبكتك الحزم بين الأجهزة.
  • تم تسجيل دخولك باستخدام حساب Google نفسه على وحدة تحكم "الإجراءات" وعلى Google Home أو جهاز Google Nest.
  • أن تكون قد حدَّثت استجابة المزامنة في طريقة تنفيذ السحابة الإلكترونية. ويجب أن تعرض قيمة صالحة واحدة على الأقل في الحقل otherDeviceIds.
  • أنك أدخلت معلومات تهيئة المسح الضوئي الصحيحة في وحدة تحكم الإجراءات.

لربط تطبيق توصيل الطلبات المحلي بأداة تصحيح الأخطاء في Chrome DevTools، اتّبِع الخطوات التالية:

Chrome

  1. في جهاز التطوير المحلي، ثبِّت متصفّح Google Chrome وأطلقه.
  2. في حقل العنوان في متصفِّح Chrome، شغِّل فاحص Chrome من خلال إدخال: chrome://inspect#devices. من المفترض أن تظهر لك قائمة بالأجهزة على الصفحة، ويجب إدراج ملف HTML تحت اسم جهاز Google Home أو Google Nest التجريبي.
  3. انقر على رابط الفحص الأزرق أسفل HTML لإطلاق Chrome DevTools. بدِّل إلى علامة التبويب وحدة التحكّم. يعرض النظام الأساسي Home Home إصدار تطبيقك وإصدار حزمة تطوير البرامج (SDK) المحلية للمنزل في سجلّ وحدة التحكم. إذا رأيت السجلّ، يعني ذلك أنّ محرّك بحث Google قد حمّل تطبيقك بنجاح وأن بإمكانه الاتصال به. وإلا، أعِد تشغيل جهاز Google Home أو Google Nest.
  4. الشكل 1: تطبيق توصيل الطلبات المحلي في chrome://inspect.

Node.js

  1. في جهاز التطوير المحلي، ثبِّت متصفّح Google Chrome وأطلقه.
  2. حدِّد عنوان IP المحلي لجهاز الاختبار.
  3. في حقل العنوان في متصفِّح Chrome، شغِّل فاحص Chrome من خلال إدخال: chrome://inspect#devices.
  4. اختَر ضبط... لفتح إعدادات الاكتشاف المستهدف.
  5. الشكل 2: إعدادات الاكتشاف المستهدفة في chrome://inspect.
  6. أدخِل DEVICE_IP_ADDRESS:9222 في القائمة، ثم انقر على تم.
  7. انقر على رابط الفحص الأزرق أسفل النص البرمجي لتشغيل Chrome DevTools. بدِّل إلى علامة التبويب وحدة التحكّم. يعرض النظام الأساسي Home Home إصدار تطبيقك وإصدار حزمة تطوير البرامج (SDK) المحلية للمنزل في سجلّ وحدة التحكم. إذا رأيت السجلّ، يعني ذلك أنّ محرّك بحث Google قد حمّل تطبيقك بنجاح وأن بإمكانه الاتصال به. وإلا، أعِد تشغيل جهاز Google Home أو Google Nest.

لمزيد من التفاصيل عن وقت التشغيل الذي يستخدمه جهازك، راجع الأجهزة المتوافقة.

نصائح تصحيح الأخطاء

في ما يلي بعض النقاط الإضافية التي يجب مراعاتها أثناء تصحيح الأخطاء:

  • لا تربط أجهزة Google Home أو Google Nest متعددة بحسابك التجريبي على الشبكة المحلية نفسها. لن تتمكّن من التحكّم في أجهزة Google Home أو Google Nest المستهدَفة باستخدام الطلبات المحلية لتوصيل الطلبات.
  • أعِد تحميل الصفحة في Chrome DevTools لإعادة تحميل حاوية تطبيق توصيل الطلبات المحلية باستخدام أحدث رمز من عنوان URL للتطوير. لا يؤدّي ذلك إلى إعادة ضبط النظام الأساسي Home Home الذي قد يكون ضروريًا لإعادة تفعيل نوايا النظام الأساسي للجهاز (مثل IDENTIFY) في تطبيق توصيل الطلبات المحلي. لإعادة ضبط النظام الأساسي Home المحلي، أعِد تشغيل جهاز Google Home أو Google Nest.
  • تحقّق من تحميل تطبيق JavaScript بدون أخطاء. لإجراء ذلك، راجع قسم وحدة التحكم في صفحة DevTools. إذا كانت هناك مشكلة، فسترى رسالة على النحو التالي: Uncaught TypeError: Cannot read property ‘open’ of null.
  • يجب أن تتطابق verificationId من الاستجابة IDENTIFY مع إحدى otherDeviceIds من استجابة SYNC.
  • بالنسبة إلى معالج EXECUTE، تأكّد من إمكانية تلقّي أوامر HTTP أو TCP أو UDP من خلال جهازك والعمل على النحو المتوقّع.
  • تأكد من عرض Promise من المعالجات.
  • تجنب الحفاظ على الحالة العامة في الذاكرة. راجع دورة حياة التطبيق.
  • ستظهر الأخطاء التي يطرحها تطبيق توصيل الطلبات المحلي في سجلات الأخطاء الخاصة بالمشروع.

الإعداد والتشغيل في مرحلة الإنتاج

عندما تكون مستعدًا لإطلاق المهمّة المنزلية الذكية، اتّبِع الخطوات التالية:

  1. افتح نافذة طرفية. في دليل المشروع، شغِّل الأمر npm run build. يؤدي هذا الأمر إلى إنشاء حِزم JavaScript التالية لتطبيقك ضمن الدليل dist:
    project-directory/
    └── dist
     ├── web
     │    └── bundle.js
     └── node
          └── bundle.js
    
  2. في وحدة التحكّم، حمِّل تطبيق JavaScript من خلال النقر على تطوير > الإجراءات. في القسم تهيئة تطبيق Home المحلي SDK، انقر على تحميل ملفات جافا سكريبت.
    الشكل 3: تحميل تطبيق JavaScript.
  3. في مربع الحوار تحميل الملفات، حمّل ملفات الحزمة التي أنشأتها مسبقًا. تأكد من تحميل كلا الإصدارين من ملفات الحزمة (العقدة، الويب) حتى يتم تكوين الإجراء ليعمل بشكل صحيح عبر جميع بيئات وقت التشغيل التي يدعمها تنفيذ محلي.
    1. تحميل استهداف JavaScript Node.js: حمِّل ملف bundle.js من الدليل dist/node.
    2. تحميل متصفّح Chrome الذي يستهدف جافا سكريبت (المتصفّح): حمِّل ملف bundle.js من الدليل dist/web.
  4. اختبِر الإجراء على جهاز مزوّد بخدمة "مساعد Google" للتحقّق من أنّه يعمل وفقًا لما هو متوقّع في بيئة الإنتاج. لمعرفة المزيد من المعلومات، يُرجى الاطّلاع على اختبار الإجراءات المنزلية الذكية ومشاركتها.
  5. عندما تكون راضيًا عن آلية عمل Action، يمكنك إرساله إلى Google لنشر الإنتاج باتّباع التعليمات الواردة في إطلاق Action Home الذكي. وهذا يشمل إتمام خطوات الاختبار الذاتي وطلب الحصول على الشهادة.