Arabic (العربية/عربي) translation by Muhlis Tirowali (you can also view the original English article)
في Android ، هناك احتمال كبير لانتهاك تطبيقك حتى بعد اختباره يدويًا واختياريًا. قد يرجع ذلك إلى عوامل مثل عدم التوافق مع مستويات مختلفة من واجهة برمجة التطبيقات وأحجام الشاشات وذاكرة الهاتف وتوافر أجهزة الاستشعار وتخصيص الموردين لتناسب أجهزتهم الفردية. سيساعدك Crashlytics في تشخيص هذه المشكلات.
حوادث تجعل المستخدمين الحزن والغضب. حتى أنها قد تحتاج إلى إلغاء تثبيت التطبيق إذا كان هذا يحدث في كثير من الأحيان. ثم إعطاء التطبيق الخاص بك استعراض سيئة وإعطاء ردود فعل سلبية على مخزن اللعب والذهاب ثم تثبيت التطبيق الخاص بك منافس! في هذا التطبيق مزدحمة بالفعل وتنافسية السوق، مما يجعل المستخدمين سعيدة أمر حيوي لنجاح التطبيق الخاص بك.
أنه من المستحيل تماما للتطبيق الخاص بك لا أن تعطل، ولكن حفظ الخاص بك تعطل وصولاً إلى الحد أدنى من المهم جداً. أثناء التطوير والاختبار، قد لا يكون واجهت حادث معين، ولكن في الإنتاج عند المستخدمين الخاصة بك تستخدم بنشاط، عليك أن تبدأ لمعرفة أعطال. تحطم متينة وقوية الإبلاغ الحل ضروري لجمع المعلومات حول التطبيق الخاص بك باستخدام تعطل وأن أعطيكم نظرة ثاقبة كيف يمكنك إصلاح المشكلة لإبقاء المستخدمين سعيدة.
في هذا البرنامج التعليمي ، سوف أريكم كيفية استخدام Crashlytics ، وهو حل تقارير قوي وقوي وخفيف الوزن حتى الآن ، والذي يعد جزءًا من مجموعة أدوات مطور النسيج بواسطة Twitter. سننشئ تطبيقًا بسيطًا يتعطل عند النقر على زر ، حتى يتسنى لنا الحصول على إحصاءات عن التحطم باستخدام Crashlytics.
1. لماذا استخدام Crashlytics؟
في ما يلي بعض الأسباب التي قد تدفعك إلى استخدامها:
- من السهل اقامة
- تطبيقات غير محدودة، والمستخدمين، وتعطل
- التنبيهات في الوقت الحقيقي
- الإبلاغ عن الحادث في الوقت الحقيقي
- التحليل المتعمق تحطم
- تتبع للاستثناءات
- سهلة لمشاركة التقرير تحطم
- توزيع التطبيق بيتا
- تطبيق جوال مجاني لمراقبة تطبيقك أثناء التنقل والحصول على تنبيهات في الوقت الفعلي للمشكلات المهمة
- مجاناً!
2. إنشاء مشروع استوديو الروبوت
أولاً ، أطلق Android Studio وأنشئ مشروعًا جديدًا "CrashlyticsTutorial" مع نشاط فارغ يسمى MainActivity
.
3-تثبيت البرنامج المساعد النسيج
أولاً، يجب أن يكون لديك حساب في النسيج لدمج كراشليتيكس في التطبيق الخاص بك. حتى ملء التفاصيل المطلوبة، وسيتم إرسال رسالة تأكيد البريد إلكتروني لك.
يمكنك أن تختار أما إلى إدماج النسيج مع المشروع الخاص بك أما عن طريق تحميل البرنامج المساعد "استوديو الروبوت"، التي ستقوم تلقائياً بتعديل الملفات الضرورية للإدماج، أو عن طريق تعديل الملف build.gradle الخاص بك يدوياً. لهذا البرنامج التعليمي، سوف نستخدم طريقة أسهل، ومع البرنامج المساعد.
بعد النقر فوق ارتباط التأكيد، سيتم إرشادك إلى تثبيت البرنامج المساعد:
الخطوة 1
حدد الروبوت كمنهاج العمل.
الخطوة 2
بالنسبة لمستخدمي Mac: اختر Preferences… من قائمة Android Studio / IntelliJ. مستخدمو Windows و Linux: حدد الإعدادات من القائمة ملف.

