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

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

  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 واجمِله، ثم كرِّر هذه الخطوات.

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

اختبار ميزة "التحكّم بالجهاز"

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

لاختبار التحكّم في الجهاز من خلال العرض المحلي، اتّبِع الخطوات التالية:

Chrome

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

Node.js

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

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

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

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

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