Google 致力于为黑人社区推动种族平等。查看具体举措

Firebase Crashlytics SDK में अपग्रेड करें

अब आप नए आधिकारिक Firebase Crashlytics SDK का उपयोग करके अपने ऐप में Crashlytics सेट कर सकते हैं, जो बेहतर API प्रदान करता है जो अन्य Firebase उत्पादों के साथ अधिक संगत और उपयोग में अधिक सहज होते हैं।

यह मार्गदर्शिका बताती है कि पुराने फैब्रिक एसडीके से नए एसडीके में कैसे अपग्रेड किया जाए। यह नए एपीआई के साथ आने वाले परिवर्तनों का वर्णन करता है, परिवर्तनों का कारण, और यदि आवश्यक हो तो अपने कोड को कैसे अपडेट करें।

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

Firebase Crashlytics एसडीके, एक निर्भरता के रूप में AndroidX का उपयोग करता है इसलिए यदि आपका एप्लिकेशन अनुप्रयोग समर्थन लाइब्रेरी के पुराने संस्करणों का उपयोग करता है, पहले के लिए अपने app की ओर पलायन AndroidX

चरण 1: एक Firebase विन्यास फाइल जोड़े

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

  2. अपने Firebase एंड्रॉयड कॉन्फ़िग फ़ाइल प्राप्त करने के लिए डाउनलोड गूगल-services.json क्लिक करें ( google-services.json )।

    • आप अपने डाउनलोड कर सकते हैं Firebase एंड्रॉयड कॉन्फ़िग फ़ाइल किसी भी समय फिर।

    • सुनिश्चित करें कि config फ़ाइल नाम की तरह अतिरिक्त अक्षरों के साथ संलग्न नहीं है, (2)

  3. अपनी कॉन्फ़िगरेशन फ़ाइल को अपने ऐप के मॉड्यूल (ऐप-स्तर) निर्देशिका में ले जाएं।

चरण 2: Firebase Crashlytics एसडीके जोड़े

  1. यदि आपके ऐप की रूट स्तर (परियोजना स्तरीय) में build.gradle :

    • फैब्रिक के मावेन रिपॉजिटरी को Google के मावेन रिपॉजिटरी से बदलें।

    • फ़ैब्रिक ग्रैडल प्लगइन को फायरबेस क्रैशलिटिक्स ग्रैडल प्लगइन से बदलें। आप एंड्रॉयड स्टूडियो 4.1 कैनरी का उपयोग कर रहे हैं, तो प्लग Crashlytics Gradle जोड़ना सुनिश्चित करें संस्करण 2.0.0 या बाद में।

    buildscript {
      // ...
    
      repositories {
        // ...
    
        // Remove Fabric's Maven repository
        maven { url 'https://maven.fabric.io/public' }
    
        // Add Google's Maven repository (if it's not there already)
        google()
      }
    
      dependencies {
        // ..
    
        // Add the Google Services Gradle plugin (if it's not there already)
        classpath 'com.google.gms:google-services:4.3.10'
    
        // Remove the Fabric Gradle plugin
        classpath 'io.fabric.tools:gradle:1.31.2'
    
        // Add the Crashlytics Gradle plugin (use v2.0.0+ if you built
        // your app with Android Studio 4.1).
        classpath 'com.google.firebase:firebase-crashlytics-gradle:2.8.0'
      }
    }
    
  2. अपना ऐप्लिकेशन-स्तर में build.gradle , Firebase Crashlytics प्लगइन के साथ कपड़ा प्लगइन बदल देते हैं:

    apply plugin: 'com.android.application'
    
    // Apply the Google Services plugin (if it's not there already)
    apply plugin: 'com.google.gms.google-services'
    
    // Remove the Fabric plugin
    apply plugin: 'io.fabric'
    
    // Add the Firebase Crashlytics plugin
    apply plugin: 'com.google.firebase.crashlytics'
    
  3. अंत में, Firebase Crashlytics SDK जोड़ें। अपना ऐप्लिकेशन-स्तर में build.gradle , लेगेसी Firebase Crashlytics SDK के साथ कपड़ा Crashlytics एसडीके बदलें। सुनिश्चित करें कि आपने संस्करण 17.0.0 या बाद का संस्करण जोड़ा है (15 नवंबर, 2020 से, यह आपकी क्रैश रिपोर्ट को Firebase कंसोल में प्रदर्शित होने के लिए आवश्यक है)।

    dependencies {
      // Remove the Fabric Crashlytics SDK
      implementation 'com.crashlytics.sdk.android:crashlytics:2.10.1'
    
      // Add the Firebase Crashlytics SDK
      implementation 'com.google.firebase:firebase-crashlytics:18.2.4'
    
      // Recommended: Add the Google Analytics SDK
      implementation 'com.google.firebase:firebase-analytics:20.0.0'
    }
    

