Catch up on everthing we announced at this year's Firebase Summit. Learn more

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

การเริ่มต้นอย่างรวดเร็วนี้จะอธิบายวิธีตั้งค่า Firebase Crashlytics ในแอปของคุณด้วย Firebase Crashlytics SDK เพื่อให้คุณรับรายงานข้อขัดข้องที่ครอบคลุมในคอนโซล Firebaseด้วย Crashlytics สำหรับ Android คุณจะได้รับรายงานการเกิดปัญหาข้อผิดพลาดที่ไม่ร้ายแรงและ "แอพลิเคชันไม่ตอบสนอง" (ANR) ข้อผิดพลาด

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

ก่อนจะเริ่ม

  1. หากคุณยังไม่ได้ เพิ่ม Firebase กับโครงการ Android ของคุณ หากคุณไม่ได้มี app Android ที่คุณสามารถดาวน์โหลด แอปพลิเคตัวอย่าง

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

    • หากโครงการ Firebase มีอยู่ของคุณไม่ได้เปิดใช้ Google Analytics คุณสามารถเปิดใช้งาน Google Analytics จาก Integrations แท็บ ที่คุณ > การตั้งค่าโครงการในคอนโซล Firebase

    • หากคุณกำลังสร้างโปรเจ็กต์ Firebase ใหม่ ให้เปิดใช้ Google Analytics ระหว่างขั้นตอนการสร้างโปรเจ็กต์

ขั้นตอนที่ 1: เปิดใช้งาน Crashlytics ในคอนโซล Firebase

  1. ไปที่ แผงควบคุม Crashlytics ในคอนโซล Firebase

  2. ให้แน่ใจว่าแอปของคุณถูกเลือกจากแบบเลื่อนลงถัด Crashlytics ที่ด้านบนของหน้า

  3. คลิกเปิดใช้งาน Crashlytics

ขั้นตอนที่ 2: เพิ่ม Firebase Crashlytics SDK เพื่อ app ของคุณ

ใช้ Firebase Android BoM ประกาศพึ่งพาสำหรับห้องสมุด Crashlytics Android ในโมดูลของคุณ (app ระดับ) ไฟล์ Gradle (ปกติ app/build.gradle )

สำหรับประสบการณ์ที่ดีที่สุดกับ Crashlytics เราขอแนะนำให้ เปิดใช้งาน Google Analytics ในโครงการ Firebase ของคุณและเพิ่ม Firebase SDK สำหรับ Google Analytics เพื่อ app ของคุณ

Java

dependencies {
    // Import the BoM for the Firebase platform
    implementation platform('com.google.firebase:firebase-bom:29.0.1')

    // Declare the dependencies for the Crashlytics and Analytics libraries
    // When using the BoM, you don't specify versions in Firebase library dependencies
    implementation 'com.google.firebase:firebase-crashlytics'
    implementation 'com.google.firebase:firebase-analytics'
}

โดยใช้ Firebase Android BoM แอปของคุณมักจะใช้รุ่นที่รองรับการห้องสมุด Firebase Android

(ทางเลือก) ประกาศ Firebase อ้างอิงห้องสมุดโดยไม่ต้องใช้ BoM

หากคุณเลือกที่จะไม่ใช้ Firebase BoM คุณต้องระบุเวอร์ชันไลบรารี Firebase แต่ละเวอร์ชันในบรรทัดการพึ่งพา

โปรดทราบว่าถ้าคุณใช้ห้องสมุด Firebase หลายรายการในแอปของคุณเราขอแนะนำให้ใช้ BoM การจัดการเวอร์ชันห้องสมุดซึ่งทำให้มั่นใจได้ว่าทุกรุ่นที่เข้ากันได้

dependencies {
    // Declare the dependencies for the Crashlytics and Analytics libraries
    // When NOT using the BoM, you must specify versions in Firebase library dependencies
    implementation 'com.google.firebase:firebase-crashlytics:18.2.5'
    implementation 'com.google.firebase:firebase-analytics:20.0.0'
}

คอตลิน+KTX

dependencies {
    // Import the BoM for the Firebase platform
    implementation platform('com.google.firebase:firebase-bom:29.0.1')

    // Declare the dependencies for the Crashlytics and Analytics libraries
    // When using the BoM, you don't specify versions in Firebase library dependencies
    implementation 'com.google.firebase:firebase-crashlytics-ktx'
    implementation 'com.google.firebase:firebase-analytics-ktx'
}

