سرویس Crash Reporting در Firebase
در سری مقالات آموزش Firebase, به مبحث Crash Reporting میپردازیم.
در مقاله قبل به سرویس Analytic در Firebase اشاره کردیم. با استفاده از این سرویس میتوان استفاده های کاربر را بررسی کرد و یک بازخورد از فعالیت برنامه در اختیار داشت. در راستای این گزارش گیری ها از برنامه, بهتر است خطاهایی که در برنامه رخ میدهد را نیز دریافت کنیم. به این ترتیب با انتشار یک نسخه beta از برنامه و آزمایش آن توسط کاربران, میتوان در نسخه نهایی یک برنامه قابل قبول و با احتمال بروز خطا کمتری را منتشر کرد.
سرویس Crashing Report این امکان را به برنامه نویس میدهد تا خطا هایی که در برنامه رخ میدهد را به صورت گزارش دریافت کند. این سرویس به تنهایی اطلاعاتی را جمع آوری نمیکند و باید آنرا در هنگام کنترل خطا استفاده کرد.
برای شروع کار ابتدا Dependency مورد نیاز را به gradle اضافه میکنیم :
compile 'com.google.firebase:firebase-crash:10.2.0'
با استفاده از این سرویس میتوان تمام رخ داد ها و خطا های برنامه را بررسی و از آن گزارش تهیه کرد. برای پیاده سازی آن در برنامه میتوان یک object ایجاد شده از خطای بوجود آمده را به متد report ارسال کرد :
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ButterKnife.bind(this); error(); } private void error() { try { } catch (Exception e) { FirebaseCrash.report(e); } }
و سپس خطا را میتوان از قسمت Crash Report درFirebase Console مشاهده کرد. همچنین میتوان خطا را به گونه ای که مد نظر است تغییر داد :
private void error() { try { } catch (Exception e) { FirebaseCrash.report(new Exception("my Custom Exception")); } }
همچنین میتوان در راستای ارسال خطاها به server یکسری log ها را نیز ارسال کرد. برای ارسال log باید از متد log در کلاس FirebaseCrash استفاده شود. اگر بخواهیم این log ها در خروجی های برنامه نیز مشخص گردد باید از logcat استفاده شود. برای پیاده سازی log به این روش عمل میکنیم :
FirebaseCrash.log("this is log");
و اگر بخواهیم به صورت logcat در خود دستگاه نیز خروجی بدهد از این روش عمل میکنیم :
int tagLevel = 1; String tag = "TAG"; FirebaseCrash.logcat(tagLevel, tag, "this is logcat");
ممکن است برای اجرای این دستورات FirebaseCrash به multiDex نیاز داشته باشید. برای رفع این مشکل نیاز است تا پشتیبانی multidex را به پروژه اضافه کنید. در فایل build.gradle و در قسمت android باید multidex را فعال کنید :
android { defaultConfig { ... multiDexEnabled true .... } ... }
و سپس dependency آنرا اضافه میکنیم :
compile 'com.android.support:multidex:1.0.1'
و در androidmanifest,xml آنرا در برنامه قرار میدهیم :
<application android:name="android.support.multidex.MultiDexApplication" > ... </application>
با استفاده از Crash Reporting میتوانید نسخه های آزمایشی از برنامه منتشر کنید و با آزمایش کاربران, علاوه بر دریافت یک بازخورد برای مدیریت ایده ها, میتوانید مشکلات موجود و خطاهایی که در برنامه رخ میدهد را نیز کنترل کنید و در نسخه نهایی چنین ایراداتی را برطرف نمایید.
سری آموزش های Firebase به پایان رسیده است.
با ادامه آموزش های برنامه نویسی اندروید با ما همراه باشید
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.