برنامه خود را تست و اشکال زدایی کنید

توصیه می‌کنیم برنامه‌ی محلی خود را با استفاده از مراحلی که قبلاً توضیح داده شد، بسازید، سپس با استفاده از مراحل زیر، ادغام خانه هوشمند خود را در محیط میزبانی خود آزمایش کنید:

  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. اشکال‌زدایی از کروم . از نقاط توقف و گزارش‌ها برای عیب‌یابی ادغام خود استفاده کنید.

  4. کد TypeScript خود را اصلاح و کامپایل کنید، سپس این مراحل را تکرار کنید.

با تکرار این فرآیند ساخت و آزمایش، می‌توانید تغییرات خود را به سرعت در عمل مشاهده کنید تا به شما در اشکال‌زدایی مشکلات کدتان کمک کند.

کنترل دستگاه تست

در Google Home Developer Console ، باید آدرس اینترنتی (URL) برنامه وب خود را مشخص کنید، که HTML بارگذاری شده در دستگاه گوگل هوم یا گوگل نست را در طول فرآیند تکمیل محلی ارائه می‌دهد.

برای آزمایش کنترل دستگاه با اجرای محلی، این مراحل را دنبال کنید:

کروم

  1. در صفحه تنظیمات و پیکربندی ادغام Cloud-to-cloud خود در Google Home Developer Console ، به Local completion (تحویل محلی) بروید و تنظیمات را روشن کنید.
  2. در قسمت Testing URLs > Testing URL for Chrome ، آدرس اینترنتی سرور توسعه‌ای را مشخص کنید که HTML مورد استفاده در برنامه‌ی تکمیل سفارشات محلی شما را ارائه می‌دهد.
  3. روی ذخیره کلیک کنید. ممکن است تا 30 دقیقه طول بکشد تا گوگل تغییرات کنسول شما را منتشر کند.
  4. دستگاه آزمایشی Google Home یا Google Nest خود را مجدداً راه‌اندازی کنید.
  5. به دستگاه هوشمند خود دستور دهید. برای مثال، اگر دستگاه شما از قابلیت OnOff پشتیبانی می‌کند، می‌توانید بگویید «هی گوگل، چراغ‌ها را روشن کن».

نود جی اس

  1. در صفحه تنظیمات و پیکربندی Google Home Developer Console ، به بخش «تحویل محلی» بروید و تنظیمات را فعال کنید.
  2. در قسمت Testing URLs > Testing URL for Node ، آدرس اینترنتی سرور توسعه‌ای را مشخص کنید که جاوا اسکریپتی را ارائه می‌دهد که برنامه‌ی تکمیل سفارش محلی شما را اجرا می‌کند.
  3. روی ذخیره کلیک کنید. ممکن است تا 30 دقیقه طول بکشد تا گوگل تغییرات کنسول شما را منتشر کند.
  4. دستگاه آزمایشی Google Home یا Google Nest خود را مجدداً راه‌اندازی کنید.
  5. به دستگاه هوشمند خود دستور دهید. برای مثال، اگر دستگاه شما از قابلیت OnOff پشتیبانی می‌کند، می‌توانید بگویید «هی گوگل، چراغ‌ها را روشن کن».

برای جزئیات بیشتر در مورد اینکه دستگاه شما از کدام زمان اجرا استفاده می‌کند، به دستگاه‌های پشتیبانی‌شده مراجعه کنید.

اشکال زدایی از کروم