الخطوة 3
حدد الوظائف الإضافية، انقر فوق الزر "استعراض مستودعات"، والبحث عن "النسيج للروبوت".
الخطوة 4
انقر فوق الزر تثبيت البرنامج المساعد لتنزيل وتثبيت البرنامج المساعد.
4-دمج كراشليتيكس
الخطوة 1
للشروع في إدماج كراشليتيكس في مشروع "استوديو الروبوت" الخاص بك، قم بإدخال بيانات الاعتماد الخاصة بك لتسجيل الدخول.

الخطوة 2
حدد CrashlyticsTutorial في مشروع Android وانقر على زر التالي.
الخطوة 3
النسيج قائمة بجميع المنظمات التي قمت بالتسجيل، وحتى تحديد المنظمة التي تريد ربط التطبيق مع ثم انقر فوق زر التالي.

الخطوة 4
ثم يقوم النسيج بإدراج جميع أطقمه. نظرًا لأن هذا البرنامج التعليمي هو برنامج Crashlytics ، حدد Crashlytics وانقر فوق الزر Next.
الخطوة 5
انقر فوق الزر تثبيت.
النسيج يريد إجراء تغييرات على الخاص بك build.gradle، MainActivity.java و AndroidManifest.xml وملفات، انقر فوق ذلك الزر تطبيق التغييرات يحدث.
الخطوة 6
بناء وتشغيل التطبيق الخاص بك حتى نتمكن من التأكد من أن كل شيء تم تكوينه بشكل صحيح. إذا تمت تهيئة التطبيق بنجاح ، فستتلقى رسالة إلكترونية مرسلة على الفور إلى عنوان البريد الإلكتروني الذي استخدمته للتسجيل في قماش.
5-عرض لوحة المعلومات
الآن وقد تم دمج Crashlytics بنجاح مع مشروعنا ، قم بزيارة لوحة القيادة الرئيسية لرؤية تطبيقنا: CrashlyticsTutorial.
سيؤدي النقر على أحد المشروعات إلى فتح لوحة التحكم Crashlytics ، والتي ستدرج المشكلات التي تمت مواجهتها. حتى الآن ليس لدينا شيء ؛ في وقت لاحق ، سنعاود زيارة لوحة التحكم هذه عندما نكون قد أنشأنا عطلًا بشكل متعمد.
داخل لوحة كراشليتيكس المشروع، يمكنك الحصول على لمحة عامة عن أعطال. يمكنك تصفية تعطل بإصدارات التطبيق، الأحداث، يوما، وحالة (مفتوحة، مغلقة أو جميع)، نشاط الجهاز أو نظام التشغيل المستخدم (على الرغم من عدة إجابات يجب أن تكون ممكنة لاستخدام هذه الميزة). يمكنك أيضا مشاهدة العدد الإجمالي للحوادث، غير فاتالس، والمستخدمين المتأثرين، وأكثر.
يمنحك عدة إجابات الإحصاءات في الوقت الحقيقي على كيفية استخدام التطبيق الخاص بك، بما في ذلك أرقام المستخدم النشط، وطول الدورة، وتقييم الاستقرار والاحتفاظ بها.
6. عمدا خلق حادث
فهم الفرق بين حوادث وقضايا
والفرق بين حوادث وقضايا هو أن كراشليتيكس يجمع بين حوادث مماثلة في القضايا (خاصة الأسطر من التعليمات البرمجية التي تظهر إلى أن تسبب نفس النوع من تحطم الطائرة). على سبيل المثال، إذا كان لديك تعطل 100,000 ذكرت، هذه يمكن عزوه إلى قضايا 60 فقط.
دعونا عمدا خلق حادث تحطم وعرض قضية تم تسجيلها على لوحة المعلومات.
إنشاء تخطيط
فيما يلي ملف تخطيط النشاط الرئيسي
:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context="com.chikeandroid.crashlyticstutorial.MainActivity"> <Button android:id="@+id/btn_crash_now" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="Crash Now!" android:layout_centerVertical="true" android:layout_centerHorizontal="true" /> </RelativeLayout>
طريقة crashNow ()
تعديل فئة ميناكتيفيتي
لإطلاق النار حتى أسلوب crashNow()
، والذي سوف يؤدي رونتيميكسسيبشن عند النقر فوق الزر.
package com.chikeandroid.crashlyticstutorial; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Button; import com.crashlytics.android.Crashlytics; import io.fabric.sdk.android.Fabric; public class MainActivity extends AppCompatActivity { private Button mCrashNowButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Fabric.with(this, new Crashlytics()); setContentView(R.layout.activity_main); mCrashNowButton = (Button) findViewById(R.id.btn_crash_now); mCrashNowButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { crashNow(); } }); } private void crashNow() { throw new RuntimeException("This is a crash"); } }
تحطم!
تشغيل التطبيق ثم انقر فوق الزر الآن تحطم الطائرة.
7-إعادة النظر في لوحة المعلومات
بعد تحطم الطائرة ناجحة، إعادة النظر في لوحة معلومات لمعرفة المشكلة التي تم تسجيلها على الفور. سوف تحصل أيضا إشعارا بالبريد إلكتروني من النسيج حول الحادث. في لوحة معلومات حتى الآن، لدينا الآن مسألة واحدة وتحطم واحد واحد المستخدم المتأثر. يمكنك البحث عن مشكلة محددة مع اسم الملف، واسم الأسلوب، رقم السطر، أو تلاحظ المسألة (واحدة مدتها فقط).
عند النقر فوق في مسألة، فإنه يفتح صفحة حيث يمكنك الحصول على تقرير متعمق في تحطم الطائرة. الصفحة تجمع جميع الأعطال التي حدثت.

