ยินดีต้อนรับสู่ศูนย์นักพัฒนาซอฟต์แวร์ Google Home ซึ่งเป็นจุดหมายใหม่เกี่ยวกับวิธีพัฒนาการดําเนินการสําหรับบ้านอัจฉริยะ หมายเหตุ: คุณจะสร้างการดําเนินการต่างๆ ต่อไปในคอนโซลการดําเนินการ

แก้ปัญหาข้อผิดพลาดในการผสานรวม

Google Cloud มีเครื่องมือในการตรวจสอบความน่าเชื่อถือของโปรเจ็กต์ด้วย Google Cloud Monitoring และแก้ไขข้อบกพร่องเกี่ยวกับบันทึกข้อผิดพลาด Google Cloud Logging รายการ เมื่อใดก็ตามที่ความล้มเหลวเกิดขึ้นเมื่อทําตามเจตนาของผู้ใช้ ไปป์ไลน์ของ Google Home Analytics จะบันทึกความล้มเหลวดังกล่าวในเมตริก และเผยแพร่บันทึกข้อผิดพลาดในบันทึกของโปรเจ็กต์

การแก้ปัญหาข้อผิดพลาดมีสองขั้นตอน ดังนี้

  1. ตรวจสอบสถานะของโปรเจ็กต์ด้วยเมตริกบ้านอัจฉริยะ
  2. ตรวจสอบปัญหาโดยตรวจสอบคําอธิบายข้อผิดพลาดโดยละเอียดในบันทึกข้อผิดพลาด

กระบวนการนี้คล้ายกับการผสานรวมภายในโดยใช้ Local Home SDK เมื่อคุณเข้าใจขั้นตอนการแก้ปัญหาแล้ว คุณสามารถสลับใช้ระหว่างเมตริกและบันทึกต่างๆ เพื่อดูข้อมูลเชิงลึกเกี่ยวกับข้อผิดพลาดได้อย่างง่ายดาย

ข้อผิดพลาดในการตรวจสอบ

คุณใช้ Google Cloud Monitoring dashboard เพื่อเข้าถึงเมตริกโครงการได้ มีแผนภูมิหลักที่มีประโยชน์เป็นพิเศษ สําหรับการตรวจสอบคุณภาพและการแก้ไขข้อบกพร่อง

  • แผนภูมิอัตราความสําเร็จคือแผนภูมิแรกที่จะเริ่มต้นเมื่อคุณตรวจสอบความน่าเชื่อถือของโปรเจ็กต์ การลดลงในแผนภูมินี้หมายถึงการหยุดทํางานบางส่วนหรือฐานผู้ใช้ทั้งหมด เราขอแนะนําให้ติดตามแผนภูมินี้อย่างใกล้ชิดเพื่อหาความผิดปกติใดๆ หลังการเปลี่ยนแปลงหรืออัปเดตโปรเจ็กต์ของคุณ
  • แผนภูมิเวลาในการตอบสนองของเปอร์เซ็นไทล์ที่ 95 เป็นตัวบ่งชี้ที่สําคัญว่าการทํางานของบ้านอัจฉริยะมีประสิทธิภาพเพียงใดสําหรับผู้ใช้ ความผันผวนอย่างฉับพลัน ในแผนภูมินี้ อาจบ่งชี้ว่าระบบของคุณอาจตอบสนองคําขอไม่ได้ เราขอแนะนําให้คุณตรวจสอบแผนภูมินี้เป็นระยะ เพื่อดูการทํางานที่ไม่คาดคิด
  • แผนภูมิรายละเอียดข้อผิดพลาดมีประโยชน์มากที่สุดเมื่อต้องแก้ปัญหาเกี่ยวกับการผสานรวม สําหรับแต่ละข้อผิดพลาดที่ไฮไลต์อยู่ในแผนภูมิเปอร์เซ็นต์ความสําเร็จ รหัสข้อผิดพลาดจะแสดงในการแจกแจงข้อผิดพลาด คุณดูข้อผิดพลาดที่ Google Home platform แจ้งได้และวิธีแก้ปัญหาในตารางด้านล่าง