شما می‌توانید برنامه‌ی محلی خود را با استفاده از Chrome DevTools اشکال‌زدایی کنید. قبل از اشکال‌زدایی، مطمئن شوید که محیط شما به درستی تنظیم شده است:

  • شما آدرس اینترنتی توسعه خود را در کنسول روی آدرس اینترنتی قابل دسترسی توسط دستگاه Google Home یا Google Nest (چه از طریق شبکه محلی و چه از طریق اینترنت) تنظیم کرده‌اید،
  • دستگاه شما به همان شبکه محلی متصل است که دستگاه Google Home یا Google Nest که در حال آزمایش آن هستید، به آن متصل است.
  • شبکه شما بسته‌های بین دستگاه‌ها را مسدود نمی‌کند.
  • شما با یک حساب گوگل در Google Home Developer Console و دستگاه گوگل هوم یا گوگل نست وارد سیستم شده‌اید.
  • شما پاسخ SYNC را در پردازش ابری خود به‌روزرسانی کرده‌اید . این پاسخ باید حداقل یک مقدار معتبر در فیلد otherDeviceIds برگرداند.
  • شما اطلاعات پیکربندی اسکن صحیح را در Google Home Developer Console وارد کرده‌اید.

برای اتصال برنامه‌ی محلی خود به دیباگر Chrome DevTools، این مراحل را دنبال کنید:

کروم

  1. در دستگاه توسعه محلی خود، مرورگر گوگل کروم را نصب و اجرا کنید.
  2. در قسمت آدرس مرورگر کروم خود، با وارد کردن chrome://inspect#devices بازرسی کروم را اجرا کنید. باید لیستی از دستگاه‌ها را در صفحه مشاهده کنید و فایل HTML شما باید تحت نام دستگاه آزمایشی گوگل هوم یا گوگل نست شما فهرست شده باشد.
  3. برای اجرای Chrome DevTools، روی لینک آبی رنگ inspect در زیر HTML خود کلیک کنید. به تب Console بروید. پلتفرم Local Home نسخه برنامه شما و نسخه Local Home SDK را در گزارش کنسول نمایش می‌دهد. اگر گزارش را مشاهده کردید، به این معنی است که گوگل برنامه شما را با موفقیت بارگذاری کرده و قادر به اتصال به آن است. در غیر این صورت، دستگاه Google Home یا Google Nest خود را مجدداً راه‌اندازی کنید.
  4. شکل ۱: برنامه‌ی محلیِ انجام سفارش در chrome://inspect.

نود جی اس

  1. در دستگاه توسعه محلی خود، مرورگر گوگل کروم را نصب و اجرا کنید.
  2. آدرس IP محلی دستگاه آزمایشی خود را تعیین کنید.
  3. در قسمت آدرس مرورگر کروم خود، با وارد کردن chrome://inspect#devices ابزار بازرسی کروم را اجرا کنید.
  4. برای باز کردن تنظیمات کشف هدف، گزینه پیکربندی... را انتخاب کنید.
  5. شکل ۲: تنظیمات شناسایی هدف در chrome://inspect.
  6. DEVICE_IP_ADDRESS :9222 را در لیست وارد کرده و روی Done کلیک کنید.
  7. برای اجرای Chrome DevTools، روی لینک آبی رنگ inspect در زیر اسکریپت خود کلیک کنید. به تب Console بروید. پلتفرم Local Home نسخه برنامه شما و نسخه Local Home SDK را در گزارش کنسول نمایش می‌دهد. اگر گزارش را مشاهده کردید، به این معنی است که گوگل برنامه شما را با موفقیت بارگذاری کرده و قادر به اتصال به آن است. در غیر این صورت، دستگاه Google Home یا Google Nest خود را مجدداً راه‌اندازی کنید.

برای جزئیات بیشتر در مورد اینکه دستگاه شما از کدام زمان اجرا استفاده می‌کند، به دستگاه‌های پشتیبانی‌شده مراجعه کنید.

نکات اشکال‌زدایی

