Firebase Crashlytics का इस्तेमाल शुरू करें


इस क्विकस्टार्ट में, Firebase Crashlytics SDK की मदद से अपने ऐप्लिकेशन में Firebase Crashlytics को सेट अप करने का तरीका बताया गया है. इससे आपको Firebase Crashlytics कंसोल में क्रैश की पूरी रिपोर्ट मिल सकती हैं.Firebase Android के लिए Crashlytics का इस्तेमाल करने पर, आपको क्रैश, नॉन-फ़ैटल गड़बड़ियों, और "ऐप्लिकेशन काम नहीं कर रहा" (एएनआर) गड़बड़ियों की रिपोर्ट मिलती हैं.

Crashlytics को सेट अप करने के लिए, Firebase कंसोल और आपके IDE, दोनों में टास्क पूरे करने होते हैं. जैसे, Firebase कॉन्फ़िगरेशन फ़ाइल और Crashlytics SDK टूल जोड़ना. सेटअप पूरा करने के लिए, आपको टेस्ट क्रैश को फ़ोर्स करना होगा, ताकि Firebase को पहली क्रैश रिपोर्ट भेजी जा सके.

शुरू करने से पहले

  1. अगर आपने पहले से ऐसा नहीं किया है, तो अपने Android प्रोजेक्ट में Firebase जोड़ें. अगर आपके पास Android ऐप्लिकेशन नहीं है, तो सैंपल ऐप्लिकेशन डाउनलोड किया जा सकता है.

  2. सुझाया गया: क्रैश, नॉन-फ़ैटल या एएनआर इवेंट से पहले उपयोगकर्ता की कार्रवाइयों को समझने के लिए, ब्रेडक्रंब लॉग अपने-आप पाने के लिए, आपको अपने Firebase प्रोजेक्ट में Google Analytics चालू करना होगा.

    • अगर आपके मौजूदा Firebase प्रोजेक्ट में Google Analytics चालू नहीं है, तो Firebase कंसोल में जाकर, > प्रोजेक्ट सेटिंग के इंटिग्रेशन टैब से Google Analytics को चालू किया जा सकता है.

    • अगर आपको नया Firebase प्रोजेक्ट बनाना है, तो प्रोजेक्ट बनाने के वर्कफ़्लो के दौरान Google Analytics को चालू करें.

  3. पक्का करें कि आपके ऐप्लिकेशन में, कम से कम ये ज़रूरी वर्शन हों:

    • Gradle 8.0
    • Android Gradle प्लग इन 8.1.0
    • Google services Gradle प्लग इन 4.4.1

पहला चरण: अपने ऐप्लिकेशन में Crashlytics SDK टूल जोड़ना

हमारा सुझाव है कि लाइब्रेरी के वर्शन को कंट्रोल करने के लिए, Firebase Android BoM का इस्तेमाल करें.

ब्रेडक्रंब लॉग का फ़ायदा पाने के लिए, अपने ऐप्लिकेशन में Google Analytics के लिए Firebase SDK टूल भी जोड़ें. पक्का करें कि आपके Firebase प्रोजेक्ट में Google Analytics चालू हो.

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

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

Firebase Android BoM का इस्तेमाल करने पर, आपका ऐप्लिकेशन हमेशा Firebase Android लाइब्रेरी के साथ काम करने वाले वर्शन का इस्तेमाल करेगा.

(वैकल्पिक)  BoM का इस्तेमाल किए बिना, Firebase लाइब्रेरी की डिपेंडेंसी जोड़ें

अगर आपको Firebase BoM का इस्तेमाल नहीं करना है, तो आपको डिपेंडेंसी लाइन में Firebase की हर लाइब्रेरी के वर्शन की जानकारी देनी होगी.

ध्यान दें कि अगर आपके ऐप्लिकेशन में Firebase की एक से ज़्यादा लाइब्रेरी का इस्तेमाल किया जाता है, तो हमारा सुझाव है कि लाइब्रेरी के वर्शन मैनेज करने के लिए BoM का इस्तेमाल करें. इससे यह पक्का किया जा सकता है कि सभी वर्शन एक-दूसरे के साथ काम करते हों.

dependencies {
    // Add the dependencies for the Crashlytics NDK and Analytics libraries
    // When NOT using the BoM, you must specify versions in Firebase library dependencies
    implementation("com.google.firebase:firebase-crashlytics-ndk:20.0.0")
    implementation("com.google.firebase:firebase-analytics:23.0.0")
}