(वैकल्पिक) सेट अप NDK क्रैश रिपोर्टिंग

Firebase Crashlytics Android नेटिव डेवलपमेंट किट (NDK) का उपयोग करके बनाए गए ऐप्स के लिए क्रैश रिपोर्टिंग प्रदान करता है।

स्थानीय क्रैश का पता लगाने और रिपोर्ट करने के लिए:

  1. अपना ऐप्लिकेशन-स्तर में build.gradle फ़ाइल, Firebase Crashlytics NDK निर्भरता के साथ कपड़ा NDK निर्भरता की जगह। फिर, जोड़ने firebaseCrashlytics विस्तार और सक्षम करना सुनिश्चित करें nativeSymbolUploadEnabled झंडा। इस प्रक्रिया के लिए अपने app की अनुमति देता है और Crashlytics के मूल निवासी प्रतीकों अपलोड करें जिससे आप में ठीक से symbolicated स्टैक ट्रेस देख सकते हैं Crashlytics डैशबोर्ड

    dependencies {
      // Remove the Fabric NDK dependency
      implementation 'com.crashlytics.sdk.android:crashlytics-ndk:2.1.1'
    
      // Add the Firebase Crashlytics NDK dependency
      implementation 'com.google.firebase:firebase-crashlytics-ndk:18.2.4'
    }
    // ...
    
    android {
        // ...
    
        buildTypes {
            release {
                /* Add the firebaseCrashlytics extension (by default,
                * it's disabled to improve build speeds) and set
                * nativeSymbolUploadEnabled to true. */
    
                firebaseCrashlytics {
                    nativeSymbolUploadEnabled true
                }
            }
        }
    }
    
    // Remove this extension (it previously enabled Crashlytics NDK reporting in Fabric)
    crashlytics {
      enableNdk true
    }
    
  2. निम्नलिखित एनडीके-विशिष्ट ग्रैडल कार्य चलाएँ:

    > ./gradlew app:assembleBUILD_VARIANT
    > ./gradlew app:uploadCrashlyticsSymbolFileBUILD_VARIANT
    

NDK क्रैश रिपोर्टिंग के लिए Crashlytics का उपयोग कर के बारे में अधिक जानकारी के लिए, Crashlytics NDK प्रलेखन

चरण 3: अपने कोड अपडेट करें

निम्नलिखित SDK परिवर्तनों की समीक्षा करें और अपने कोड में उपयुक्त अपडेट करें:


Crashlytics अब Firebase इंस्टॉलेशन आईडी के आधार पर आईडी को घुमाता है।

Crashlytics Crashlytics इंस्टालेशन UUID का उपयोग आपके ऐप के इंस्टेंस की पहचान करने और आपके उपयोगकर्ताओं के डेटा को उनके डिवाइस से जोड़ने के लिए करता है। पहले, Crashlytics ने आपके उपयोगकर्ता के इंस्टॉलेशन UUID को तब घुमाया जब उनके डिवाइस की विज्ञापन आईडी बदल गई। अब, Crashlytics उपयोगकर्ता के Firebase इंस्टॉलेशन आईडी (FID) के आधार पर इंस्टॉलेशन UUID को घुमाता है। अधिक जानकारी के लिए यात्रा Firebase स्थापना आईडी की व्यवस्था करें

