การแก้ปัญหา

แอปตัวอย่าง

หากพบปัญหาเมื่อใช้ Home API คุณสามารถรวบรวมบันทึกเพื่อแก้ไขข้อบกพร่องเพิ่มเติมได้ การรวบรวมบันทึกจากอุปกรณ์เคลื่อนที่ต้องใช้ Xcode หากต้องการความช่วยเหลือจาก Google ให้รวบรวมบันทึกจากทั้งอุปกรณ์ iOS และฮับ แล้วเปิดคำขอแจ้งปัญหาในเครื่องมือติดตามปัญหาพร้อมข้อมูลและบันทึกที่เกี่ยวข้อง

รวบรวมบันทึก iOS

อุปกรณ์เคลื่อนที่ของคุณต้องเชื่อมต่อกับเครื่องในพื้นที่สำหรับทุกขั้นตอนที่เกี่ยวข้องกับ Xcode

บันทึกของแอปและบันทึกของ SDK จะแสดงและรวบรวมได้โดยตรงภายในคอนโซล Xcode เมื่ออุปกรณ์เคลื่อนที่เชื่อมต่อกับเครื่องภายในและคุณเรียกใช้แอปพลิเคชันผ่าน Xcode คอนโซลจะบันทึกและสตรีมบันทึกเอาต์พุตมาตรฐาน (stdout) และข้อผิดพลาดมาตรฐาน (stderr) จากทั้งเลเยอร์ของแอปพลิเคชันและ Home SDK ที่ผสานรวมโดยอัตโนมัติ ซึ่งช่วยให้ตรวจสอบกระบวนการเริ่มต้นแบบเรียลไทม์ การโต้ตอบกับ API และเหตุการณ์ SDK ในระหว่างการพัฒนาและการแก้ไขข้อบกพร่องได้อย่างตรงไปตรงมา

การรวบรวมบันทึกของส่วนขยายจาก Xcode

หากพบปัญหาเมื่อใช้ Home API คุณสามารถรวบรวมบันทึกเพื่อแก้ไขข้อบกพร่องเพิ่มเติมได้

  1. ใน Xcode ให้ไปที่แก้ไขข้อบกพร่องในแถบเมนูด้านบน แล้วคลิกแนบกับกระบวนการตาม PID หรือชื่อ

    การแก้ไขข้อบกพร่องของแอปตัวอย่าง

  2. ในส่วน PID or Process Name ให้เลือก MatterExtension แล้วคลิก Attach

    ส่วนขยายการแนบแอปตัวอย่าง

  3. คุณจะเห็นข้อความกำลังรอเชื่อมต่อกับ MatterAddDeviceExtension บน iPhone หากคลิกที่ด้านขวาบน

    สถานะการรอของแอปตัวอย่าง

  4. คลิกแท็บแล้วเลือก MatterAddExtension

    แอปตัวอย่างที่เพิ่มส่วนขยาย Matter

  5. คอนโซลจะบันทึกบันทึกของส่วนขยาย

Sherlog: การติดตามเหตุการณ์ข้ามสแต็ก

Sherlog เป็นบริการติดตามแบบเรียลไทม์ที่แสดงภาพรวมตั้งแต่ต้นจนจบของการโต้ตอบระหว่างโครงสร้างพื้นฐานของ Google กับบริการระบบคลาวด์ของพาร์ทเนอร์

ข้อกำหนดเบื้องต้น: การติดตามต้องใช้บัญชีที่แชร์และประสานงานโดย Google (เช่น บัญชีที่ลงทะเบียน GReg หรือบัญชีเดโม)

วัตถุประสงค์หลัก: แก้ไขข้อบกพร่องด้านฟังก์ชันและปัญหาการผสานรวมแบบคลาวด์ต่อคลาวด์ (C2C) (เช่น การลิงก์บัญชีไม่สำเร็จหรือสถานะอุปกรณ์ไม่ถูกต้อง) โดยไม่ต้องเปลี่ยนแปลงโค้ดเวอร์ชันที่ใช้งานจริง

ความสามารถ: แสดงกราฟการเรียก RPC, เพย์โหลดคำขอ/การตอบกลับ และข้อมูลเมตาที่สมบูรณ์สำหรับ Intent ของ SYNC, EXECUTE, QUERY และการลิงก์บัญชี

บันทึกของอุปกรณ์ฮับ Fuchsia