दूसरा चरण: अपने ऐप्लिकेशन में Crashlytics Gradle प्लगिन जोड़ना

  1. अपनी रूट-लेवल (प्रोजेक्ट-लेवल) Gradle फ़ाइल (<project>/build.gradle.kts या <project>/build.gradle) में, plugins ब्लॉक में Crashlytics Gradle प्लगिन जोड़ें:

    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.3" apply false
    
        // Add the dependency for the Crashlytics Gradle plugin
        id("com.google.firebase.crashlytics") version "3.0.5" 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.3' apply false
    
        // Add the dependency for the Crashlytics Gradle plugin
        id 'com.google.firebase.crashlytics' version '3.0.5' apply false
    }
  2. अपनी मॉड्यूल (ऐप्लिकेशन-लेवल) Gradle फ़ाइल (आम तौर पर <project>/<app-module>/build.gradle.kts या <project>/<app-module>/build.gradle) में, Crashlytics Gradle प्लगिन जोड़ें:

    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'
    }

तीसरा चरण: सेटअप पूरा करने के लिए, टेस्ट क्रैश को फ़ोर्स करना

Crashlytics को सेट अप करने और Firebase कंसोल के Crashlytics डैशबोर्ड में शुरुआती डेटा देखने के लिए, आपको टेस्ट क्रैश को फ़ोर्स करना होगा.

  1. अपने ऐप्लिकेशन में ऐसा कोड जोड़ें जिसका इस्तेमाल करके, टेस्ट क्रैश को मजबूर किया जा सके.

    अपने ऐप्लिकेशन के MainActivity में यहां दिया गया कोड इस्तेमाल करके, ऐप्लिकेशन में एक बटन जोड़ा जा सकता है. इस बटन को दबाने पर, ऐप्लिकेशन क्रैश हो जाएगा. बटन को "टेस्ट क्रैश" के तौर पर लेबल किया गया है.

    Kotlin

    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. अपने ऐप्लिकेशन में, "Test Crash" बटन दबाएं. इसे आपने ऊपर दिए गए कोड का इस्तेमाल करके जोड़ा था.

    3. ऐप्लिकेशन क्रैश होने के बाद, उसे फिर से चालू करें, ताकि आपका ऐप्लिकेशन क्रैश रिपोर्ट को Firebase पर भेज सके.

  4. टेस्ट क्रैश देखने के लिए, Firebase कंसोल के Crashlytics डैशबोर्ड पर जाएं.

    अगर आपने कंसोल को रीफ़्रेश कर लिया है और पांच मिनट बाद भी आपको टेस्ट क्रैश नहीं दिख रहा है, तो डीबग लॉगिंग चालू करें. इससे आपको यह पता चलेगा कि आपका ऐप्लिकेशन क्रैश रिपोर्ट भेज रहा है या नहीं.


बस इतना ही! Crashlytics अब आपके ऐप्लिकेशन में क्रैश, नॉन-फ़ैटल गड़बड़ियों, और एएनआर की निगरानी कर रहा है. अपनी सभी रिपोर्ट और आंकड़े देखने और उनकी जांच करने के लिए, Crashlytics डैशबोर्ड पर जाएं.

अगले चरण

  • Google Play के साथ इंटिग्रेट करें, ताकि Android ऐप्लिकेशन की क्रैश रिपोर्ट को Google Play के हिसाब से फ़िल्टर किया जा सके. साथ ही, उन्हें सीधे Crashlytics डैशबोर्ड में ट्रैक किया जा सके. इससे, अपने डैशबोर्ड को किसी खास बिल्ड पर बेहतर तरीके से फ़ोकस किया जा सकता है.
  • Android Studio में, Crashlytics डेटा देखें और उसे फ़िल्टर करें.
    • Android Studio में ऐप्लिकेशन की क्वालिटी के बारे में अहम जानकारी (एक्यूआई) विंडो का इस्तेमाल करके, अपने कोड के साथ Crashlytics डेटा देखें. इससे आपको डिबग करने के लिए, Crashlytics डैशबोर्ड और आईडीई के बीच बार-बार स्विच नहीं करना पड़ेगा.
    • Android Studio के दस्तावेज़ में, एआईक्यू विंडो इस्तेमाल करने का तरीका जानें.
    • आपका जवाब पाकर हमें खुशी होगी! हमें एक्यूआई विंडो के बारे में सुझाव/राय दें या शिकायत करें. इसके लिए, गड़बड़ी की रिपोर्ट दर्ज करें.