ทดสอบและแก้ไขข้อบกพร่องของแอป

เราขอแนะนำให้คุณสร้างแอปการจัดการคำสั่งซื้อในร้านค้าโดยใช้ขั้นตอนที่อธิบายไว้ ก่อนหน้านี้ จากนั้นทดสอบการผสานรวมสมาร์ทโฮมในสภาพแวดล้อมการโฮสต์ของคุณเอง โดยทำตามขั้นตอนต่อไปนี้

  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. คลิกบันทึก Google อาจใช้เวลาถึง 30 นาทีในการ เผยแพร่การเปลี่ยนแปลงในคอนโซล
  4. รีบูตอุปกรณ์ Google Home หรือ Google Nest ที่ใช้ทดสอบ
  5. ออกคำสั่งไปยังอุปกรณ์อัจฉริยะ เช่น หากอุปกรณ์ของคุณ ใช้ลักษณะ OnOff คุณก็พูดว่า "Ok Google เปิดไฟ" ได้

Node.js

  1. ในหน้าการตั้งค่าและการกำหนดค่าของ Google Home Developer Console ให้เลื่อนไปที่การปฏิบัติตามคำสั่งในพื้นที่ แล้วเปิดการตั้งค่า
  2. ในส่วน URL สำหรับทดสอบ > URL สำหรับทดสอบ Node ให้ระบุ URL ของเซิร์ฟเวอร์การพัฒนาที่ให้บริการ JavaScript ซึ่งเรียกใช้แอปการจัดการคำสั่งซื้อในพื้นที่
  3. คลิกบันทึก Google อาจใช้เวลาถึง 30 นาทีในการ เผยแพร่การเปลี่ยนแปลงในคอนโซล
  4. รีบูตอุปกรณ์ Google Home หรือ Google Nest ที่ใช้ทดสอบ
  5. ออกคำสั่งไปยังอุปกรณ์อัจฉริยะ เช่น หากอุปกรณ์ของคุณ ใช้ลักษณะ OnOff คุณก็พูดว่า "Ok Google เปิดไฟ" ได้

ดูรายละเอียดเพิ่มเติมเกี่ยวกับรันไทม์ที่อุปกรณ์ใช้ได้ที่อุปกรณ์ที่รองรับ

แก้ไขข้อบกพร่องจาก Chrome

คุณสามารถแก้ไขข้อบกพร่องของแอปการจัดการคำสั่งซื้อในเครื่องได้โดยใช้เครื่องมือสำหรับนักพัฒนาเว็บใน Chrome ก่อนที่จะแก้ไขข้อบกพร่องได้ โปรดตรวจสอบว่าได้ตั้งค่าสภาพแวดล้อมอย่างถูกต้องแล้ว ดังนี้

หากต้องการเชื่อมต่อแอปการจัดการคำสั่งซื้อในร้านกับดีบักเกอร์ Chrome DevTools ให้ทำตามขั้นตอนต่อไปนี้

Chrome

  1. ติดตั้งและเปิดเบราว์เซอร์ Google Chrome ในเครื่องพัฒนาในพื้นที่
  2. ในช่องที่อยู่ของเบราว์เซอร์ Chrome ให้เปิดตัวตรวจสอบของ Chrome โดยป้อน chrome://inspect#devices คุณควรเห็นรายการอุปกรณ์ในหน้าเว็บ และไฟล์ HTML ควรแสดงอยู่ใต้ชื่ออุปกรณ์ Google Home หรือ Google Nest ที่ใช้ทดสอบ
  3. คลิกลิงก์ตรวจสอบสีน้ำเงินใต้ HTML เพื่อเปิดเครื่องมือสำหรับนักพัฒนาเว็บใน Chrome เปลี่ยนไปที่แท็บคอนโซล แพลตฟอร์ม Local Home จะแสดงเวอร์ชันแอปและเวอร์ชัน Local 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 เปลี่ยนไปที่แท็บคอนโซล แพลตฟอร์ม Local Home จะแสดงเวอร์ชันแอปและเวอร์ชัน Local Home SDK ในบันทึกของคอนโซล หากเห็นบันทึก แสดงว่า Google โหลดแอปของคุณสำเร็จและเชื่อมต่อกับแอปได้ หากยังไม่ได้ ให้รีบูตอุปกรณ์ Google Home หรือ Google Nest