बदलाव के कारण

FID का उपयोग करना अन्य Firebase SDK के साथ संगत है।


Crashlytics का नया पैकेज और वर्गनाम com.google.firebase.crashlytics.FirebaseCrashlytics है।

अब आप FirebaseCrashlytics वर्ग में स्थिर कार्यों के बजाय FirebaseCrashlytics सिंगलटन में इंस्टेंस विधियों का उपयोग करके Crashlytics सुविधाओं को लागू कर सकते हैं। FirebaseCrashlytics सिंगलटन के माध्यम से विश्व स्तर पर पहुँचा जा सकता है getInstance() स्थिर कार्य करते हैं।

कपड़ा एसडीके

जावा

import com.crashlytics.android.Crashlytics;

// ...

// Operations on Crashlytics.
Crashlytics.someAction()

कोटलिन + केटीएक्स

import com.crashlytics.android.Crashlytics

// ...

// Operations on Crashlytics.
Crashlytics.someAction()

फायरबेस क्रैशलिटिक्स एसडीके

जावा

import com.google.firebase.crashlytics.FirebaseCrashlytics;

// ...

// Operations on FirebaseCrashlytics.
FirebaseCrashlytics crashlytics = FirebaseCrashlytics.getInstance();
crashlytics.someAction();

कोटलिन + केटीएक्स

import com.google.firebase.crashlytics.FirebaseCrashlytics

// ...

// Operations on FirebaseCrashlytics.
val crashlytics = FirebaseCrashlytics.getInstance()
crashlytics.someAction()

बदलाव के कारण

नए SDK के रूट पैकेज और प्रवेश बिंदु अब अन्य Firebase SDK के साथ संगत हैं। इसके अलावा, उदाहरण के तरीके स्थिर कार्यों की तुलना में नकल करना आसान है और कम परीक्षण क्षमता चुनौतियां पैदा करते हैं।


FirebaseCrashlytics अब फ़ैब्रिक SDK के साथ काम नहीं करता है।

अब, Crashlytics नए Firebase Crashlytics SDK में परिभाषित ContentProvider का उपयोग करके स्वचालित रूप से प्रारंभ हो जाता है, जो अब फ़ैब्रिक API कुंजी का उपयोग नहीं करता है। Crashlytics अब आपको अपने ऐप्लिकेशन की का उपयोग करता है google-services.json अपने Firebase परियोजना के साथ एप्लिकेशन संबद्ध करने और अपने ऐतिहासिक क्रैश डेटा बनाए रखने के लिए फ़ाइल।

आप कपड़ा API कुंजी (है, तो io.fabric.ApiKey ) अपने में घोषित AndroidManifest.xml फ़ाइल, इसे हटाने:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.example.your_app_package">

   <application>
      <activity android:name=".MainActivity"/>

      <!-- Remove this line if it exists -->
      <meta-data android:name="io.fabric.ApiKey"
          android:value="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" />

   </application>
</manifest>

डिफ़ॉल्ट रूप से, Crashlytics स्वचालित रूप से एकत्र करता है और रिपोर्ट आपके एप्लिकेशन के सभी उदाहरणों के लिए दुर्घटनाओं, लेकिन आप इसे केवल उन जिन्होंने उसका चुनाव के लिए सक्षम करने के लिए चुन सकते हैं। में स्वत: क्रैश रिपोर्टिंग बंद करने के लिए, <application> आपके के ब्लॉक AndroidManifest.xml फ़ाइल, सेट firebase_crashlytics_collection_enabled को false :