برخی از نکات اضافی که باید هنگام اشکال‌زدایی در نظر داشته باشید عبارتند از:

  • چندین دستگاه Google Home یا Google Nest را به حساب آزمایشی خود در یک شبکه محلی متصل نکنید. شما قادر نخواهید بود کنترل کنید که کدام دستگاه Google Home یا Google Nest با دستورات تکمیل سفارش محلی هدف قرار گیرد.
  • صفحه را در Chrome DevTools رفرش کنید تا کانتینر برنامه‌ی تکمیل سفارش محلی خود را با آخرین کد از URL توسعه‌ی خود بارگیری مجدد کنید. این کار پلتفرم Local Home را بازنشانی نمی‌کند، که ممکن است برای راه‌اندازی مجدد اهداف پلتفرم (مانند IDENTIFY ) در برنامه‌ی تکمیل سفارش محلی شما لازم باشد. برای بازنشانی پلتفرم Local Home، دستگاه Google Home یا Google Nest خود را مجدداً راه‌اندازی کنید.
  • بررسی کنید که برنامه جاوا اسکریپت شما بدون خطا بارگیری شود. برای انجام این کار، بخش کنسول صفحه DevTools را بررسی کنید. اگر مشکلی وجود داشته باشد، پیامی مانند این خواهید دید: 'Uncaught TypeError: Cannot read property 'open' of null.'
  • verificationId از پاسخ IDENTIFY باید با یکی از otherDeviceIds از پاسخ SYNC مطابقت داشته باشد.
  • برای کنترل‌کننده‌ی EXECUTE ، مطمئن شوید که دستورات HTTP، TCP یا UDP شما توسط دستگاه شما دریافت می‌شوند و طبق انتظار کار می‌کنند.
  • مطمئن شوید که یک Promise از handlerها برمی‌گردانید.
  • از نگهداری حالت سراسری در حافظه خودداری کنید. به چرخه حیات برنامه مراجعه کنید.
  • خطاهایی که توسط برنامه‌ی محلی تکمیل سفارش شما ایجاد می‌شوند، در گزارش‌های خطای پروژه‌ی شما نمایش داده می‌شوند.

آماده سازی و راه اندازی برای تولید

وقتی آماده راه‌اندازی اکشن خانه هوشمند خود شدید، این مراحل را دنبال کنید:

  1. یک ترمینال باز کنید. در دایرکتوری پروژه خود، دستور npm run build اجرا کنید. این دستور بسته‌های جاوا اسکریپت زیر را برای برنامه شما در دایرکتوری dist ایجاد می‌کند:
    project-directory/
    └── dist
     ├── web
     │    └── bundle.js
     └── node
          └── bundle.js
    
  2. در صفحه تنظیمات و پیکربندی Google Home Developer Console ، به بخش «تحویل محلی» بروید و تنظیمات را فعال کنید.
  3. با استفاده از دکمه‌های «بارگذاری جاوا اسکریپت» ، فایل‌های بسته‌ای را که قبلاً ایجاد کرده‌اید، بارگذاری کنید.
    شکل ۳: برنامه جاوا اسکریپت خود را آپلود کنید.
    مطمئن شوید که هر دو نسخه از فایل‌های بسته (Node، Web) را آپلود می‌کنید تا Action شما طوری پیکربندی شود که در تمام محیط‌های زمان اجرا که local completion از آنها پشتیبانی می‌کند، به درستی کار کند.
    1. جاوا اسکریپت خود را که Node.js را هدف قرار می‌دهد، آپلود کنید : فایل bundle.js را از دایرکتوری dist/node آپلود کنید.
    2. جاوا اسکریپت خود را با هدف قرار دادن کروم (مرورگر) آپلود کنید : فایل bundle.js را از دایرکتوری dist/web آپلود کنید.
  4. برای تأیید اینکه عملکرد آن در محیط عملیاتی مطابق انتظار است، اکشن خود را روی یک دستگاه مجهز به دستیار هوشمند آزمایش کنید. برای کسب اطلاعات بیشتر، به بخش «تست و اشتراک‌گذاری اکشن خانه هوشمند» مراجعه کنید.
  5. وقتی از نحوه عملکرد اکشن خود راضی بودید، با دنبال کردن دستورالعمل‌های موجود در «راه‌اندازی اکشن خانه هوشمند» آن را برای استقرار در محیط عملیاتی به گوگل ارسال کنید. این شامل تکمیل مراحل خودآزمایی و درخواست صدور گواهینامه می‌شود.