تقارير أعطال Android دون الارتباط بـ Firebase
اعتمادية Gradle واحدة تلتقط الأعطال والأخطاء وحالات ANR والأداء من تطبيق Kotlin لديك — مع إعداد بلا شيفرة عبر الـ manifest وتتبّع OkHttp ووحدة Timber، على المنصة نفسها التي تستضيف أخطاء خلفيتك وسجلاتك.
لماذا تحتاج تطبيقات Android إلى تقارير أعطال حقيقية
تجيد أعطال Android الاختباء. فعطل على واجهة شركة مصنّعة معيّنة لا يتكرر أبدًا على أجهزة اختبارك؛ وتجمّد ANR يعلّق الخيط الرئيسي حتى يعرض النظام «إغلاق التطبيق» — فيقبل المستخدم العرض، ويحذف التطبيق، ويترك تقييمًا عن تطبيق «لا يعمل». وتعرض لك Play Console أرقامًا مجمّعة بعد أيام؛ لا الـ stack trace ولا الإصدار ولا الطلب الذي سبّبها.
تسدّ حزمة AllStak لـ Android هذه الفجوة باعتمادية Gradle واحدة. تُلتقط الأعطال تلقائيًا عبر معالج الاستثناءات غير الملتقطة، وتُتتبَّع حالات ANR والأداء، وتُبلَّغ الاستثناءات المعالَجة مع بيانات وصفية عبر captureException، وتتتبّع وحدة OkHttp الاختيارية نداءات الشبكة بترويسات تتبّع بمعيار W3C، وتتصل وحدة Timber بالسجلات التي تكتبها أصلًا. بل يمكنك التهيئة بلا شيفرة عبر بيانات meta في الـ manifest. ويصل كل شيء إلى المنصة نفسها التي تستضيف أخطاء الخلفية والسجلات والتتبّعات والتوافر لديك — لوحة واحدة، بالعربية أو الإنجليزية.
مراقبة شاملة لـ Android
من عطل على جهاز لم تره قط إلى حالة ANR لا يبلّغ عنها أحد ونداء الـ API خلفها، يغطّي AllStak تطبيق Android لديك عبر كل طبقة.
تقارير أعطال تلقائية
تُلتقط الأعطال تلقائيًا عبر معالج الاستثناءات غير الملتقطة (enableUncaughtExceptionHandler) — دون تغليف ودون شيفرة لكل activity.
التقاط حالات ANR
حالات ANR — التجمّدات التي تنتهي بمربّع «إغلاق التطبيق» من النظام دون أي تقرير عطل — تُلتقط إلى جانب أعطالك، فتظهر أخيرًا في مكان ما.
إعداد بلا شيفرة
هيّئ صراحةً عبر AllStak.init في صنف Application لديك، أو تجاوز الشيفرة كليًا: تتكفّل بيانات meta في الـ manifest مع التهيئة التلقائية عبر androidx.startup بالأمر عنك.
استثناءات معالَجة مع بيانات وصفية
أبلغ عن الأخطاء المعالَجة عبر captureException مع خريطة بيانات وصفية — كمعرّف الطلب الجاري — وسجّل رسائل بمستويات عبر captureMessage.
تتبّع OkHttp
تجهّز وحدة OkHttp الاختيارية عميلك عبر installAllStak() وتحقن ترويسات التتبّع (traceparent وx-allstak-trace-id) — فتربط طلبات التطبيق بتتبّعات الخلفية.
تكامل مع Timber
تتصل وحدة Timber الاختيارية بالسجلات التي تكتبها أصلًا — فترافق أسطر السجل المحيطة بالعطل تقريرَه بدلًا من بقائها على الجهاز.
أضف AllStak خلال دقائق
أضف اعتمادية Gradle (مع وحدتي OkHttp وTimber الاختياريتين) وهيّئ في صنف Application لديك — أو استخدم بيانات meta في الـ manifest بلا شيفرة بدلًا من ذلك.
dependencies {
implementation("sa.allstak:allstak-android:0.2.0")
// optional:
implementation("sa.allstak:allstak-android-okhttp:0.2.0")
implementation("sa.allstak:allstak-android-timber:0.2.0")
}
AllStak.init(this) {
apiKey = "ask_live_xxx"
environment = "production"
release = "1.4.0+42"
}تفضّل بلا شيفرة؟ أضف بيانات meta باسم sa.allstak.android.API_KEY إلى AndroidManifest.xml وتتولى androidx.startup تهيئة الحزمة عنك. ويُكتشف release تلقائيًا من versionName+versionCode عند حذفه. دليل الإعداد الكامل ومرجع الـ SDK.
ما تراه في AllStak
تفاصيل العطل مع سياق كامل
افتح أي عطل لترى الـ stack trace والبيانات الوصفية التي أرفقتها والبيئة والإصدار الذي وصل فيه — إعادة إنتاج دون تخمين.
حالات ANR إلى جانب الأعطال
تجمّدات الخيط الرئيسي التي لا تولّد تقرير عطل أبدًا تظهر كأحداث من الدرجة الأولى — فيتحوّل «التطبيق توقف عن الاستجابة» إلى تذكرة يمكنك العمل عليها.
نداءات شبكة بترويسات تتبّع
تحمل طلبات OkHttp المُجهَّزة عبر installAllStak() ترويستي traceparent وx-allstak-trace-id — فيرتبط بطء شاشة على الجوال بتتبّع الخلفية الذي خلفه.
لوحة تحكّم موحّدة آنية
أعطال Android إلى جانب أخطاء الخلفية والسجلات وتوافر الـ APIs خلفها — لوحة واحدة، بالعربية أو الإنجليزية، للفريق بأكمله.
لماذا تختار الفرق AllStak لـ Android
- الجوال والخلفية على منصة واحدة — الأعطال والأخطاء والسجلات والتتبّعات والتوافر بفاتورة واحدة.
- اعتمادية Gradle واحدة — تُلتقط الأعطال تلقائيًا، مع إعداد بلا شيفرة عبر الـ manifest إن فضّلت.
- غير مرتبط بـ Firebase — تقارير أعطال دون تبنّي منظومة مزوّد ثانٍ كاملة.
- تُلتقط حالات ANR إلى جانب الأعطال — وهي الإخفاقات التي لا تعرضها Play Console إلا أرقامًا مجمّعة.
- تسعير واضح بالريال السعودي مع باقة مجانية حقيقية — ابدأ دون بطاقة ائتمان.
- تبقى بياناتك داخل السعودية، مع لوحة تحكّم بالعربية والإنجليزية للفريق بأكمله.
أسئلة شائعة حول تقارير أعطال Android
كيف أضيف تقارير الأعطال إلى تطبيق Android؟
أضف اعتمادية Gradle باسم sa.allstak:allstak-android وهيّئ عبر AllStak.init في صنف Application لديك — أو أضف بيانات meta في الـ manifest فتتولى androidx.startup التهيئة بلا شيفرة. وتُلتقط الأعطال تلقائيًا من تلك اللحظة؛ ويغطّي دليل الإعداد الأخطاء المعالَجة وOkHttp وTimber.
هل يلتقط AllStak حالات ANR؟
نعم. تلتقط حزمة Android الأعطال والأخطاء وحالات ANR والأداء — فتصل تجمّدات الخيط الرئيسي التي تنتهي بمربّع «إغلاق التطبيق» من النظام إلى لوحتك رغم أن أي تقرير عطل لا يُكتب أصلًا.
هل AllStak بديل لـ Firebase Crashlytics في Android؟
نعم. تحصل على تقارير الأعطال وتتبّع أخطاء Kotlin دون ربط تطبيقك بـ Firebase — وبخلاف Crashlytics، تراقب المنصة نفسها أيضًا أخطاء خلفيتك وسجلاتها وتتبّعاتها وتوافرها. أضف إلى ذلك لوحة ثنائية اللغة بالعربية والإنجليزية وتسعيرًا بالريال السعودي وبيانات مخزّنة داخل السعودية، فيجتمع المكدّس كله في مكان واحد.
هل يمكنني الإعداد دون كتابة أي شيفرة؟
نعم. أضف بياناتَي meta باسم sa.allstak.android.API_KEY وsa.allstak.android.ENVIRONMENT إلى AndroidManifest.xml فتهيّئ androidx.startup الحزمة تلقائيًا — ويُكتشف release تلقائيًا من versionName+versionCode إن لم تضبطه.
هل AllStak مجاني لـ Android؟
نعم. يوفّر AllStak باقة مجانية يمكنك البدء بها دون بطاقة ائتمان، مع تسعير واضح بالريال السعودي مع نموّك. وحزمة Android SDK نفسها مجانية الاستخدام.
استكشف المزيد
ابدأ تتبّع أعطال Android اليوم
أضف الاعتمادية، وانشر النسخة، وشاهد الأعطال وحالات ANR ونداءات الشبكة تصل إلى لوحة واحدة. ابدأ مجانًا — دون الحاجة إلى بطاقة ائتمان.