Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

เริ่มต้นใช้งาน Firebase Crashlytics

จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ

การเริ่มต้นอย่างรวดเร็วนี้จะอธิบายวิธีตั้งค่า Firebase Crashlytics ในแอปของคุณด้วยปลั๊กอิน Crashlytics Flutter เพื่อให้คุณได้รับรายงานข้อขัดข้องที่ครอบคลุมในคอนโซล Firebase

การตั้งค่า Crashlytics เกี่ยวข้องกับการใช้ทั้งเครื่องมือบรรทัดคำสั่งและ IDE ของคุณ ในการตั้งค่าให้เสร็จสิ้น คุณจะต้องบังคับให้ส่งข้อยกเว้นการทดสอบเพื่อส่งรายงานข้อขัดข้องครั้งแรกไปยัง Firebase

ก่อนจะเริ่ม

  1. หากคุณยังไม่ได้ดำเนินการ ให้ กำหนดค่าและเริ่มต้น Firebase ในโปรเจ็กต์ Flutter

  2. แนะนำ : หากต้องการรับคุณลักษณะต่างๆ เช่น ผู้ใช้ที่ไม่มีข้อขัดข้อง บันทึกการแสดงเส้นทาง และการแจ้งเตือนความเร็ว คุณต้องเปิดใช้ Google Analytics ในโครงการ Firebase

    แพลตฟอร์ม Android และ Apple ทั้งหมดที่รองรับโดย Crashlytics (ยกเว้น watchOS) สามารถใช้ประโยชน์จากคุณลักษณะเหล่านี้จาก Google Analytics

    ตรวจสอบว่าเปิดใช้งาน Google Analytics ในโปรเจ็กต์ Firebase แล้ว โดยไปที่ > การตั้งค่าโปรเจ็ กต์ > แท็บ การผสานการ ทำงาน จากนั้นทำตามคำแนะนำบนหน้าจอสำหรับ Google Analytics

ขั้นตอนที่ 1 : เพิ่ม Crashlytics ให้กับโครงการ Flutter ของคุณ

  1. จากรูทของโปรเจ็กต์ Flutter ให้รันคำสั่งต่อไปนี้เพื่อติดตั้งปลั๊กอิน Crashlytics Flutter:

    flutter pub add firebase_crashlytics
    
  2. จากไดเร็กทอรีรากของโปรเจ็กต์ Flutter ให้รันคำสั่งต่อไปนี้:

    flutterfire configure
    

    การเรียกใช้คำสั่งนี้ช่วยให้แน่ใจว่าการกำหนดค่า Firebase ของแอป Flutter เป็นปัจจุบัน และสำหรับ Android จะเพิ่มปลั๊กอิน Crashlytics Gradle ที่จำเป็นลงในแอปของคุณ

  3. เมื่อเสร็จแล้ว ให้สร้างโครงการ Flutter ของคุณใหม่:

    flutter run
    
  4. (ไม่บังคับ) หากโปรเจ็กต์ Flutter ของคุณใช้ --split-debug-info (และ --obfuscate flag เป็นทางเลือก) คุณต้องใช้ Firebase CLI (v.11.9.0+) เพื่ออัปโหลดสัญลักษณ์ Android

    จากไดเร็กทอรีรากของโปรเจ็กต์ Flutter ให้รันคำสั่งต่อไปนี้:

    firebase crashlytics:symbols:upload --app=APP_ID PATH/TO/symbols

    ไดเรกทอรี PATH/TO /symbols เป็นไดเรกทอรีเดียวกับที่คุณส่งไปยัง --split-debug-info เมื่อสร้างแอปพลิเคชัน

ขั้นตอนที่ 2 : กำหนดค่าตัวจัดการข้อขัดข้อง

คุณสามารถตรวจจับข้อผิดพลาดทั้งหมดที่เกิดขึ้นภายในเฟรมเวิร์ก Flutter ได้โดยอัตโนมัติโดยแทนที่ FlutterError.onError ด้วย FirebaseCrashlytics.instance.recordFlutterFatalError :

void main() async {
  WidgetsFlutterBinding.ensureInitialized();

  await Firebase.initializeApp();

  // Pass all uncaught "fatal" errors from the framework to Crashlytics
  FlutterError.onError = FirebaseCrashlytics.instance.recordFlutterFatalError;

  runApp(MyApp());
}

หากต้องการตรวจจับข้อผิดพลาดแบบอะซิงโครนัสที่ไม่ได้จัดการโดยเฟรมเวิร์ก Flutter ให้ใช้ PlatformDispatcher.instance.onError :

Future<void> main() async {
    WidgetsFlutterBinding.ensureInitialized();
    await Firebase.initializeApp();
    FlutterError.onError = (errorDetails) {
      FirebaseCrashlytics.instance.recordFlutterFatalError(errorDetails);
    };
    // Pass all uncaught asynchronous errors that aren't handled by the Flutter framework to Crashlytics
    PlatformDispatcher.instance.onError = (error, stack) {
      FirebaseCrashlytics.instance.recordError(error, stack, fatal: true);
      return true;
    };
    runApp(MyApp());

}

สำหรับตัวอย่างวิธีจัดการกับข้อผิดพลาดประเภทอื่นๆ โปรดดู ปรับแต่งรายงานข้อขัดข้อง

ขั้นตอนที่ 3 : บังคับให้การทดสอบขัดข้องเพื่อสิ้นสุดการตั้งค่า

หากต้องการตั้งค่า Crashlytics ให้เสร็จสิ้นและดูข้อมูลเริ่มต้นในแดชบอร์ด Crashlytics ของคอนโซล Firebase คุณต้องบังคับให้ส่งข้อยกเว้นการทดสอบ

  1. เพิ่มโค้ดลงในแอปของคุณเพื่อบังคับให้ส่งข้อยกเว้นการทดสอบ

    หากคุณได้เพิ่มตัวจัดการข้อผิดพลาดที่เรียก FirebaseCrashlytics.instance.recordError(error, stack, fatal: true) ไปยัง Zone ระดับบนสุด คุณสามารถใช้รหัสต่อไปนี้เพื่อเพิ่มปุ่มในแอปของคุณที่เมื่อกดแล้ว ข้อยกเว้นการทดสอบ:

    TextButton(
        onPressed: () => throw Exception(),
        child: const Text("Throw Test Exception"),
    ),
    
  2. สร้างและเรียกใช้แอปของคุณ

  3. บังคับให้ส่งข้อยกเว้นการทดสอบเพื่อส่งรายงานแรกของแอป:

    1. เปิดแอปของคุณจากอุปกรณ์ทดสอบหรือโปรแกรมจำลอง

    2. ในแอปของคุณ ให้กดปุ่มยกเว้นการทดสอบที่คุณเพิ่มโดยใช้โค้ดด้านบน

  4. ไปที่ แดชบอร์ด Crashlytics ของคอนโซล Firebase เพื่อดูข้อขัดข้องของการทดสอบ

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


และนั่นแหล่ะ! Crashlytics กำลังตรวจสอบแอปของคุณเพื่อหาข้อขัดข้อง และข้อผิดพลาดที่ไม่ร้ายแรงและ ANR ใน Android ไปที่ แดชบอร์ดของ Crashlytics เพื่อดูและตรวจสอบรายงานและสถิติทั้งหมดของคุณ

ขั้นตอนถัดไป