รหัสข้อผิดพลาดของแพลตฟอร์ม

ต่อไปนี้เป็นรหัสข้อผิดพลาดบางส่วนที่คุณอาจพบในบันทึกโปรเจ็กต์เพื่อระบุปัญหาที่ Google Home platform ตรวจพบ โปรดดูตารางต่อไปนี้เพื่อดูข้อมูลการแก้ปัญหา

รหัสข้อผิดพลาด คำอธิบาย
BACKEND_FAILURE_URL_ERROR Google ได้รับรหัสข้อผิดพลาด HTTP 4xx ที่ไม่ใช่ 401 จากบริการ

ใช้ requestId ในการบันทึก GCP เพื่อตรวจสอบบันทึกบริการบ้านอัจฉริยะ
BACKEND_FAILURE_URL_UNREACHABLE Google ได้รับรหัสข้อผิดพลาด HTTP 5xx จากบริการของคุณ

ใช้ requestId ในการบันทึก GCP เพื่อตรวจสอบบันทึกบริการบ้านอัจฉริยะ
GAL_BAD_3P_RESPONSE Google แยกวิเคราะห์คําตอบจากบริการลิงก์บัญชีไม่ได้เนื่องจากรูปแบบหรือค่าที่ไม่ถูกต้องในเพย์โหลด

ใช้ requestId ใน GCP Logging เพื่อตรวจสอบบันทึกข้อผิดพลาดในบริการลิงก์บัญชี
GAL_INTERNAL เกิดข้อผิดพลาดภายในของ Google เกิดขึ้นเมื่อ Google พยายามเรียกโทเค็นเพื่อการเข้าถึง

หากคุณเห็นอัตราข้อผิดพลาดนี้ในการบันทึก GCP เพิ่มขึ้น โปรดติดต่อเรา เพื่อขอข้อมูลเพิ่มเติม
GAL_INVALID_ARGUMENT เกิดข้อผิดพลาดภายในของ Google เกิดขึ้นเมื่อ Google พยายามเรียกโทเค็นเพื่อการเข้าถึง

หากคุณเห็นอัตราข้อผิดพลาดนี้ในการบันทึก GCP เพิ่มขึ้น โปรดติดต่อเรา เพื่อขอข้อมูลเพิ่มเติม
GAL_NOT_FOUND โทเค็นเพื่อการเข้าถึงและโทเค็นการรีเฟรชของผู้ใช้ที่เก็บไว้ใน Google จะใช้ไม่ได้และรีเฟรชไม่ได้อีก ผู้ใช้ต้องลิงก์บัญชีอีกครั้งเพื่อใช้บริการของคุณต่อ

หากคุณเห็นอัตราข้อผิดพลาดนี้ในการบันทึก GCP เพิ่มขึ้น โปรดติดต่อเรา เพื่อขอข้อมูลเพิ่มเติม
GAL_PERMISSION_DENIED เกิดข้อผิดพลาดภายในของ Google เมื่อการแชร์โทเค็นไม่ได้รับอนุญาต

หากคุณเห็นอัตราข้อผิดพลาดนี้ในการบันทึก GCP เพิ่มขึ้น โปรดติดต่อเรา เพื่อขอข้อมูลเพิ่มเติม
GAL_REFRESH_IN_PROGRESS โทเค็นเพื่อการเข้าถึงของผู้ใช้หมดอายุและกําลังพยายามรีเฟรชพร้อมกัน

นี่ไม่ใช่ปัญหาและคุณไม่ต้องดําเนินการใดๆ
INVALID_AUTH_TOKEN Google ได้รับรหัสข้อผิดพลาด HTTP 401 จากบริการของคุณ

โทเค็นเพื่อการเข้าถึงจะไม่หมดอายุ แต่บริการของคุณได้ทําให้โทเค็นใช้งานไม่ได้ ใช้ requestId ใน GCP Logging เพื่อตรวจสอบบันทึกบริการสมาร์ทโฮม
INVALID_JSON ไม่เข้าใจหรือแยกวิเคราะห์การตอบกลับ JSON ไม่ได้