โดยใช้ Firebase Android BoM แอปของคุณมักจะใช้รุ่นที่รองรับการห้องสมุด Firebase Android

(ทางเลือก) ประกาศ Firebase อ้างอิงห้องสมุดโดยไม่ต้องใช้ BoM

หากคุณเลือกที่จะไม่ใช้ Firebase BoM คุณต้องระบุเวอร์ชันไลบรารี Firebase แต่ละเวอร์ชันในบรรทัดการพึ่งพา

โปรดทราบว่าถ้าคุณใช้ห้องสมุด Firebase หลายรายการในแอปของคุณเราขอแนะนำให้ใช้ BoM การจัดการเวอร์ชันห้องสมุดซึ่งทำให้มั่นใจได้ว่าทุกรุ่นที่เข้ากันได้

dependencies {
    // Declare the dependencies for the Crashlytics and Analytics libraries
    // When NOT using the BoM, you must specify versions in Firebase library dependencies
    implementation 'com.google.firebase:firebase-crashlytics-ktx:18.2.5'
    implementation 'com.google.firebase:firebase-analytics-ktx:20.0.0'
}

ขั้นตอนที่ 3: เพิ่มปลั๊กอิน Firebase Crashlytics แอปของคุณ

  1. ในโครงการระดับ build.gradle ไฟล์เพิ่มปลั๊กอิน Crashlytics Gradle เป็นพึ่งพา buildscript

    buildscript {
        repositories {
            // Check that you have Google's Maven repository (if not, add it).
            google()
        }
    
        dependencies {
            // ...
    
            // Check that you have the Google services Gradle plugin v4.3.2 or later
            // (if not, add it).
            classpath 'com.google.gms:google-services:4.3.10'
    
            // Add the Crashlytics Gradle plugin
            classpath 'com.google.firebase:firebase-crashlytics-gradle:2.8.1'
        }
    }
    
    allprojects {
        repositories {
            // Check that you have Google's Maven repository (if not, add it).
            google()
        }
    }
  2. ใน app ระดับ build.gradle ไฟล์ใช้ปลั๊กอิน Crashlytics Gradle:

    apply plugin: 'com.android.application'
    apply plugin: 'com.google.gms.google-services' // Google services Gradle plugin
    
    // Apply the Crashlytics Gradle plugin
    apply plugin: 'com.google.firebase.crashlytics'
    

ขั้นตอนที่ 4: กองทัพความผิดพลาดของการทดสอบที่จะเสร็จสิ้นการติดตั้ง

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

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

    คุณสามารถใช้รหัสต่อไปนี้ในแอปของคุณ MainActivity เพิ่มปุ่มไปยังแอปของคุณที่เมื่อกดทำให้เกิดความผิดพลาด ปุ่มนี้มีชื่อว่า "Test Crash"

    Java

    Button crashButton = new Button(this);
    crashButton.setText("Test Crash");
    crashButton.setOnClickListener(new View.OnClickListener() {
       public void onClick(View view) {
           throw new RuntimeException("Test Crash"); // Force a crash
       }
    });
    
    addContentView(crashButton, new ViewGroup.LayoutParams(
           ViewGroup.LayoutParams.MATCH_PARENT,
           ViewGroup.LayoutParams.WRAP_CONTENT));
    

    คอตลิน+KTX

    val crashButton = Button(this)
    crashButton.text = "Test Crash"
    crashButton.setOnClickListener {
       throw RuntimeException("Test Crash") // Force a crash
    }
    
    addContentView(crashButton, ViewGroup.LayoutParams(
           ViewGroup.LayoutParams.MATCH_PARENT,
           ViewGroup.LayoutParams.WRAP_CONTENT))
    
  2. สร้างและเรียกใช้แอปของคุณ

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

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

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

    3. หลังจากที่แอปของคุณขัดข้อง ให้รีสตาร์ทเพื่อให้แอปของคุณสามารถส่งรายงานข้อขัดข้องไปยัง Firebase

  4. ไปที่ แผงควบคุม Crashlytics ของคอนโซล Firebase เพื่อดูความผิดพลาดของการทดสอบของคุณ

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


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

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