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

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

  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 แล้วทําตามขั้นตอนเหล่านี้ซ้ำ

การทำตามกระบวนการสร้างและทดสอบซ้ำๆ นี้จะช่วยให้คุณเห็นการเปลี่ยนแปลงที่เกิดขึ้นได้อย่างรวดเร็ว และตรวจหาและแก้ไขข้อบกพร่องของโค้ดได้ง่ายขึ้น

ทดสอบการควบคุมอุปกรณ์

ในคอนโซลการดำเนินการ คุณต้องระบุ URL ของเว็บแอป ซึ่งจะแสดง HTML ที่โหลดในอุปกรณ์ Google Home หรือ Google Nest ในระหว่างการดำเนินการตามคำสั่งซื้อในร้าน

หากต้องการทดสอบการควบคุมอุปกรณ์ด้วยการดำเนินการตามคำสั่งซื้อในพื้นที่ ให้ทำตามขั้นตอนต่อไปนี้

Chrome

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

Node.js

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

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

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

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

  • คุณได้ตั้งค่า URL การพัฒนาในคอนโซลเป็น URL ที่อุปกรณ์ Google Home หรือ Google Nest เข้าถึงได้ (ในเครือข่ายท้องถิ่นหรือผ่านอินเทอร์เน็ต)
  • เครื่องของคุณเชื่อมต่อกับเครือข่ายท้องถิ่นเดียวกันกับอุปกรณ์ Google Home หรือ Google Nest ที่คุณทดสอบ
  • เครือข่ายไม่ได้บล็อกแพ็กเก็ตระหว่างอุปกรณ์
  • คุณลงชื่อเข้าใช้ด้วยบัญชี Google เดียวกันในคอนโซล Actions และในอุปกรณ์ Google Home หรือ Google Nest
  • คุณได้อัปเดตการตอบสนองการซิงค์ในระบบประมวลผลคำสั่งซื้อบนระบบคลาวด์แล้ว โดยควรแสดงผลค่าที่ถูกต้องอย่างน้อย 1 ค่าในช่อง otherDeviceIds
  • คุณได้ป้อนข้อมูลการกําหนดค่าการสแกนที่ถูกต้องในคอนโซลการดําเนินการ

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