คุณสามารถรวบรวมบันทึกจากฮับ Fuchsia ต่อไปนี้ได้โดยใช้วิธีนี้ * Google Nest Hub (รุ่นที่ 2) * Google Nest Hub Max

วิธีเปิดใช้ฮับสำหรับการดึงข้อมูลบันทึกในเครื่อง

  1. ส่งอีเมลพร้อมหมายเลขซีเรียลและรุ่นของอุปกรณ์ให้ผู้จัดการลูกค้าด้านเทคนิค (TAM) ของ Google ซึ่งจะแสดงเป็นตัวอักษรขนาดเล็ก ใต้ตัวอุปกรณ์
  2. เมื่ออยู่ในรายการที่อนุญาตแล้ว คุณต้องเปิดใช้ฟีเจอร์โดยทำตามขั้นตอนต่อไปนี้
    • จากฮับ ให้ทำดังนี้
      1. เลื่อนนิ้วลงจากด้านบนของหน้าจอ
      2. แตะไอคอนการตั้งค่า
      3. ค้นหาเวอร์ชัน Fuchsia: ใน Nest Hub (รุ่นที่ 2) ให้ไปที่ข้อมูลอุปกรณ์ > ข้อมูลทางเทคนิค > เวอร์ชัน Fuchsia
      4. แตะ "เวอร์ชัน Fuchsia" 7 ครั้ง การดำเนินการนี้จะเปิดใช้ตัวเลือกสำหรับนักพัฒนาแอป
      5. กลับไปที่เมนูระดับบนสุด
      6. แตะ "ตัวเลือกสำหรับนักพัฒนาแอป"
      7. แตะ "การบันทึกของพาร์ทเนอร์"
    • ฟีเจอร์นี้จะเปิดใช้เป็นเวลา 24 ชั่วโมง หลังจากนั้น ให้เปิดใช้ฟีเจอร์การบันทึกอีกครั้งตั้งแต่ขั้นตอนที่ 5 เป็นต้นไป
  3. ดูที่อยู่ IP ของฮับโดยทำดังนี้
    • จากฮับ หากมีหน้าจอ ให้ทำดังนี้
      1. เลื่อนนิ้วลงจากด้านบนของหน้าจอ
      2. แตะไอคอนการตั้งค่า
      3. ค้นหาที่อยู่ IP ของอุปกรณ์: ใน Nest Hub (รุ่นที่ 2) ให้ไปที่ข้อมูลอุปกรณ์ > ข้อมูลทางเทคนิค > ที่อยู่ IP
    • จากแอป Google Home (GHA) ในโทรศัพท์ ให้ทำดังนี้
    • แตะอุปกรณ์เพื่อเปิดหน้ารายละเอียดอุปกรณ์
    • แตะไอคอนการตั้งค่า เพื่อเปิดหน้าการตั้งค่า
    • ค้นหาที่อยู่ IP ของอุปกรณ์โดยไปที่ข้อมูลอุปกรณ์ > ข้อมูลทางเทคนิค > ที่อยู่ IP
  4. หากต้องการดึงข้อมูลบันทึกจากฮับ คุณจะต้องส่งคำขอ HTTP GET ไปยังฮับจากคอมพิวเตอร์ในเครือข่าย Wi-Fi เดียวกัน
    • โปรดจดพอร์ตและเส้นทางของอุปกรณ์ปลายทางไว้
      curl -k -X GET https://ip-address:8443/setup/get_logs --output output-file
      
    • การเชื่อมต่อจะเปิดไว้ได้เพียง 1 นาที แต่ข้อมูลที่ดึงมาจากบัฟเฟอร์มักจะมีเหตุการณ์ที่ผ่านมา 20-30 นาที
      • ตามหลักการแล้ว ระบบจะดึงข้อมูลบันทึกโดยใช้วิธีนี้ทันทีหลังจากเสร็จสิ้นขั้นตอนการทดสอบ เพื่อให้แน่ใจว่าบัฟเฟอร์มีเนื้อหาที่เกี่ยวข้องกับการทดสอบ (คล้ายกับรายงานข้อบกพร่องของ Android)

การทำงานอัตโนมัติ

การตรวจจับขอบ

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

ตัวอย่างเช่น หากการเปิดไฟเป็นเงื่อนไขเริ่มต้น การตรวจจับขอบจะยืนยันว่าเงื่อนไขเริ่มต้นจะเปิดใช้งานก็ต่อเมื่ออุปกรณ์ไฟเปลี่ยนจากปิดเป็นเปิดเท่านั้น ไม่ใช่จากเปิดเป็นเปิด (ไม่มีการเปลี่ยนแปลง)

