اختبار تطبيقك وتصحيح أخطائه

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

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

Node.js

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

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

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

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

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

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

Chrome

  1. في جهاز التطوير المحلي، ثبِّت متصفّح Google Chrome وشغِّله.
  2. في حقل العناوين في متصفّح Chrome، افتح "أداة فحص Chrome" عن طريق إدخال: chrome://inspect#devices. من المفترض أن تظهر لك قائمة بالأجهزة في الصفحة، ومن المفترض أن يكون ملف HTML مُدرَجًا ضمن اسم جهاز Google Home أو Google Nest الذي تختبره.
  3. انقر على رابط الفحص الأزرق أسفل ملف HTML لتشغيل "أدوات مطوّري البرامج في Chrome". انتقِل إلى علامة التبويب وحدة التحكّم. تُخرج منصة Local Home إصدار تطبيقك وإصدار حزمة SDK لتطبيق Local Home في سجلّ وحدة التحكّم. إذا ظهر لك السجلّ، يعني ذلك أنّ محرّك بحث 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". انتقِل إلى علامة التبويب وحدة التحكّم. تُخرج منصة Local Home إصدار تطبيقك وإصدار حزمة SDK لتطبيق Local Home في سجلّ وحدة التحكّم. إذا ظهر لك السجلّ، يعني ذلك أنّ محرّك بحث Google حمّل تطبيقك بنجاح وأنّ بإمكانه الاتصال به. إذا لم يتم حلّ المشكلة، يُرجى إعادة تشغيل جهاز Google Home أو Google Nest.

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

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

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

  • لا تربط عدة أجهزة Google Home أو Google Nest بحسابك التجريبي على الشبكة المحلية نفسها. لن تتمكّن من التحكّم في جهاز Google Home أو Google Nest الذي يتم استهدافه باستخدام أوامر المعالجة المحلية.
  • أعِد تحميل الصفحة في أدوات مطوّري البرامج في Chrome لإعادة تحميل حاوية تطبيق التسليم داخل المتجر مع أحدث رمز من عنوان URL الخاص بالإصدار العلني. لن يؤدي هذا إلى إعادة ضبط منصة "المنزل المحلي" التي قد تكون ضرورية لإعادة تفعيل أهداف النظام الأساسي (مثل IDENTIFY) في تطبيق توصيل الطلبات على الجهاز. لإعادة ضبط منصة "المنزل المحلي"، يجب إعادة تشغيل جهاز Google Home أو جهاز Google Nest.
  • تأكَّد من أنّ تطبيق JavaScript يتم تحميله بدون أخطاء. لإجراء ذلك، راجِع قسم وحدة التحكّم في صفحة "أدوات مطوّري البرامج". إذا كانت هناك مشكلة، ستظهر لك رسالة مثل هذه: 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 من خلال النقر على تطوير > الإجراءات. في قسم ضبط حزمة تطوير البرامج (SDK) للموقع الإلكتروني المحلي، انقر على تحميل ملفات JavaScript.
    الشكل 3: تحميل تطبيق JavaScript
  3. في مربّع الحوار تحميل الملفات، حمِّل ملفات الحِزم التي سبق أن أنشأتها. احرص على تحميل كلا الإصدارَين من ملفات الحِزمة (Node وWeb) كي يتم ضبط الإجراء للعمل بشكل صحيح في جميع بيئة التشغيل التي تتيحها ميزة "العرض على الجهاز".
    1. تحميل ملف JavaScript الذي يستهدف Node.js: حمِّل ملف bundle.js من الدليل dist/node.
    2. تحميل JavaScript الذي يستهدف Chrome (المتصفّح): حمِّل ملف bundle.js من الدليل dist/web.
  4. اختبِر الإجراء على جهاز مزوّد بخدمة "مساعد Google" للتأكّد من أنّه يعمل على النحو المتوقّع في بيئة الإنتاج. لمزيد من المعلومات، يمكنك الاطّلاع على مقالة اختبار مهمة المنزل المزوّد بأجهزة ذكية ومشاركتها.
  5. عندما تصبح راضيًا عن أداء الإجراء، أرسِله إلى Google لطرحه في الإصدار العلني باتّباع التعليمات الواردة في مقالة إطلاق إجراء المنزل الذكي. ويشمل ذلك إكمال خطوات الاختبار الذاتي وطلب الحصول على شهادة الاعتماد.