<meta-data
    android:name="firebase_crashlytics_collection_enabled"
    android:value="false" />

बदलाव के कारण

अन्य Firebase SDK के साथ संगत होने के लिए, Crashlytics अब ContentProvider के माध्यम से स्वचालित रूप से प्रारंभ हो जाता है। अन्य SDKs साथ की तरह, यह अब अक्षम स्वत: डेटा संग्रह है, जो आप का उपयोग कर किसी भी समय ओवरराइड कर सकते हैं करने के लिए एक प्रकट ध्वज प्रदान करता है setCrashlyticsCollectionEnabled । यह विधि आपको अपने ऐप के क्रैश रिपोर्टिंग व्यवहार पर अधिक नियंत्रण देती है।


Crashlytics.log अब एक उदाहरण विधि है।

नई एसडीके अब एक स्थिर शामिल Crashlytics.log विधि। कस्टम लॉग संदेशों को जोड़ने के लिए, नया उदाहरण विधि का उपयोग crashlytics.log बजाय। ध्यान दें कि नई विधि अब लॉगकैट के लिए प्रतिध्वनित नहीं होती है (यदि आप इस व्यवहार को बनाए रखना चाहते हैं तो हम एक आवरण लिखने की सलाह देते हैं)। अधिक जानकारी के लिए ऐड कस्टम लॉग संदेशों

कपड़ा एसडीके

जावा

Crashlytics.log("my message");

Crashlytics.log(
 Log.ERROR,
 "TAG",
 "my message");

कोटलिन + केटीएक्स

Crashlytics.log("my message")

Crashlytics.log(
 Log.ERROR,
 "TAG",
 "my message")

फायरबेस क्रैशलिटिक्स एसडीके

जावा

FirebaseCrashlytics crashlytics = FirebaseCrashlytics.getInstance();

crashlytics.log("my message");

// To log a message to a crash report, use the following syntax:
crashlytics.log("E/TAG: my message");

कोटलिन + केटीएक्स

val crashlytics = FirebaseCrashlytics.getInstance()

crashlytics.log("my message")

// To log a message to a crash report, use the following syntax:
crashlytics.log("E/TAG: my message")

बदलाव के कारण

आपके अनुरोध पर, हमने क्रैशलिटिक्स लॉग को लॉगकैट पर प्रतिध्वनित करना बंद कर दिया है। इंस्टेंस विधियों का उपयोग करने से आपके कोड का परीक्षण करना भी आसान हो जाता है।


setBool, setDouble, setFloat, और setInt, setLong, और setString को setCustomKey में एकत्रित किया गया है।

हम विधि में कस्टम कुंजी setters एकत्रित किया setCustomKey । पहले, आप अपनी क्रैश रिपोर्ट के साथ भेजने के लिए कुंजी/मान जोड़े सेट करने के लिए कस्टम कुंजी सेटर्स का उपयोग कर सकते थे। अब, आप उपयोग कर सकते हैं setCustomKey(String, value) है, जो आदिम और स्ट्रिंग प्रकार स्वीकार करने के लिए ओवरलोड हो गया है। अधिक जानकारी के लिए यात्रा कस्टम कुंजी जोड़ें।

कपड़ा एसडीके

जावा

Crashlytics.setBool("bool_key",true);

Crashlytics.setDouble("double_key",42.0);

Crashlytics.setFloat("float_key",42.0F);

Crashlytics.setInt("int_key",42);

Crashlytics.setLong("long_key",42L);

Crashlytics.setString("str_key","str_value");

कोटलिन + केटीएक्स

Crashlytics.setBool("bool_key",true)

Crashlytics.setDouble("double_key",42.0)

Crashlytics.setFloat("float_key",42.0F)

Crashlytics.setInt("int_key",42)

Crashlytics.setLong("long_key",42L)

Crashlytics.setString("str_key","str_value")

फायरबेस क्रैशलिटिक्स एसडीके

जावा

