เราขอแนะนำให้คุณสร้างแอปการจัดการคำสั่งซื้อในร้านโดยใช้ขั้นตอนที่อธิบายไว้ ก่อนหน้านี้ จากนั้นทดสอบการผสานรวมสมาร์ทโฮมในสภาพแวดล้อมการโฮสต์ของคุณเอง โดยทำตามขั้นตอนต่อไปนี้
ในสภาพแวดล้อมการโฮสต์ของคุณเอง ให้แสดงหน้า 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>
แก้ไขข้อบกพร่องจาก Chrome ใช้เบรกพอยต์และบันทึกเพื่อ แก้ปัญหาการผสานรวม
แก้ไขและคอมไพล์โค้ด TypeScript แล้วทำตามขั้นตอนเหล่านี้อีกครั้ง
การทำกระบวนการสร้างและทดสอบนี้ซ้ำจะช่วยให้คุณเห็นการเปลี่ยนแปลงที่เกิดขึ้น อย่างรวดเร็วเพื่อช่วยแก้ไขข้อบกพร่องในโค้ด
ทดสอบการควบคุมอุปกรณ์
ใน Google Home Developer Console คุณต้อง ระบุ URL ของเว็บแอป ซึ่ง แสดง HTML ที่โหลดในอุปกรณ์ Google Home หรือ Google Nest ระหว่างการดำเนินการตามคำสั่งในพื้นที่
หากต้องการทดสอบการควบคุมอุปกรณ์ด้วยการดำเนินการตามคำสั่งในพื้นที่ ให้ทำตามขั้นตอนต่อไปนี้
Chrome
- ในหน้าการตั้งค่าและการกำหนดค่าของการผสานรวมระบบคลาวด์ต่อคลาวด์ ใน Google Home Developer Console ให้เลื่อนไปที่การจัดการคำสั่งซื้อในร้าน แล้วเปิดการตั้งค่า
- ในส่วน URL สำหรับทดสอบ > URL สำหรับทดสอบสำหรับ Chrome ให้ระบุ URL ของเซิร์ฟเวอร์พัฒนา ที่แสดง HTML ที่เรียกใช้แอปการจัดการคำสั่งซื้อในพื้นที่
- คลิกบันทึก Google อาจใช้เวลาถึง 30 นาทีจึงจะ เผยแพร่การเปลี่ยนแปลงในคอนโซล
- รีบูตอุปกรณ์ Google Home หรือ Google Nest ที่ใช้ทดสอบ
- ออกคำสั่งไปยังอุปกรณ์อัจฉริยะ เช่น หากอุปกรณ์ ใช้ลักษณะ OnOff คุณก็พูดว่า "Ok Google เปิดไฟ" ได้
Node.js
- ในหน้าการตั้งค่าและการกำหนดค่าของ Google Home Developer Console ให้เลื่อนไปที่การจัดส่งในพื้นที่ แล้วเปิดการตั้งค่า
- ในส่วนการทดสอบ URL > การทดสอบ URL สำหรับ Node ให้ระบุ URL ของเซิร์ฟเวอร์การพัฒนาที่ให้บริการ JavaScript ซึ่งเรียกใช้แอปการดำเนินการตามคำสั่งในพื้นที่
- คลิกบันทึก Google อาจใช้เวลาถึง 30 นาทีจึงจะ เผยแพร่การเปลี่ยนแปลงในคอนโซล
- รีบูตอุปกรณ์ Google Home หรือ Google Nest ที่ใช้ทดสอบ
- ออกคำสั่งไปยังอุปกรณ์อัจฉริยะ เช่น หากอุปกรณ์ ใช้ลักษณะ OnOff คุณก็พูดว่า "Ok Google เปิดไฟ" ได้
ดูรายละเอียดเพิ่มเติมเกี่ยวกับรันไทม์ที่อุปกรณ์ใช้ได้ที่อุปกรณ์ที่รองรับ
แก้ไขข้อบกพร่องจาก Chrome
คุณสามารถแก้ไขข้อบกพร่องของแอปการจัดการคำสั่งซื้อในเครื่องได้โดยใช้เครื่องมือสำหรับนักพัฒนาเว็บใน Chrome ก่อนที่จะแก้ไขข้อบกพร่องได้ โปรดตรวจสอบว่าได้ตั้งค่าสภาพแวดล้อมอย่างถูกต้องแล้ว ดังนี้
- คุณได้ตั้งค่า URL การพัฒนาในคอนโซลเป็น URL ที่อุปกรณ์ Google Home หรือ Google Nest เข้าถึงได้ (ไม่ว่าจะอยู่ในเครือข่ายท้องถิ่นหรือใช้อินเทอร์เน็ต)
- เครื่องของคุณเชื่อมต่อกับเครือข่ายท้องถิ่นเดียวกันกับ อุปกรณ์ Google Home หรือ Google Nest ที่คุณกำลังทดสอบ
- เครือข่ายของคุณไม่ได้บล็อกแพ็กเก็ตระหว่างอุปกรณ์
- คุณเข้าสู่ระบบด้วยบัญชี Google เดียวกันใน Google Home Developer Console และในอุปกรณ์ Google Home หรือ Google Nest
- คุณได้อัปเดตการตอบสนองการซิงค์ในระบบจัดการคำสั่งซื้อบนคลาวด์แล้ว
โดยควรแสดงค่าที่ถูกต้องอย่างน้อย 1 ค่าในช่อง
otherDeviceIds
- คุณได้ป้อนข้อมูลการกำหนดค่าการสแกนที่ถูกต้อง ใน Google Home Developer Console
หากต้องการเชื่อมต่อแอปการปฏิบัติตามคำสั่งในพื้นที่กับดีบักเกอร์ Chrome DevTools ให้ทำตามขั้นตอนต่อไปนี้
Chrome
- ติดตั้งและเปิดเบราว์เซอร์ Google Chrome ในเครื่องพัฒนาในพื้นที่
- ในช่องที่อยู่ของเบราว์เซอร์ Chrome ให้เปิดตัวตรวจสอบของ Chrome
โดยป้อน
chrome://inspect#devices
คุณควรเห็นรายการอุปกรณ์ในหน้าเว็บ และไฟล์ HTML ควรแสดงอยู่ใต้ชื่ออุปกรณ์ Google Home หรือ Google Nest ที่ใช้ทดสอบ - คลิกลิงก์ตรวจสอบสีน้ำเงินใต้ HTML เพื่อเปิดเครื่องมือสำหรับนักพัฒนาเว็บใน Chrome เปลี่ยนไปที่แท็บคอนโซล แพลตฟอร์ม Local Home จะแสดงผลเวอร์ชันแอปและเวอร์ชัน Local Home SDK ในบันทึกของคอนโซล หากเห็นบันทึก แสดงว่า Google โหลดแอปของคุณสำเร็จและเชื่อมต่อกับแอปได้ หากยังไม่ได้ ให้รีบูตอุปกรณ์ Google Home หรือ Google Nest