การทำงานอัตโนมัติไม่ทำงานตามที่คาดไว้

หลังจากพิจารณาการตรวจจับ Edge แล้ว หากการทำงานอัตโนมัติไม่ทำงานตามที่คาดไว้ ให้ทำดังนี้

  1. ตรวจสอบอุปกรณ์แต่ละเครื่องเพื่อให้แน่ใจว่าทำงานได้อย่างถูกต้องโดยไม่ขึ้นอยู่กับการทำงานอัตโนมัติ

  2. ดูกราฟการทำงานอัตโนมัติสำหรับการทำงานอัตโนมัติของคุณ โดยเปรียบเทียบกับ DSL ของการทำงานอัตโนมัติ เพื่อแสดงสมมติฐานที่อาจไม่ถูกต้องในส่วนของคุณ

  3. สังเกตสถานะอุปกรณ์ในแอป Google Home ระหว่างการทำงานอัตโนมัติ

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

การทำงานอัตโนมัติทำงานทั้งที่ไม่ควรทำงาน

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

การทำงานอัตโนมัติไม่คอมไพล์

ตรวจสอบว่าแอปมีการนําเข้าที่จําเป็นทั้งหมด รวมถึงแต่ละคลาสที่สอดคล้องกับประเภทโหนดต่างๆ ตลอดจนลักษณะที่คุณอ้างอิง

การสร้างการทำงานอัตโนมัติไม่ผ่านการตรวจสอบความถูกต้อง

หากการสร้างการทำงานอัตโนมัติไม่ผ่านการตรวจสอบ คำเตือนหรือข้อความแสดงข้อผิดพลาดจะให้ข้อมูลเกี่ยวกับปัญหา ดูข้อมูลเพิ่มเติมได้ที่ข้อมูลอ้างอิง ValidationIssueType

OAuth

หากคุณมีไคลเอ็นต์ OAuth อยู่แล้ว

หากคุณมีไคลเอ็นต์ OAuth ที่ได้รับการยืนยันสำหรับแอปที่เผยแพร่แล้ว คุณสามารถใช้ไคลเอ็นต์ OAuth ที่มีอยู่เพื่อทดสอบ Home API ได้

คุณไม่จำเป็นต้องลงทะเบียน Google Home Developer Console เพื่อทดสอบและใช้ Home API อย่างไรก็ตาม คุณจะยังคงต้องลงทะเบียน Developer Console ที่ได้รับอนุมัติเพื่อเผยแพร่แอป แม้ว่าจะมีไคลเอ็นต์ OAuth ที่ได้รับการยืนยันจากการผสานรวมอื่นแล้วก็ตาม

โดยมีข้อควรพิจารณาดังต่อไปนี้

  • โดยจะมีขีดจำกัดผู้ใช้ 100 คนเมื่อใช้ไคลเอ็นต์ OAuth ที่มีอยู่ ดูข้อมูลเกี่ยวกับการเพิ่มผู้ใช้ทดสอบได้ที่หัวข้อสร้างรหัสไคลเอ็นต์ OAuth นอกเหนือจากการยืนยัน OAuth แล้ว Home API ยังจำกัดจำนวนผู้ใช้ที่สามารถให้สิทธิ์แก่แอปพลิเคชันของคุณไว้ที่ 100 คน ข้อจำกัดนี้จะถูกยกเลิกเมื่อการลงทะเบียน Developer Console เสร็จสมบูรณ์

  • Developer Console registration ควรส่งเพื่อขออนุมัติเมื่อคุณพร้อมที่จะจำกัดการให้สิทธิ์ตามประเภทอุปกรณ์ผ่าน OAuth เพื่อเตรียมพร้อมสำหรับการอัปเดตแอปด้วย Home API

สำหรับแอป Google Cloud รายการที่ยังรอการยืนยัน OAuth อยู่ ผู้ใช้จะดำเนินการตามขั้นตอน OAuth ไม่ได้จนกว่าการยืนยันจะเสร็จสมบูรณ์ การพยายามให้สิทธิ์จะดำเนินการไม่สำเร็จและแสดงข้อผิดพลาดต่อไปนี้

Access blocked: <Project Name> has not completed the Google verification process.