الأجزاء الرئيسية لواجهة المستخدم هذه كما يلي:
1 | اسم الحزمة والمشروع، بما في ذلك رقم السطر حيث وقع الحادث |
2 | الأخيرة حوادث تصفية |
3 | العدد الإجمالي لحوادث |
4 | العدد الإجمالي للمستخدمين المتأثرين بالحادث |
5 | تبديل لوسم هذه المسألة مفتوحة أو مغلقة |
6 | الرسم البياني للعدد من حوادث تحطم الطائرات في اليوم الواحد |
7 | زر لمشاركة هذه المسألة عن طريق التغريد أو مع أعضاء فريقك |
8 | النسبة المئوية للأجهزة تحطمت بالقرب من تنشيط |
9 | النسبة المئوية للأعطال التي وقعت عندما كان التطبيق في التركيز |
10 | النسبة المئوية للأجهزة المحطمة التي تمتد جذورها |
11 | انهيار نموذج أسماء الأجهزة المحطمة |
12 | توزيع نظام التشغيل لأجهزة تحطمت |
13 | تحميل تتبع مكدس الذاكرة المؤقتة الاستثناء كملف txt. |
14 | طريقة عرض قابلة لتوسيع لتتبع المكدس |
15 | عرض تفاصيل عن كل تقرير تحطم الفردية. |
في هذه الصفحة، يمكنك أيضا عرض الملاحظات وكتابة مذكرات عن كل حادث.
8-ومن السمات كراشليتيكس
النسيج التطبيق المحمول
وقد النسيج أيضا متاح مجاناً في تطبيق المحمول على مخزن لعب جوجل. مع التطبيق المحمول، يمكنك الحصول على إعلام بدفع فوري عند حدوث تعطل حرجة، فضلا عن بعض البيانات التي تعطي نظرة ثاقبة القضية: تفصيل للأجهزة والأنظمة الأساسية المتأثرة، تتبع المكدس الكاملة، وعدد المستخدمين المتضررين، الذين يتأثر، تلاحظ دخلت حول قضية، وخيار لمشاركة هذه المسألة مع أعضاء الفريق. يتم تحديث كافة هذه البيانات في الوقت الحقيقي.