Node.js
- ติดตั้งและเปิดเบราว์เซอร์ Google Chrome ในเครื่องพัฒนาในพื้นที่
- ตรวจสอบที่อยู่ IP ในพื้นที่ของอุปกรณ์ทดสอบ
- ในช่องที่อยู่ของเบราว์เซอร์ Chrome ให้เปิดตัวตรวจสอบของ Chrome
โดยป้อน
chrome://inspect#devices
- เลือกกำหนดค่า... เพื่อเปิดการตั้งค่าการค้นพบเป้าหมาย
- ป้อน
DEVICE_IP_ADDRESS:9222
ในรายการ แล้ว คลิกเสร็จสิ้น - คลิกลิงก์ตรวจสอบสีน้ำเงินใต้สคริปต์เพื่อเปิดเครื่องมือสำหรับนักพัฒนาเว็บใน 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
จากตัวแฮนเดิล - หลีกเลี่ยงการรักษาสถานะส่วนกลางในหน่วยความจำ ดูวงจรการใช้งานแอปพลิเคชัน
- ข้อผิดพลาดที่แอปการจัดการคำสั่งซื้อในร้านแสดงจะปรากฏในบันทึกข้อผิดพลาดของโปรเจ็กต์
เตรียมพร้อมและเปิดตัวเวอร์ชันที่ใช้งานจริง
เมื่อพร้อมเปิดตัวสมาร์ทโฮมแอ็กชันแล้ว ให้ทำตามขั้นตอนต่อไปนี้
- เปิดเทอร์มินัล เรียกใช้คำสั่ง
npm run build
ในไดเรกทอรีโปรเจ็กต์ คำสั่งนี้จะสร้าง JavaScript Bundle ต่อไปนี้สำหรับแอปของคุณในไดเรกทอรีdist
project-directory/ └── dist ├── web │ └── bundle.js └── node └── bundle.js
- ในหน้าการตั้งค่าและการกำหนดค่าของ Google Home Developer Console ให้เลื่อนไปที่การปฏิบัติตามคำสั่งในพื้นที่ แล้วเปิดการตั้งค่า
- ใช้ปุ่มอัปโหลด JavaScript เพื่ออัปโหลดไฟล์ Bundle ที่
คุณสร้างไว้ก่อนหน้านี้
รูปที่ 3: อัปโหลดแอป JavaScript - อัปโหลด Node.js ที่กำหนดเป้าหมาย JavaScript: อัปโหลดไฟล์
bundle.js
จากไดเรกทอรีdist/node
- อัปโหลดการกำหนดเป้าหมาย JavaScript สำหรับ Chrome (เบราว์เซอร์): อัปโหลดไฟล์
bundle.js
จากไดเรกทอรีdist/web
- อัปโหลด Node.js ที่กำหนดเป้าหมาย JavaScript: อัปโหลดไฟล์
- ทดสอบ Action ในอุปกรณ์ที่พร้อมใช้งาน Assistant เพื่อยืนยันว่า Action ทำงาน ตามที่คาดไว้ในสภาพแวดล้อมการใช้งานจริง ดูข้อมูลเพิ่มเติมได้ที่ทดสอบและแชร์ Action บ้านอัจฉริยะ
- เมื่อพอใจกับการทำงานของ Action แล้ว ให้ส่ง Action ไปยัง Google เพื่อ การติดตั้งใช้งานจริงโดยทำตามวิธีการใน เปิดตัวสมาร์ทโฮม Action ซึ่งรวมถึงการทำตามขั้นตอนการทดสอบด้วยตนเองและการขอรับการรับรอง