Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

با Firebase Crashlytics شروع کنید

با مجموعه‌ها، منظم بمانید ذخیره و دسته‌بندی محتوا براساس اولویت‌های شما.

این شروع سریع نحوه راه‌اندازی Firebase Crashlytics را در برنامه خود با Firebase Crashlytics SDK توضیح می‌دهد تا بتوانید گزارش‌های خرابی جامع را در کنسول Firebase دریافت کنید.با Crashlytics برای Android، گزارش‌هایی برای خرابی‌ها، خطاهای غیرمرگبار و خطاهای «برنامه پاسخ نمی‌دهد» (ANR) دریافت می‌کنید.

راه‌اندازی Crashlytics به وظایفی هم در کنسول Firebase و هم در IDE شما نیاز دارد (مانند افزودن یک فایل پیکربندی Firebase و Crashlytics SDK). برای تکمیل راه‌اندازی، باید یک خرابی آزمایشی را مجبور کنید تا اولین گزارش خرابی خود را به Firebase ارسال کنید.

قبل از اینکه شروع کنی

  1. اگر قبلاً این کار را نکرده اید، Firebase را به پروژه اندروید خود اضافه کنید. اگر برنامه اندروید ندارید، می توانید یک برنامه نمونه دانلود کنید.

  2. توصیه می‌شود: برای دریافت ویژگی‌هایی مانند کاربران بدون خرابی، گزارش‌های خرده نان، و هشدارهای سرعت، باید Google Analytics را در پروژه Firebase خود فعال کنید.

    • اگر پروژه Firebase موجود شما Google Analytics را فعال نمی کند، می توانید Google Analytics را از برگه ادغام > تنظیمات پروژه در کنسول Firebase فعال کنید.

    • اگر در حال ایجاد یک پروژه Firebase هستید، Google Analytics را در جریان کار ایجاد پروژه فعال کنید.

مرحله 1 : Crashlytics SDK را به برنامه خود اضافه کنید

در فایل Gradle ماژول (سطح برنامه) خود (معمولا <project>/<app-module>/build.gradle )، وابستگی را برای کتابخانه Android Crashlytics اضافه کنید. توصیه می‌کنیم از Firebase Android BoM برای کنترل نسخه‌سازی کتابخانه استفاده کنید.

برای تجربه بهینه با Crashlytics، توصیه می‌کنیم Google Analytics را در پروژه Firebase خود فعال کنید و Firebase SDK برای Google Analytics را به برنامه خود اضافه کنید.

Java

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

    // 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 استفاده می‌کند.

(جایگزین) وابستگی های کتابخانه Firebase را بدون استفاده از BoM اضافه کنید

اگر تصمیم گرفتید از Firebase BoM استفاده نکنید، باید هر نسخه کتابخانه Firebase را در خط وابستگی آن مشخص کنید.

توجه داشته باشید که اگر از چندین کتابخانه 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:18.2.13'
    implementation 'com.google.firebase:firebase-analytics:21.1.1'
}

Kotlin+KTX

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

    // 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-ktx'
    implementation 'com.google.firebase:firebase-analytics-ktx'
}

با استفاده از Firebase Android BoM ، برنامه شما همیشه از نسخه‌های سازگار کتابخانه‌های Firebase Android استفاده می‌کند.

(جایگزین) وابستگی های کتابخانه Firebase را بدون استفاده از BoM اضافه کنید

اگر تصمیم گرفتید از Firebase BoM استفاده نکنید، باید هر نسخه کتابخانه Firebase را در خط وابستگی آن مشخص کنید.

توجه داشته باشید که اگر از چندین کتابخانه 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-ktx:18.2.13'
    implementation 'com.google.firebase:firebase-analytics-ktx:21.1.1'
}

مرحله 2 : افزونه Crashlytics Gradle را به برنامه خود اضافه کنید

  1. در فایل Gradle سطح ریشه (سطح پروژه) خود ( <project>/build.gradle )، افزونه Crashlytics Gradle را به عنوان وابستگی اسکریپت ساخت اضافه کنید:

    buildscript {
        repositories {
          // Make sure that you have the following two repositories
          google()  // Google's Maven repository
          mavenCentral()  // Maven Central repository
        }
    
        dependencies {
            ...
            classpath 'com.android.tools.build:gradle:7.2.0'
    
            // Make sure that you have the Google services Gradle plugin dependency
            classpath 'com.google.gms:google-services:4.3.14'
    
            // Add the dependency for the Crashlytics Gradle plugin
            classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.2'
        }
    }
  2. در فایل Gradle ماژول (سطح برنامه) خود (معمولا <project>/<app-module>/build.gradle )، افزونه Crashlytics Gradle را اضافه کنید:

    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 برنامه خود استفاده کنید تا دکمه ای را به برنامه خود اضافه کنید که با فشار دادن آن باعث خرابی می شود. این دکمه دارای برچسب "تست تصادف" است.

    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));
    

    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))
    
  2. اپلیکیشن خود را بسازید و اجرا کنید.

  3. برای ارسال اولین گزارش خرابی برنامه خود، خرابی آزمایشی را اجباری کنید:

    1. برنامه خود را از دستگاه آزمایشی یا شبیه ساز خود باز کنید.

    2. در برنامه خود، دکمه «Test Crash» را که با استفاده از کد بالا اضافه کردید، فشار دهید.

    3. پس از خراب شدن برنامه، آن را مجددا راه اندازی کنید تا برنامه شما بتواند گزارش خرابی را به Firebase ارسال کند.

  4. برای مشاهده خرابی آزمایشی خود، به داشبورد Crashlytics کنسول Firebase بروید.

    اگر کنسول را به‌روزرسانی کرده‌اید و بعد از پنج دقیقه هنوز خرابی آزمایشی را نمی‌بینید، ثبت اشکال‌زدایی را فعال کنید تا ببینید آیا برنامه شما گزارش‌های خرابی را ارسال می‌کند یا خیر.


و بس! Crashlytics اکنون برنامه شما را از نظر خرابی، خطاهای غیرمرگبار و ANR زیر نظر دارد. از داشبورد Crashlytics دیدن کنید تا همه گزارش ها و آمار خود را مشاهده و بررسی کنید.

مراحل بعدی

  • با Google Play یکپارچه شوید تا بتوانید گزارش‌های خرابی برنامه Android خود را با استفاده از مسیر Google Play مستقیماً در داشبورد Crashlytics فیلتر کنید. این به شما امکان می دهد داشبورد خود را بهتر بر روی ساخت های خاص متمرکز کنید.
  • ردیابی پشته و آمار خرابی را مستقیماً در کنار کد خود با پنجره App Quality Insights در Android Studio مشاهده کنید. با استفاده از این ابزار، برای شروع رسیدگی به مشکلات اصلی، نیازی نیست بین داشبورد Crashlytics و IDE به عقب و جلو بپرید.