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

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

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

Node.js

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

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

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

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

หากต้องการเชื่อมต่อแอปการดำเนินการตามคำสั่งซื้อในเครื่องกับเครื่องมือแก้ไขข้อบกพร่องของเครื่องมือสำหรับนักพัฒนาเว็บ Chrome ให้ทำตามขั้นตอนต่อไปนี้

Chrome

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

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

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

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

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