ตรวจสอบโครงสร้างของการตอบสนอง JSON สําหรับไวยากรณ์ที่ไม่ถูกต้อง เช่น วงเล็บไม่ตรงกัน จุลภาคขาดหายไป อักขระไม่ถูกต้อง
OPEN_AUTH_FAILURE โทเค็นเพื่อการเข้าถึงของผู้ใช้หมดอายุและ Google รีเฟรชไม่ได้ หรือ Google ได้รับรหัสข้อผิดพลาด HTTP 401 จากบริการของคุณ

ในกรณีที่เห็นอัตรานี้ของรหัสเพิ่มขึ้น ให้ตรวจสอบว่าอัตราข้อผิดพลาดที่เกี่ยวข้องกับ Intent ในบ้านอัจฉริยะเพิ่มขึ้นหรือไม่ หรือรีเฟรชคําขอโทเค็น
PARTNER_RESPONSE_INVALID_ERROR_CODE การตอบกลับแจ้งรหัสข้อผิดพลาดที่ไม่รู้จัก

หากการตอบกลับคําขอระบุว่ามีข้อผิดพลาด โปรดใช้รหัสที่ได้จาก รหัสข้อผิดพลาดที่รองรับ
PARTNER_RESPONSE_INVALID_PAYLOAD แยกวิเคราะห์ช่องคําตอบ payload เป็นออบเจ็กต์ JSON ไม่ได้

ตรวจสอบว่าช่องเปย์โหลดในการตอบกลับคําขอมีวงเล็บที่ตรงกันหรือไม่ และจัดโครงสร้างให้เป็นช่อง JSON อย่างถูกต้อง
PARTNER_RESPONSE_INVALID_STATUS คําตอบไม่ได้ระบุสถานะ หรือสถานะไม่ถูกต้อง

การตอบกลับคําขอดําเนินการตาม Intent ควรระบุสถานะด้วย SUCCESS, OFFLINE, ERROR, EXCEPTIONS ดูข้อมูลเพิ่มเติมเกี่ยวกับ การจัดการข้อผิดพลาดและข้อยกเว้น
PARTNER_RESPONSE_MISSING_COMMANDS_AND_DEVICES ไม่พบ Intent อย่างน้อย 1 รายการในคําขอ ในการตอบกลับ

ตรวจสอบว่า การตอบกลับการดําเนินการมีโครงสร้างที่ถูกต้อง และผลลัพธ์ของ Intent ทั้งหมดในคําขอนั้นมีอยู่ในการตอบกลับ
PARTNER_RESPONSE_MISSING_DEVICE อุปกรณ์ที่แสดงในคําขอขาดหายไปอย่างน้อย 1 รายการ

ตรวจสอบว่า การตอบกลับการดําเนินการมีโครงสร้างที่ถูกต้องและ รหัสอุปกรณ์ทั้งหมดจากคําขอมีอยู่ในการตอบกลับของคุณ
PARTNER_RESPONSE_MISSING_PAYLOAD การตอบกลับไม่มีช่อง payload

อย่าลืมรวมช่องเปย์โหลดไว้ในคําขอด้วย ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีสร้าง การตอบสนองการเรียกใช้งานที่ถูกต้อง
PARTNER_RESPONSE_NOT_OBJECT แยกวิเคราะห์คําตอบเป็นออบเจ็กต์ JSON ไม่ได้

ตรวจสอบช่องทั้งหมดในคําขอคําขอเพื่อดูอักขระที่ไม่ได้ตั้งใจ วงเล็บไม่ตรงกัน หรือข้อผิดพลาดในการจัดรูปแบบ ระบบอาจไม่รองรับอักขระ Unicode บางตัว อย่าลืมตรวจสอบว่าการตอบกลับมีโครงสร้างเป็นออบเจ็กต์ JSON อย่างถูกต้อง
RESPONSE_TIMEOUT คําขอหมดเวลาขณะรอการตอบกลับ

