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

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

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

ก่อนเริ่มต้น

  1. เพิ่ม Firebase ลงใน Android หากยังไม่ได้เพิ่ม หากไม่มีแอป Android คุณก็ดาวน์โหลดได้ แอปตัวอย่าง

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

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

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

  3. ตรวจสอบว่าแอปมีเวอร์ชันขั้นต่ำที่จำเป็นต่อไปนี้

    • Gradle 8.0
    • ปลั๊กอิน Android Gradle 8.1.0
    • ปลั๊กอิน Gradle 4.4.1 สำหรับบริการของ Google

ขั้นตอนที่ 1: เพิ่ม SDK ของ Crashlytics ลงในแอป

ในไฟล์ Gradle ของโมดูล (ระดับแอป) (ปกติคือ <project>/<app-module>/build.gradle.kts หรือ <project>/<app-module>/build.gradle) เพิ่มทรัพยากร Dependency สำหรับไลบรารี Crashlytics สำหรับ Android เราขอแนะนำให้ใช้ Firebase Android BoM เพื่อควบคุมการกำหนดเวอร์ชันไลบรารี

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

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

    // Add 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 เวอร์ชันที่เข้ากันได้เสมอ

(ทางเลือก) เพิ่มทรัพยากร Dependency ของไลบรารี Firebase โดยไม่ใช้ BoM

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

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

dependencies {
    // Add 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:19.0.3")
    implementation("com.google.firebase:firebase-analytics:22.0.2")
}
หากกำลังมองหาโมดูลไลบรารีสำหรับ Kotlin โดยเฉพาะ จะเริ่มต้นใน ตุลาคม 2023 (Firebase BoM 32.5.0) ทั้งนักพัฒนา Kotlin และ Java สามารถ ขึ้นอยู่กับโมดูลไลบรารีหลัก (ดูรายละเอียดได้ที่ คําถามที่พบบ่อยเกี่ยวกับโครงการริเริ่มนี้)

ขั้นตอนที่ 2: เพิ่มปลั๊กอิน Gradle ขนาด Crashlytics ลงในแอป

  1. ในไฟล์ Gradle ระดับราก (ระดับโปรเจ็กต์) (<project>/build.gradle.kts หรือ <project>/build.gradle) ให้เพิ่ม ปลั๊กอิน Crashlytics Gradle บล็อก plugins:

    Kotlin

    plugins {
        // Make sure that you have the AGP plugin 8.1+ dependency
        id("com.android.application") version "8.1.4" apply false
        // ...
    
        // Make sure that you have the Google services Gradle plugin 4.4.1+ dependency
        id("com.google.gms.google-services") version "4.4.2" apply false
    
        // Add the dependency for the Crashlytics Gradle plugin
        id("com.google.firebase.crashlytics") version "3.0.2" apply false
    }
    

    Groovy

    plugins {
        // Make sure that you have the AGP plugin 8.1+ dependency
        id 'com.android.application' version '8.1.4' apply false
        // ...
    
        // Make sure that you have the Google services Gradle plugin 4.4.1+ dependency
        id 'com.google.gms.google-services' version '4.4.2' apply false
    
        // Add the dependency for the Crashlytics Gradle plugin
        id 'com.google.firebase.crashlytics' version '3.0.2' apply false
    }
    
  2. ในไฟล์ Gradle ของโมดูล (ระดับแอป) (ปกติ <project>/<app-module>/build.gradle.kts หรือ <project>/<app-module>/build.gradle) เพิ่มปลั๊กอิน Gradle Crashlytics ดังนี้

    Kotlin

    plugins {
      id("com.android.application")
      // ...
    
      // Make sure that you have the Google services Gradle plugin
      id("com.google.gms.google-services")
    
      // Add the Crashlytics Gradle plugin
      id("com.google.firebase.crashlytics")
    }

    Groovy

    plugins {
      id 'com.android.application'
      // ...
    
      // Make sure that you have the Google services Gradle plugin
      id 'com.google.gms.google-services'
    
      // Add the Crashlytics Gradle plugin
      id 'com.google.firebase.crashlytics'
    }

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

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

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

    คุณใช้โค้ดต่อไปนี้ใน MainActivity ของแอปเพื่อเพิ่มปุ่มได้ ไปยังแอปของคุณ ซึ่งจะทำให้ระบบขัดข้องเมื่อกด ปุ่มจะมีป้ายกำกับ "ทดสอบข้อขัดข้อง"

    Kotlin+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))
    

    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));
    
  2. สร้างและเรียกใช้แอป

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

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

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

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

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

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


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

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

  • ผสานรวมกับ Google Play เพื่อให้ คุณสามารถกรองรายงานข้อขัดข้องของแอป Android ตาม Google Play แทร็กได้โดยตรงใน Crashlytics หน้าแดชบอร์ด ซึ่งจะช่วยให้คุณมุ่งเน้นแดชบอร์ดไปยังบิลด์ที่เฉพาะเจาะจงได้ดียิ่งขึ้น
  • ใน Android Studio ให้ดูและกรองข้อมูล Crashlytics
    • ใช้หน้าต่างข้อมูลเชิงลึกเกี่ยวกับคุณภาพแอป (AQI) ใน Android Studio เพื่อดูCrashlytics โดยไม่ต้องข้ามไปมาระหว่าง Crashlytics แดชบอร์ดและ IDE เพื่อเริ่มแก้ไขข้อบกพร่องของปัญหาที่สำคัญ
    • ดูข้อมูล วิธีใช้หน้าต่าง AQI ในเอกสารประกอบของ Android Studio
    • เรายินดีรับฟังความคิดเห็นจากคุณ ส่งความคิดเห็นเกี่ยวกับกรอบ AQI ให้เราทราบภายในวันที่ การส่งรายงานข้อบกพร่อง