سجل اشتعلت الاستثناءات
كراشليتيكس أيضا تمكنك من تسجيل الاستثناءات التي اشتعلت في كتلة catch
باستخدام (Crashlytics.logException(Exception
.
try { myMethodThatThrows(); } catch (Exception e) { Crashlytics.logException(e); // handle your exception here! }
سوف تظهر جميع الاستثناءات التي تم تسجيلها كقضايا "غير قاتلة" في لوحة النسيج. كراشليتيكس بمعالجة الاستثناءات على مؤشر ترابط خلفية مخصصة وحتى تسجيل استثناء لن كتلة واجهة المستخدم للتطبيق والتأثير الأداء للتطبيق الخاص بك سوف تكون صغيرة.
تسجيل مخصص
عندما تقوم بتسجيل استثناء، يمكنك إنشاء رسالة سجل مخصص المقترنة البيانات تحطم، وسيتم عرضه في لوحة كراشليتيكس على أن تحطم خاصة.
Crashlytics.log(int priority, String tag, String msg);
بالإضافة إلى الظهور في التقرير الخاص بك، فإنه أيضا ستضاف إلى لوجكات الروبوت. لمنع حدوث ذلك، استخدم بدلاً من ذلك:
Crashlytics.log(String message);
كما هو الحال في المثال التالي:
private void crashNow() { Crashlytics.log("My log message"); throw new RuntimeException("This is a crash"); }

تعريف المستخدمين بشكل فريد
وقد كراشليتيكس شكل فريد المستخدم النهائي للتطبيق الخاص بك في لوحة المعلومات للتصحيح سهلة، الأساليب الموجودة أدناه:
Crashlytics.setUserIdentifier("12345"); Crashlytics.setUserEmail("fakeemail@gmail.com"); Crashlytics.setUserName("Test User");
استخدم Crashlytics.setUserIdentifier
لتوفير رقم معرّف أو رمز مميز أو قيمة تجزئة تحدد بشكل فريد المستخدم النهائي للتطبيق دون الكشف عن أي معلومات شخصية أو نقلها.
توزيع بيتا
إذا كنت تريد لبيتا توزيع التطبيق الخاص بك إلى مجموعة من المستخدمين للاختبار والحصول على ردود الفعل قبل أخيرا الإفراج عن التطبيق الخاص بك للجمهور، وقد كراشليتيكس أداة مجانية مفيدة جداً تسمى بيتا. لن أخوض هنا، لكن التحقق من مستندات رسمية للحصول على مزيد من المعلومات.
تعطيل كراشليتيكس للبنيات التصحيح
يمكنك تعطيل كراشليتيكس للبنيات التصحيح، والتي سوف تسرع عملية بناء التصحيح الخاص بك.
أولاً، هذا إضافة إلى ملف build.gradle:
buildTypes { ... debug { // Disable fabric build ID generation for debug builds ext.enableCrashlytics = false } }
ثم، قم بتعطيل كيت كراشليتيكس في وقت التشغيل.
... @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Set up Crashlytics, disabled for debug builds Crashlytics crashlyticsKit = new Crashlytics.Builder() .core(new CrashlyticsCore.Builder().disabled(BuildConfig.DEBUG).build()) .build(); Fabric.with(this, crashlyticsKit); setContentView(R.layout.activity_main); }
الاستنتاج
كراشليتيكس قوية جداً ومفيدة للإبلاغ عن الحادث فعالة. في هذا البرنامج التعليمي، يمكنك تعلم:
- كيفية دمج كراشليتيكس في مشروع الروبوت الخاص بك
- كيف يمكن أن لوحة كراشليتيكس تعطيك نظرة ثاقبة قضية
- كيفية تسجيل الاستثناءات اشتعلت
- كيفية كتابة سجلات مخصصة
- كيفية تحديد المستخدمين فريد لسهولة تصحيح الأخطاء
- كيفية تعطيل كراشليتيكس للبنيات التصحيح
لمزيد من المعلومات حول كراشليتيكس، يمكنك الرجوع إلى الوثائق الرسمية الخاصة به. يمكنك أيضا التحقق من بعض الدروس الأخرى لدينا على الخدمات المستندة إلى مجموعة النظراء لتطوير الروبوت.
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Update me weeklyEnvato Tuts+ tutorials are translated into other languages by our community members—you can be involved too!
Translate this post