Google Cloud มีเครื่องมือที่ช่วยให้คุณตรวจสอบความน่าเชื่อถือของโปรเจ็กต์ กับ Google Cloud Monitoring และแก้ไขข้อบกพร่องของ Google Cloud Logging บันทึกข้อผิดพลาด เมื่อเกิดข้อผิดพลาดขึ้นเมื่อผู้ใช้ทำตามความตั้งใจ ไปป์ไลน์ของ Google Home Analytics จะบันทึกว่าเมตริกที่ล้มเหลวนั้น และ เผยแพร่บันทึกข้อผิดพลาดในบันทึกของโปรเจ็กต์
การแก้ปัญหาข้อผิดพลาดมี 2 ขั้นตอน ดังนี้
- ตรวจสอบสถานะของโปรเจ็กต์ด้วยเมตริกสมาร์ทโฮม
- ตรวจสอบปัญหาโดยดูคำอธิบายข้อผิดพลาดโดยละเอียดใน บันทึกข้อผิดพลาด
การตรวจสอบข้อผิดพลาด
คุณจะใช้ Google Cloud Monitoring dashboard ได้ เพื่อเข้าถึงเมตริกของโปรเจ็กต์ มีแผนภูมิที่สำคัญบางส่วนที่ มีประโยชน์สำหรับการตรวจสอบคุณภาพและแก้ไขข้อบกพร่อง:
- แผนภูมิอัตราความสำเร็จเป็นแผนภูมิแรกที่จะเริ่มต้นนับตั้งแต่ที่คุณ ตรวจสอบความน่าเชื่อถือของโปรเจ็กต์ การลดลงในแผนภูมินี้อาจบ่งบอกถึงการหยุดทำงานของฐานผู้ใช้บางส่วนหรือทั้งหมด คำแนะนำจากเรา ติดตามแผนภูมินี้อย่างใกล้ชิดเพื่อหาความผิดปกติหลังจากการเปลี่ยนแปลงแต่ละครั้ง หรืออัปเดตในโปรเจ็กต์
- แผนภูมิเวลาในการตอบสนองของเปอร์เซ็นไทล์ที่ 95 เป็นตัวบ่งชี้สำคัญว่า การดำเนินการของสมาร์ทโฮมทำงานอยู่สำหรับผู้ใช้ ความผันผวนฉับพลัน ในแผนภูมินี้อาจบ่งชี้ว่าระบบของคุณจะทำงานไม่ทัน พร้อมกับคำขอ ขอแนะนำให้ตรวจสอบแผนภูมินี้เป็นระยะๆ การทำงานที่ไม่คาดคิด
- แผนภูมิรายละเอียดของข้อผิดพลาดจะมีประโยชน์มากที่สุดเมื่อ การแก้ปัญหาในการผสานรวม สำหรับทุกข้อผิดพลาด ที่ไฮไลต์ในแผนภูมิเปอร์เซ็นต์ความสำเร็จ รหัสข้อผิดพลาดจะปรากฏขึ้น ไว้ในรายละเอียดข้อผิดพลาด คุณจะเห็นข้อผิดพลาดที่แจ้งว่าไม่เหมาะสม ภายใน Google Home platform และวิธีแก้ปัญหา ในตารางด้านล่าง
รหัสข้อผิดพลาดของแพลตฟอร์ม
ต่อไปนี้เป็นรหัสข้อผิดพลาดทั่วไปที่คุณอาจเห็นในบันทึกของโปรเจ็กต์ ระบุปัญหาที่ Google Home platform ตรวจพบ โปรดอ้างอิง ตารางต่อไปนี้เพื่อดูข้อมูลการแก้ปัญหา
รหัสข้อผิดพลาด | คำอธิบาย |
---|---|
BACKEND_FAILURE_URL_ERROR |
Google ได้รับรหัสข้อผิดพลาด HTTP 4xx ที่ไม่ใช่ 401 จาก
service.
ใช้ requestId ในการบันทึก GCP เพื่อตรวจสอบ
บันทึกของบริการเกี่ยวกับบ้าน
|
BACKEND_FAILURE_URL_TIMEOUT |
คำขอของ Google หมดเวลาขณะพยายามเข้าถึงบริการของคุณ
ยืนยันว่าบริการออนไลน์อยู่ รวมถึงยอมรับการเชื่อมต่อ และไม่เกินความจุ นอกจากนี้ ให้ตรวจสอบว่าเป้าหมาย อุปกรณ์เปิดอยู่ ออนไลน์ และซิงค์กัน |
BACKEND_FAILURE_URL_UNREACHABLE |
Google ได้รับรหัสข้อผิดพลาด HTTP 5xx จากบริการของคุณ
ใช้ requestId ในการบันทึก GCP เพื่อตรวจสอบบันทึกบริการสมาร์ทโฮม
|
DEVICE_NOT_FOUND |
ไม่มีอุปกรณ์นี้ในฝั่งบริการของพาร์ทเนอร์
ซึ่งปกติแล้วจะบ่งชี้ว่าการซิงค์ข้อมูลไม่สำเร็จหรือเกิดการแข่งขัน |
GAL_BAD_3P_RESPONSE |
Google แยกวิเคราะห์การตอบกลับจากบริการลิงก์บัญชีไม่ได้เนื่องจากรูปแบบหรือค่าในเพย์โหลดไม่ถูกต้อง
ใช้ requestId ในการบันทึก GCP เพื่อตรวจสอบบันทึกข้อผิดพลาด
ในบริการลิงก์บัญชี
|
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 เพื่อตรวจสอบ
บันทึกของบริการเกี่ยวกับบ้าน
|
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 อย่างถูกต้อง |
PROTOCOL_ERROR |
ประมวลผลคําขอไม่สําเร็จ
ใช้ requestId ในการบันทึกของ Google Cloud เพื่อตรวจสอบ
บันทึกบริการสมาร์ทโฮม
|
RESPONSE_TIMEOUT |
คำขอหมดเวลาขณะรอการตอบกลับ
ระยะหมดเวลาสำหรับการส่งคำตอบคือ 9 วินาทีนับจากเวลา ส่งคำขอแล้ว อย่าลืมส่งคำตอบภายในระยะเวลานี้ |
RESPONSE_UNAVAILABLE |
ไม่มีการตอบกลับ หรือคำตอบไม่ได้ระบุสถานะ
การตอบสนองต่อคำขอดำเนินการตาม Intent ควรมีโครงสร้าง ตาม เอกสารสมาร์ทโฮม และแสดงสถานะ |
TRANSIENT_ERROR |
ข้อผิดพลาดชั่วคราวคือข้อผิดพลาดที่จะแก้ไขได้เอง
ส่วนใหญ่แล้วข้อผิดพลาดเหล่านี้มักจะปรากฏขึ้นในลักษณะของการเชื่อมต่อกับอุปกรณ์ หรือ บริการที่จะถูกปฏิเสธ นอกจากนี้ ถ้าไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์ใหม่ เปิดอยู่ |
ข้อมูลบันทึกการค้นหา
เมื่อคุณคุ้นเคยกับการตรวจสอบการผสานรวมโดยใช้เมตริกแล้ว คือการแก้ปัญหาข้อผิดพลาดเฉพาะโดยใช้ Cloud Logging บันทึกข้อผิดพลาดคือ รายการที่เหมือน JSON ที่มีช่องซึ่งมีข้อมูลที่เป็นประโยชน์ เช่น เวลา ข้อผิดพลาด รหัสและรายละเอียดเกี่ยวกับ Intent สมาร์ทโฮมต้นทาง
มีหลายระบบภายใน Google Cloud ที่ส่งบันทึกถึง โปรเจ็กต์ของคุณตลอดเวลา สิ่งที่คุณต้องทำ เขียนการค้นหาเพื่อกรองบันทึก และค้นหาสิ่งที่คุณต้องการได้ ข้อความค้นหาอาจอิงตามช่วงเวลา ทรัพยากร ความรุนแรงในบันทึก หรือรายการที่กำหนดเอง
คุณสามารถใช้ปุ่มการค้นหาเพื่อช่วยสร้างตัวกรองที่กำหนดเองได้
ในการระบุช่วงเวลา ให้คลิกปุ่มการเลือกช่วงเวลา
แล้วเลือก ตัวเลือก ซึ่งจะกรองบันทึก และแสดงบันทึกที่มีต้นทางใน ช่วงเวลาที่เลือกไว้หากต้องการระบุทรัพยากร ให้คลิกเมนูแบบเลื่อนลงทรัพยากร แล้วเลือกโปรเจ็กต์การดำเนินการของ 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 เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับการแก้ไขข้อบกพร่องได้โดยทำดังนี้
- การแก้ไขข้อบกพร่องของ Smart Home Codelab คู่มือเริ่มใช้งานฉบับย่อเพื่อแก้ปัญหาการผสานรวมระบบคลาวด์สมาร์ทโฮม
- การแก้ไขข้อบกพร่องของ Codelab ภายในบ้าน คู่มือเริ่มใช้งานฉบับย่อเพื่อแก้ไขข้อบกพร่องการผสานรวมภายในสมาร์ทโฮม