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

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

  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 ก่อนจะแก้ไขข้อบกพร่องได้ โปรดตรวจสอบว่าได้ตั้งค่าสภาพแวดล้อมอย่างถูกต้องแล้ว ดังนี้

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

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