ดูรายละเอียดเพิ่มเติมเกี่ยวกับรันไทม์ที่อุปกรณ์ใช้ได้ที่อุปกรณ์ที่รองรับ

เคล็ดลับในการแก้ไขข้อบกพร่อง

สิ่งที่ควรคำนึงถึงเพิ่มเติมในระหว่างการแก้ไขข้อบกพร่องมีดังนี้

  • อย่าลิงก์อุปกรณ์ Google Home หรือ Google Nest หลายเครื่องกับบัญชีทดสอบในเครือข่ายท้องถิ่นเดียวกัน คุณจะควบคุมไม่ได้ว่าอุปกรณ์ Google Home หรือ Google Nest เครื่องใดเป็นเป้าหมาย ของคำสั่งการดำเนินการในพื้นที่
  • รีเฟรชหน้าในเครื่องมือสำหรับนักพัฒนาเว็บของ Chrome เพื่อโหลดคอนเทนเนอร์แอปการจัดการคำสั่งซื้อในร้านค้าอีกครั้ง ด้วยโค้ดล่าสุดจาก URL การพัฒนา การดำเนินการนี้จะไม่รีเซ็ต แพลตฟอร์มบ้านอัจฉริยะในพื้นที่ ซึ่งอาจจำเป็นต่อการเรียกใช้ Intent ของแพลตฟอร์มอีกครั้ง (เช่น 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 Bundle ต่อไปนี้สำหรับแอปของคุณในไดเรกทอรี dist
    project-directory/
    └── dist
     ├── web
     │    └── bundle.js
     └── node
          └── bundle.js
    
  2. ในหน้าการตั้งค่าและการกำหนดค่าของ Google Home Developer Console ให้เลื่อนไปที่การปฏิบัติตามคำสั่งในพื้นที่ แล้วเปิดการตั้งค่า
  3. ใช้ปุ่มอัปโหลด JavaScript เพื่ออัปโหลดไฟล์ Bundle ที่ คุณสร้างไว้ก่อนหน้านี้
    รูปที่ 3: อัปโหลดแอป JavaScript
    อย่าลืมอัปโหลดไฟล์ Bundle ทั้ง 2 เวอร์ชัน (Node, Web) เพื่อให้ระบบกำหนดค่า Action ให้ทำงานได้อย่างถูกต้องในสภาพแวดล้อมรันไทม์ทั้งหมด ที่การจัดการในเครื่องรองรับ
    1. อัปโหลด Node.js ที่กำหนดเป้าหมาย JavaScript: อัปโหลดไฟล์ bundle.js จากไดเรกทอรี dist/node
    2. อัปโหลดการกำหนดเป้าหมาย JavaScript สำหรับ Chrome (เบราว์เซอร์): อัปโหลดไฟล์ bundle.js จากไดเรกทอรี dist/web
  4. ทดสอบแอ็กชันในอุปกรณ์ที่พร้อมใช้งาน Assistant เพื่อยืนยันว่าแอ็กชันทำงาน ตามที่คาดไว้ในสภาพแวดล้อมการใช้งานจริง ดูข้อมูลเพิ่มเติมได้ที่ทดสอบและแชร์สมาร์ทโฮมแอ็กชัน
  5. เมื่อพอใจกับการทำงานของ Action แล้ว ให้ส่ง Action ไปยัง Google เพื่อ การติดตั้งใช้งานจริงโดยทำตามวิธีการใน เปิดตัวสมาร์ทโฮม Action ซึ่งรวมถึงการทำตามขั้นตอนการทดสอบด้วยตนเองและการขอรับการรับรอง