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

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

  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 การพัฒนา การดำเนินการนี้จะไม่รีเซ็ตแพลตฟอร์ม 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 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. ทดสอบ Action ในอุปกรณ์ที่พร้อมใช้งาน Assistant เพื่อยืนยันว่า Action ทำงาน ตามที่คาดไว้ในสภาพแวดล้อมการใช้งานจริง ดูข้อมูลเพิ่มเติมได้ที่ทดสอบและแชร์ Action บ้านอัจฉริยะ
  5. เมื่อพอใจกับการทำงานของ Action แล้ว ให้ส่ง Action ไปยัง Google เพื่อ การติดตั้งใช้งานจริงโดยทำตามวิธีการใน เปิดตัวสมาร์ทโฮม Action ซึ่งรวมถึงการทำตามขั้นตอนการทดสอบด้วยตนเองและการขอรับการรับรอง