ในหน้าแดชบอร์ด Crashlytics คุณสามารถคลิกปัญหาเพื่อดูรายงานเหตุการณ์โดยละเอียด คุณสามารถปรับแต่งรายงานเหล่านั้นเพื่อช่วยให้คุณเข้าใจมากขึ้น เกิดอะไรขึ้นในแอปและสถานการณ์ที่เกี่ยวข้องกับเหตุการณ์ที่รายงานไปยัง Crashlytics
รายงานข้อยกเว้นที่พบ และ ข้อยกเว้นที่ตรวจไม่พบสำหรับ Crashlytics
ใส่รายงาน GWP-ASan เพื่อแก้ไขข้อบกพร่องเกี่ยวกับหน่วยความจำที่เสียหาย
เครื่องมือวัดผลแอปเพื่อบันทึกคีย์ที่กำหนดเอง ข้อความบันทึกที่กำหนดเอง และตัวระบุผู้ใช้
รับบันทึกเบรดครัมบ์โดยอัตโนมัติหากแอปของคุณใช้ Firebase SDK สำหรับ Google Analytics บันทึกเหล่านี้ช่วยให้คุณทราบถึง การดําเนินการของผู้ใช้ซึ่งนําไปสู่เหตุการณ์ที่รวบรวม Crashlytics ในแอป
ปิดการรายงานข้อขัดข้องอัตโนมัติและเปิดใช้การรายงานแบบเลือกใช้สำหรับผู้ใช้ โปรดทราบว่าตาม ค่าเริ่มต้น Crashlytics จะรวบรวมรายงานข้อขัดข้องโดยอัตโนมัติสำหรับ ผู้ใช้แอป
รายงานข้อยกเว้น
รายงานข้อยกเว้นที่พบ
หากมีข้อยกเว้นที่คาดไว้ คุณอาจมี SDK ของ Crashlytics รายงานว่าเป็นเหตุการณ์ที่ไม่ร้ายแรง ระบบจะบันทึกเหตุการณ์เหล่านี้ไว้ในอุปกรณ์ จากนั้นส่งไปพร้อมกับรายงานเหตุการณ์ร้ายแรงครั้งถัดไปหรือเมื่อผู้ใช้ปลายทางเริ่มเกมอีกครั้ง
คุณสามารถบันทึกข้อยกเว้นใน C# โดยใช้วิธีการต่อไปนี้
Crashlytics.LogException(Exception ex);
คุณบันทึกข้อยกเว้นที่คาดไว้ในคำสั่งลอง/จับบล็อกของเกมได้โดยทำดังนี้
try { myMethodThatThrows(); } catch (Exception e) { Crashlytics.LogException(e); // handle your exception here! }
รายงานข้อยกเว้นที่ตรวจไม่พบ
สําหรับข้อยกเว้นที่ตรวจไม่พบซึ่งไม่ทําให้เกมขัดข้อง (เช่น ข้อยกเว้น C# ที่ตรวจไม่พบในตรรกะเกม) คุณสามารถให้ Crashlytics SDK รายงานข้อยกเว้นเหล่านั้นเป็นเหตุการณ์ร้ายแรงได้โดยการตั้งค่าพร็อพเพอร์ตี้ Crashlytics.ReportUncaughtExceptionsAsFatal
เป็น true
ตรงจุดที่คุณเริ่มต้น Crashlytics ในโปรเจ็กต์ Unity
ระบบจะรายงานเหตุการณ์เหล่านี้ไปยัง Crashlytics แบบเรียลไทม์โดยที่ผู้ใช้ปลายทางไม่ต้องรีสตาร์ทเกม
การรายงานข้อยกเว้นที่ตรวจไม่พบเหล่านี้เป็นเหตุการณ์ร้ายแรงหมายความว่าระบบจะนับข้อยกเว้นเหล่านี้ในสถิติผู้ใช้ที่ไม่มีข้อขัดข้องและในการแจ้งเตือนความเร็ว
โปรดทราบว่าระบบจะรายงานข้อขัดข้องแบบเนทีฟเป็นเหตุการณ์ร้ายแรงเสมอ เหล่านี้ กิจกรรมจะบันทึกบนอุปกรณ์ จากนั้นจะส่งไปเมื่อผู้ใช้ปลายทางรีสตาร์ท เกม
void Start() { // Since there is no try-block surrounding this call, if an exception is thrown, // it is considered unexpected. // Setting `Crashlytics.ReportUncaughtExceptionsAsFatal = true` // will ensure that such cases are reported as fatals. thirdPartyMethodThatMayThrow(); }
ใส่รายงาน GWP-ASan เพื่อแก้ไขข้อบกพร่องเกี่ยวกับความเสียหายของหน่วยความจำ
สำหรับแอป Android ที่ใช้ IL2CPP Crashlyticsช่วยคุณแก้ไขข้อบกพร่องของข้อขัดข้องได้ เกิดจากข้อผิดพลาดด้านหน่วยความจําของระบบจากการรวบรวมรายงาน GWP-ASan ข้อผิดพลาดที่เกี่ยวข้องกับหน่วยความจำเหล่านี้อาจเชื่อมโยงกับการเสียหายของหน่วยความจำภายในแอป ซึ่งเป็นสาเหตุหลักของช่องโหว่ด้านความปลอดภัยของแอป
คุณดูข้อมูลนี้ได้ใน "สแต็กเทรซหน่วยความจำ" ใหม่ เมื่อคุณคลิก รายละเอียดของปัญหาใน หน้าแดชบอร์ด Crashlytics
คุณยังใช้ "รายงาน GWP-ASan" ใหม่ได้ด้วย สัญญาณและตัวกรองเพื่อดูอย่างรวดเร็ว ปัญหาทั้งหมดเกี่ยวกับข้อมูลนี้
คุณจะได้รับรายงานหน่วยความจํา GWP-ASan หากแอปใช้ Crashlytics SDK สําหรับ Unity เวอร์ชันล่าสุด (v10.7.0 ขึ้นไป) และเปิดใช้ GWP-ASan อย่างชัดแจ้ง (คุณต้องแก้ไขไฟล์ Manifest ของแอป Android) หากมีโค้ด C++ ในแอป คุณสามารถทดสอบการตั้งค่า GWP-ASan ได้โดยใช้ ตัวอย่างโค้ดแบบเนทีฟในเอกสารประกอบของ Android
เพิ่มคีย์ที่กำหนดเอง
คีย์ที่กำหนดเองช่วยให้คุณได้รับสถานะที่เฉพาะเจาะจงของแอปซึ่งนำไปสู่ข้อขัดข้อง คุณสามารถเชื่อมโยงคู่คีย์/ค่าที่กำหนดเองกับรายงานข้อขัดข้อง จากนั้นใช้ คีย์ที่กำหนดเองเพื่อค้นหาและกรองรายงานข้อขัดข้องในคอนโซล Firebase
- ในแดชบอร์ด Crashlytics คุณสามารถค้นหาปัญหาได้ ที่ตรงกับคีย์ที่กำหนดเอง
- ขณะตรวจสอบปัญหาในคอนโซล คุณสามารถดู คีย์ที่กำหนดเองที่เกี่ยวข้องสำหรับแต่ละเหตุการณ์ (แท็บย่อยคีย์) และแม้แต่กรอง เหตุการณ์ตามคีย์ที่กำหนดเอง (เมนูตัวกรองที่ด้านบนของหน้า)
เมื่อเรียกใช้หลายครั้ง ค่าใหม่สำหรับคีย์ที่มีอยู่จะอัปเดตค่า และระบบจะบันทึกเฉพาะค่าล่าสุดเมื่อบันทึกข้อขัดข้อง
Crashlytics.SetCustomKey(string key, string value);
เพิ่มข้อความบันทึกที่กำหนดเอง
ข้อความที่บันทึกจะเชื่อมโยงกับข้อมูลข้อขัดข้องและจะปรากฏใน Firebase Crashlytics แดชบอร์ดเมื่อดูข้อขัดข้องที่เจาะจง
Crashlytics.Log(string message);
กำหนดตัวระบุผู้ใช้
คุณสามารถใช้หมายเลขรหัส โทเค็น หรือค่าที่แฮชเพื่อระบุที่ไม่ซ้ำกัน ผู้ใช้ปลายทางของแอปพลิเคชันของคุณ โดยไม่เปิดเผยหรือส่งใดๆ ข้อมูลส่วนบุคคล นอกจากนี้ คุณยังล้างค่าได้โดยกําหนดค่าเป็นสตริงว่าง ค่านี้จะแสดงในแดชบอร์ด Firebase Crashlytics เมื่อ เพื่อดูข้อขัดข้องที่เจาะจง
Crashlytics.SetUserId(string identifier);
ดูบันทึกเบรดครัมบ์
บันทึกเบรดครัมบ์ช่วยให้คุณเข้าใจการโต้ตอบของผู้ใช้กับแอปที่ทําให้เกิดเหตุการณ์ข้อขัดข้องที่ไม่ร้ายแรงหรือ ANR ได้ดียิ่งขึ้น บันทึกเหล่านี้อาจ เกิดประโยชน์เมื่อพยายามสร้างข้อผิดพลาดซ้ำและแก้ไขข้อบกพร่อง
บันทึกเบรดครัมบ์มาจาก Google Analytics ดังนั้นหากต้องการดูบันทึกเบรดครัมบ์ คุณจะต้องเปิดใช้ Google Analytics สําหรับโปรเจ็กต์ Firebase และเพิ่ม Firebase SDK สําหรับ Google Analytics ลงในแอป เมื่อมีคุณสมบัติตรงตามข้อกําหนดเหล่านี้แล้ว บันทึกเบรดครัมบ์จะรวมอยู่ในข้อมูลของเหตุการณ์ในแท็บบันทึกโดยอัตโนมัติเมื่อคุณดูรายละเอียดของปัญหา
SDK Analytics
จะบันทึกเหตุการณ์ screen_view
โดยอัตโนมัติ
ซึ่งจะทำให้บันทึกเบรดครัมบ์แสดงรายการหน้าจอที่มีการดูก่อน
เหตุการณ์ข้อขัดข้อง ไม่ร้ายแรง หรือ ANR บันทึกเบรดครัมบ์ screen_view
ประกอบด้วย
พารามิเตอร์ firebase_screen_class
นอกจากนี้ บันทึกเบรดครัมบ์ยังมีการเติมข้อมูลด้วย เหตุการณ์ที่กำหนดเองซึ่งคุณบันทึกด้วยตนเองภายในแท็ก ซึ่งรวมถึงข้อมูลพารามิเตอร์ของเหตุการณ์ ข้อมูลนี้จะช่วยแสดงชุดหนังสือ ของการดำเนินการของผู้ใช้ที่นำไปสู่เหตุการณ์ข้อขัดข้อง ไม่ร้ายแรง หรือ ANR
โปรดทราบว่าคุณสามารถควบคุมการเก็บรวบรวมและการใช้ข้อมูล Google Analytics ซึ่งรวมถึงข้อมูลที่แสดงในบันทึกเบรดครัมบ์
เปิดใช้การรายงานการเลือกใช้
โดยค่าเริ่มต้น Crashlytics จะรวบรวมรายงานข้อขัดข้องโดยอัตโนมัติสำหรับ ผู้ใช้แอป คุณสามารถช่วยให้ผู้ใช้ควบคุมข้อมูลที่ส่งได้มากขึ้นโดยให้ เลือกที่จะใช้การรายงานข้อขัดข้อง
หากต้องการปิดใช้การเก็บรวบรวมอัตโนมัติและเริ่มต้น Crashlytics สําหรับผู้ใช้ที่เลือกเท่านั้น ให้เรียกใช้การลบล้างการเก็บรวบรวมข้อมูล Crashlytics ขณะรันไทม์
ค่าการลบล้างจะยังคงอยู่ตลอดการเปิดตัวต่างๆ ของแอปเพื่อให้ Crashlytics ทำได้
รวบรวมรายงานโดยอัตโนมัติ หากต้องการเลือกไม่ใช้การรายงานข้อขัดข้องอัตโนมัติ ให้ข้าม
false
เป็นค่าการลบล้าง เมื่อตั้งค่าเป็น false
ค่าใหม่จะไม่มีผลจนกว่าแอปจะทำงานครั้งถัดไป
Crashlytics.IsCrashlyticsCollectionEnabled = true
จัดการข้อมูลเชิงลึกเกี่ยวกับข้อขัดข้อง
ข้อมูลเชิงลึกเกี่ยวกับข้อขัดข้องช่วยคุณแก้ไขปัญหาด้วยการเปรียบเทียบสแต็กที่มีการลบข้อมูลระบุตัวบุคคลของคุณ การติดตามไปยังการติดตามจากแอป Firebase อื่นๆ และแจ้งให้คุณทราบหากปัญหาที่พบ อยู่ในเทรนด์ที่ใหญ่กว่า สำหรับปัญหาจำนวนมาก Crash Insights มีแหล่งข้อมูล เพื่อช่วยแก้ไขข้อบกพร่องของข้อขัดข้อง
Crash Insights ใช้ข้อมูลข้อขัดข้องที่รวบรวมไว้เพื่อระบุแนวโน้มความเสถียรที่พบบ่อย หากไม่ต้องการแชร์ข้อมูลของแอป คุณสามารถเลือกไม่ใช้ข้อมูลเชิงลึกเกี่ยวกับข้อขัดข้องได้ จากเมนูข้อมูลเชิงลึกเกี่ยวกับข้อขัดข้องที่ด้านบนของรายการปัญหา Crashlytics ในคอนโซล Firebase