FirebaseCrashlytics crashlytics = FirebaseCrashlytics.getInstance();

crashlytics.setCustomKey("bool_key",true);

crashlytics.setCustomKey("double_key",42.0);

crashlytics.setCustomKey("float_key",42.0F);

crashlytics.setCustomKey("int_key",42);

crashlytics.setCustomKey("long_key",42L);

crashlytics.setCustomKey("str_key","42");

कोटलिन + केटीएक्स

FirebaseCrashlytics crashlytics = FirebaseCrashlytics.getInstance()

crashlytics.setCustomKey("bool_key",true)

crashlytics.setCustomKey("double_key",42.0)

crashlytics.setCustomKey("float_key",42.0F)

crashlytics.setCustomKey("int_key",42)

crashlytics.setCustomKey("long_key",42L)

crashlytics.setCustomKey("str_key","42")

बदलाव के कारण

नई विधि का नाम Crashlytics के लिए अद्वितीय है और यह स्पष्ट करता है कि Crashlytics कुंजी-मान के अनुरूप नहीं है।


setUserIdentifier अब setUserId है। setUserName और setUserEmail हटा दिए जाते हैं।

इससे पहले, आप एक नाम या ईमेल एक दुर्घटना के उपयोग से संबंधित सेट कर सकते हैं setUserName और setUserEmail , लेकिन इन तरीकों को अब परिभाषित कर रहे हैं। अपने उपयोगकर्ताओं के लिए सेट आईडी के लिए नए पसंदीदा तरीका उपयोग करने के लिए है setUserId । अधिक जानकारी के लिए देखें सेट उपयोगकर्ता पहचानकर्ता।

कपड़ा एसडीके

जावा

Crashlytics.setUserIdentifier("myAppUserId");

Crashlytics.setUserEmail("abc@example.com");

Crashlytics.setUserName("John Doe");

कोटलिन + केटीएक्स

Crashlytics.setUserIdentifier("myAppUserId")

Crashlytics.setUserEmail("abc@example.com")

Crashlytics.setUserName("John Doe")

फायरबेस क्रैशलिटिक्स एसडीके

जावा

crashlytics.setUserId("myAppUserId");

कोटलिन + केटीएक्स

crashlytics.setUserId("myAppUserId")

बदलाव के कारण

हम विधि नाम को अपनाया setUserId अन्य Firebase एपीआई और निकाले गए के अनुरूप होना करने के लिए setUserName और setUserEmail Crashlytics के माध्यम से PII प्रवेश करने को हतोत्साहित करने के।


Crashlytics.logException(Throwable) को FirebaseCrashlytics.recordException(Throwable) से बदल दिया गया है।

Crashlytics अब Apple और Android दोनों ऐप के लिए बिल्ट-इन एरर और अपवाद प्रकारों को लॉग करने का भी समर्थन करता है।

कपड़ा एसडीके

जावा

try {
/* Code that can throw checked
exceptions. */

// ...

} catch (Exception e) {
Crashlytics.logException(e);
}

कोटलिन + केटीएक्स