ระยะหมดเวลาสําหรับการตอบกลับคือ 9 วินาทีนับจากวันที่ส่งคําขอ โปรดส่งคําตอบภายในระยะเวลานี้
RESPONSE_UNAVAILABLE ไม่ได้รับการตอบกลับ หรือการตอบกลับไม่ระบุสถานะ

การตอบสนองต่อคําขอดําเนินการตาม Intent ควรจัดโครงสร้างตาม เอกสารบ้านอัจฉริยะและระบุสถานะ

ข้อมูลบันทึกการค้นหา

เมื่อคุณพอใจกับการผสานรวมโดยใช้เมตริกแล้ว ขั้นตอนต่อไปคือการแก้ปัญหาข้อผิดพลาดที่เฉพาะเจาะจงโดยใช้ Cloud Logging บันทึกข้อผิดพลาดคือรายการแบบ JSON ที่มีช่องที่มีข้อมูลที่เป็นประโยชน์ เช่น เวลา รหัสข้อผิดพลาด และรายละเอียดเกี่ยวกับ Intent ของบ้านอัจฉริยะ

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

ค้นหาบันทึกระบบคลาวด์

คุณสามารถใช้ปุ่มค้นหาเพื่อช่วยในการสร้างตัวกรองที่กําหนดเอง

สร้างการค้นหา Cloud Log

หากต้องการระบุช่วงเวลา ให้คลิกปุ่มการเลือกช่วงเวลา และเลือกตัวเลือกที่มีให้ ซึ่งจะกรองบันทึกและแสดงบันทึกต่างๆ ที่เกิดขึ้นในช่วงเวลาที่เลือก

หากต้องการระบุทรัพยากร ให้คลิกเมนูแบบเลื่อนลงทรัพยากร แล้วเลือกโปรเจ็กต์การดําเนินการของ Google Assistant ซึ่งจะเพิ่มตัวกรองในคําค้นหาเพื่อแสดงบันทึกที่มาจากโปรเจ็กต์ของคุณ

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

คุณยังใช้ช่องการค้นหาใน Logs Explorer เพื่อป้อนรายการที่กําหนดเองได้ด้วย เครื่องมือการค้นหาที่ช่องนี้ใช้รองรับทั้งการค้นหาพื้นฐาน เช่น การจับคู่สตริง และการสืบค้นขั้นสูงขึ้น รวมถึงตัวเปรียบเทียบ (<, >=, !=) และผู้ให้บริการบูลีน (AND, OR, NOT)

ตัวอย่างเช่น รายการที่กําหนดเองด้านล่างจะแสดงข้อผิดพลาดที่เกิดจากอุปกรณ์ LIGHT ประเภท

resource.type = "assistant_action_project" AND severity = ERROR AND jsonPayload.executionLog.executionResults.actionResults.device.deviceType = "LIGHT"

ไปที่ไลบรารีการค้นหาเพื่อค้นหาตัวอย่างเพิ่มเติมสําหรับการค้นหาบันทึกอย่างมีประสิทธิภาพ

การแก้ไขทดสอบ

เมื่อพบข้อผิดพลาดและใช้การอัปเดตเพื่อแก้ไขข้อผิดพลาดแล้ว เราขอแนะนําให้ทดสอบการแก้ไขอย่างถี่ถ้วนกับ Google Home Test Suite เรามีคู่มือผู้ใช้เกี่ยวกับวิธีใช้ Test Suite ซึ่งจะแนะนําวิธีทดสอบการเปลี่ยนแปลงของคุณอย่างมีประสิทธิภาพ

แหล่งข้อมูลการเรียนรู้

เอกสารนี้แสดงขั้นตอนในการแก้ไขข้อผิดพลาดในการดําเนินการสําหรับบ้านอัจฉริยะ นอกจากนี้ คุณยังสามารถตรวจสอบ Codelab เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับการแก้ไขข้อบกพร่องได้โดยทําดังนี้