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

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

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