try {
/* Code that can throw checked
exceptions. */

// ...

catch (e: Exception) {
Crashlytics.logException(e)
}

फायरबेस क्रैशलिटिक्स एसडीके

जावा

try {
/* Code that can throw checked
exceptions. */

// ...

} catch (Exception e) {
FirebaseCrashlytics.getInstance().recordException(e);
}

कोटलिन + केटीएक्स

try {
/* Code that can throw checked
exceptions. */

// ...

catch (e: Exception) {
FirebaseCrashlytics.getInstance().recordException(e)
}

बदलाव के कारण

नई विधि recordException(Throwable) से अधिक आसानी से अलग पहचाना है log(String) है, जो अलग ढंग से व्यवहार करता है। इसके अलावा, हमने नए एपीआई का नाम बदलकर सभी प्लेटफार्मों पर अधिक सुसंगत होने के लिए किया है।


CrashlyticsListener को didCrashOnPreviousExecution() द्वारा प्रतिस्थापित किया जाता है।

CrashlyticsListener ने पहले Crashlytics को यह इंगित करने की अनुमति दी थी कि पिछला ऐप सत्र क्रैश में कब समाप्त होता है, जो उन ऐप्स के लिए उपयोगी है जो पुन: लॉन्च पर पोस्ट-क्रैश मैसेजिंग प्रदर्शित करते हैं। अब, अपने कॉलबैक तुल्यकालिक API कॉल ने ले ली है didCrashOnPreviousExecution()

कपड़ा एसडीके

जावा

CrashlyticsListener crashlyticsListener =
new CrashlyticsListener() {
  @Override
  public void crashlyticsDidDetectCrashDuringPreviousExecution() {
    // ...App code to execute if a crash occurred during previous execution.
  }
};

CrashlyticsCore crashlyticsCore = new CrashlyticsCore.Builder()
                                      .listener(crashlyticsListener)
                                      .build();

Crashlytics crashlytics = new Crashlytics.Builder().core(crashlyticsCore).build();

Fabric.with(getContext(), crashlytics);

कोटलिन + केटीएक्स

val crashlyticsListener = CrashlyticsListener {
  // ...App code to execute if a crash occurred during previous execution.
}
val crashlyticsCore = CrashlyticsCore.Builder()
  .listener(crashlyticsListener)
  .build()
val crashlytics = Crashlytics.Builder().core(crashlyticsCore).build()
Fabric.with(getContext(), crashlytics)

फायरबेस क्रैशलिटिक्स एसडीके

जावा

if (FirebaseCrashlytics.getInstance().didCrashOnPreviousExecution()) {
// ...App code to execute if a crash occurred during previous execution.
}

कोटलिन + केटीएक्स

if (FirebaseCrashlytics.getInstance().didCrashOnPreviousExecution()) {
// ...App code to execute if a crash occurred during previous execution.
}

बदलाव के कारण

नया एपीआई CrashlyticsListener की तुलना में कम वर्बोज़ और काम करने के लिए कम चुनौतीपूर्ण है क्योंकि इसके लिए न तो बॉयलरप्लेट टेक्स्ट और न ही कॉलबैक की आवश्यकता होती है। पहले, एसिंक्रोनस कॉलबैक इस बात की गारंटी नहीं देता था कि कॉलबैक कब लागू किया जाएगा।


क्रैश विधि हटा दी जाती है।

नए एसडीके में अब क्रैश विधि शामिल नहीं है, जिसका उपयोग आप पहले अपने ऐप में क्रैश को मजबूर करके अपने क्रैशलाईटिक्स कॉन्फ़िगरेशन को सत्यापित करने के लिए कर सकते थे। एक फेंक RuntimeException एक दुर्घटना के लिए मजबूर करने।

कपड़ा एसडीके

जावा

Crashlytics.getInstance().crash();

कोटलिन + केटीएक्स

Crashlytics.getInstance().crash()

फायरबेस क्रैशलिटिक्स एसडीके

जावा

throw new RuntimeException("Test Crash");

कोटलिन + केटीएक्स

throw RuntimeException("Test Crash")

बदलाव के कारण

नई विधियां स्पष्ट रूप से निर्दिष्ट करती हैं कि क्या आपके ऐप के परिणामी क्रैश रनटाइम के दौरान या ऐप के मूल एसडीके में हुए थे।


क्रैशलिटिक्स ग्रैडल प्लगइन में नए झंडे हैं।

ग्रैडल प्लगइन क्रैशलीटिक्स-विशिष्ट ग्रैडल कार्यों को स्वचालित रूप से कॉन्फ़िगर और निष्पादित करना जारी रखता है। अपने निर्माण Crashlytics Gradle प्लगइन से कार्यों लागू की आवश्यकता है, चलाकर उपलब्ध Firebase Crashlytics कार्यों का उल्लेख ./gradlew app:tasks । आपका एप्लिकेशन NDK का उपयोग करता है, तो आप स्पष्ट रूप से आह्वान करना चाहिए uploadCrashlyticsSymbolFile[ BUILD_VARIANT ] Gradle कार्य Crashlytics के मूल निवासी प्रतीकों अपलोड करना जारी रखना।

Crashlytics विशेष निर्माण झंडे ext.alwaysUpdateBuildId और ext.enableCrashlytics अब समर्थित नहीं हैं। यदि वे मौजूद हैं तो उन्हें अपने ग्रैडल कॉन्फ़िगरेशन से हटा दें। आपका ऐप्लिकेशन किसी बाईटकोड अस्पष्टकर्ता का उपयोग करता है (जैसे, R8 या Proguard) और आप Crashlytics के लिए अपने निर्माण की मैपिंग फ़ाइल अपलोड करने के लिए नहीं करना चाहते हैं, नए का उपयोग mappingFileUploadEnabled में झंडा firebaseCrashlytics Gradle विस्तार। जब गलत पर सेट किया जाता है, तो Crashlytics आपके ऐप के स्टैक ट्रेस को अस्पष्ट नहीं कर सकता। अमानक अस्पष्टकर्ता विन्यास के लिए, का उपयोग mappingFile अपने मैपिंग फ़ाइल के लिए एक नया स्थान निर्धारित करने के लिए पैरामीटर। इन झंडों का उपयोग डिफ़ॉल्ट कॉन्फिग के साथ-साथ किसी भी निर्माण प्रकार या स्वाद के लिए किया जा सकता है।

फायरबेस क्रैशलिटिक्स एसडीके

apply plugin: 'com.android.application'
apply plugin: 'com.google.firebase.crashlytics'
apply plugin: 'com.google.gms.google-services'

android {
    // ...

    buildTypes {
        debug {
            minifyEnabled true
            firebaseCrashlytics {
                // If you don't need crash reporting for your debug build,
                // you can speed up your build by disabling mapping file uploading.
                mappingFileUploadEnabled false
            }
        }

        release {
            minifyEnabled true
            // When minifyEnabled is set to true, Crashlytics automatically
            // uploads mapping files because the plugin detects that obfuscation
            // is enabled. mappingFileUploadEnabled defaults to true if
            // minifyEnabled is true.
        }
    }
}

बदलाव के कारण

हमने ग्रैडल कार्यों और कॉन्फ़िगरेशन विकल्पों को ग्रैडल सम्मेलनों के साथ अधिक संगत होने के लिए अपडेट किया है।


Crashlytics केवल Google Analytics द्वारा एकत्र किए गए डेटा का उपयोग कर सकता है।

Firebase Crashlytics SDK में अपग्रेड करने के बाद अब आप फ़ैब्रिक उत्तर के साथ डेटा एकत्र नहीं कर सकते हैं। क्रैश-मुक्त उपयोगकर्ताओं और ब्रेडक्रंब के लिए मीट्रिक प्राप्त करने के लिए, इसके बजाय Google Analytics का उपयोग करने के लिए स्विच करें। ध्यान दें कि आपका ऐतिहासिक उत्तर डेटा Firebase में माइग्रेट नहीं कर सकता है।

यात्रा गूगल विश्लेषिकी का उपयोग प्रारंभ अपने अनुप्रयोग के लिए Google विश्लेषण जोड़ने के बारे में जानने के लिए।

बदलाव के कारण

आपके क्रैश डेटा के बारे में अधिक जानकारी प्राप्त करने में आपकी सहायता के लिए अब हम Google Analytics की पेशकश करते हैं। Analytics के साथ, आप Firebase कंसोल में अपने ऐप्लिकेशन के आंकड़े एकत्र करना जारी रख सकते हैं।


अगला कदम