ในหน้าแดชบอร์ด Crashlytics คุณสามารถคลิกที่ปัญหาและดูรายละเอียด รายงานเหตุการณ์ คุณสามารถปรับแต่งรายงานเหล่านั้นเพื่อช่วยให้คุณเข้าใจมากขึ้น เกิดอะไรขึ้นในแอปและสถานการณ์ที่เกี่ยวข้องกับเหตุการณ์ที่รายงานไปยัง Crashlytics
รายงานข้อยกเว้นที่พบ และ ข้อยกเว้นที่ตรวจไม่พบใน Crashlytics
ใส่รายงาน GWP-ASan เพื่อแก้ปัญหาหน่วยความจำเสียหาย
ใช้เครื่องมือในการบันทึกคีย์ที่กำหนดเองของแอป ข้อความบันทึกที่กำหนดเองและตัวระบุผู้ใช้
รับบันทึกเบรดครัมบ์โดยอัตโนมัติหากแอปของคุณใช้ Firebase SDK สำหรับ Google Analytics บันทึกเหล่านี้ช่วยให้คุณทราบถึง การดำเนินการของผู้ใช้ที่นำไปสู่เหตุการณ์ที่รวบรวม Crashlytics ในแอป
ปิดการรายงานข้อขัดข้องอัตโนมัติ และ เปิดใช้การรายงานการเลือกใช้สำหรับผู้ใช้ของคุณ โปรดทราบว่าตาม Crashlytics จะรวบรวมรายงานข้อขัดข้องโดยอัตโนมัติสำหรับ ผู้ใช้แอป
รายงานข้อยกเว้น
รายงานข้อยกเว้นที่พบ
หากมีข้อยกเว้นที่คาดไว้ คุณก็มี Crashlytics SDK ได้ รายงานว่าเป็นเหตุการณ์ที่ไม่ร้ายแรง เหตุการณ์เหล่านี้จะได้รับการบันทึกไว้ในอุปกรณ์และ จากนั้นจะส่งไปพร้อมกับรายงานเหตุการณ์ร้ายแรงถัดไป หรือเมื่อผู้ใช้ปลายทางรีสตาร์ท เกมนี้
คุณสามารถบันทึกข้อยกเว้นใน 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
ที่ใช้เวลาเพียง 2 นาที
ระบบจะรายงานเหตุการณ์เหล่านี้ไปยัง 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 กับแอปของคุณ เมื่อมีคุณสมบัติตามข้อกำหนดเหล่านี้ บันทึกเบรดครัมบ์จะ รวมกับข้อมูลของเหตุการณ์ภายในแท็บบันทึกเมื่อคุณดูรายละเอียด ของปัญหา
Analytics SDK
บันทึกเหตุการณ์ 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