حزمة React Native SDK

تتبّع أخطاء React Native يصمد بعد العطل

هيّئ مرة واحدة وصدّر AllStak.wrap(App) — فتُلتقط أخطاء JS والأعطال الأصلية، وتُجهَّز fetch وXMLHttpRequest وaxios تلقائيًا، ويصل كل حدث إلى المنصة نفسها التي تستضيف أخطاء خلفيتك وسجلاتها وتوافرها.

لماذا تحتاج تطبيقات React Native إلى تتبّع أخطاء حقيقي

تأتي إخفاقات React Native بنكهتين، وتحتاج إلى كلتيهما. فاستثناء JavaScript يعرض شاشة حمراء أثناء التطوير لكنه يفشل بصمت في الإنتاج؛ والعطل الأصلي يُسقط التطبيق كله قبل أن يعمل error boundary في JS أصلًا. ولا يترك أيٌّ منهما أثرًا على جهاز المستخدم يمكنك الوصول إليه — يُعاد تشغيل التطبيق، فيتجاهل المستخدم الأمر أو يغادر، ويعرف فريقك من تقييمٍ ما أو لا يعرف أبدًا.

تغطّي حزمة AllStak لـ React Native كلتيهما بإعداد واحد. استدعِ AllStak.init بمفتاحك وصدّر AllStak.wrap(App) — أو غلّف الشجرة بـ AllStakProvider — فتُلتقط أخطاء JS والأعطال الأصلية. وتُجهَّز fetch وXMLHttpRequest وaxios تلقائيًا مع تنقية قابلة للضبط، وتُبلَّغ الاستثناءات المعالَجة والرسائل عبر captureException وcaptureMessage، ويصل كل ذلك إلى المنصة نفسها التي تستضيف أخطاء الخلفية والسجلات والتتبّعات والتوافر لديك — فاتورة واحدة ولوحة واحدة، بالعربية أو الإنجليزية.

مراقبة شاملة لـ React Native

من استثناء JS في مكوّن إلى العطل الأصلي تحته ونداء الـ API خلفه، يغطّي AllStak تطبيق React Native لديك عبر كل طبقة.

أخطاء JS والأعطال الأصلية

صدّر AllStak.wrap(App) فتُغطَّى الطبقتان — استثناءات JavaScript والأعطال الأصلية التي لا تصل إلى شيفرة JS لديك أصلًا.

إعداد جاهز لـ Expo

مبنيّة لـ React Native مع Expo: مرّر المفتاح عبر EXPO_PUBLIC_ALLSTAK_API_KEY، وهيّئ مرة واحدة، وانشر — أو غلّف الشجرة بـ AllStakProvider بدلًا من ذلك.

أخطاء معالَجة ورسائل

أبلغ عن الاستثناءات المعالَجة عبر captureException وسجّل رسائل بمستويات عبر captureMessage — فتُتتبَّع الإخفاقات المتوقعة لا الأعطال فقط.

تتبّع HTTP تلقائي

تُجهَّز fetch وXMLHttpRequest وaxios تلقائيًا (enableHttpTracking، مفعّل افتراضيًا)، ويضبط httpTracking التنقية — دون نداءات يدوية.

الإصدارات والجلسات الخالية من الأعطال

اضبط release عند التهيئة لتتبّع الجلسات الخالية من الأعطال لكل نسخة — ولتعرف ما إذا كان آخر تحديث OTA أو نسخة متجر قد تراجع.

التنبيهات وقواعد الإشعارات

وجّه الأعطال الجديدة وارتفاعات الأخطاء إلى Slack والبريد وغيرهما عبر قواعد الإشعارات — قبل وصول تذاكر الدعم لا بعدها.

أضف AllStak خلال دقائق

ثبّت من npm، وهيّئ بمفتاحك، وصدّر المكوّن الجذري المُغلَّف — وتُلتقط أخطاء JS والأعطال الأصلية من تلك اللحظة.

index.tsx
npm install @allstak/react-native

import * as AllStak from '@allstak/react-native';
import App from './App';

AllStak.init({
  apiKey: process.env.EXPO_PUBLIC_ALLSTAK_API_KEY,
  environment: process.env.NODE_ENV ?? 'production',
  release: process.env.EXPO_PUBLIC_RELEASE,
  tracesSampleRate: 1.0,
  enableLogs: true,
});

export default AllStak.wrap(App);

صدّر AllStak.wrap(App) لتُلتقط الأعطال الأصلية — أو غلّف الشجرة بـ AllStakProvider بدلًا من ذلك. ووفّر المفتاح عبر EXPO_PUBLIC_ALLSTAK_API_KEY. دليل الإعداد الكامل ومرجع الـ SDK.

ما تراه في AllStak

تفاصيل العطل مع سياق كامل

افتح أي مشكلة لترى الـ stack trace والبيئة والإصدار الذي وصلت فيه — سواء بدأت في JavaScript أو في الشيفرة الأصلية.

نداءات HTTP خلف العطل

تُظهر طلبات fetch وXHR وaxios المُتتبَّعة تلقائيًا أي نداءات API أحاطت بالخطأ — مع تنقية الحقول الحساسة وفق إعداد httpTracking لديك.

جلسات خالية من الأعطال لكل إصدار

شاهد سلوك كل نسخة على أجهزة حقيقية — والتقط الإصدار السيّئ قبل أن يحدّث إليه معظم مستخدميك.

لوحة تحكّم موحّدة آنية

أعطال الجوال إلى جانب أخطاء الخلفية والسجلات وتوافر الـ APIs خلفها — لوحة واحدة، بالعربية أو الإنجليزية، للفريق بأكمله.

لماذا تختار الفرق AllStak لـ React Native

  • الجوال والخلفية على منصة واحدة — الأعطال والأخطاء والسجلات والتتبّعات والتوافر بفاتورة واحدة.
  • تهيئة واحدة مع AllStak.wrap(App) — وتُلتقط أخطاء JS والأعطال الأصلية من تلك اللحظة.
  • غير مرتبط بـ Firebase — تقارير أعطال دون تبنّي منظومة مزوّد ثانٍ كاملة.
  • تُجهَّز fetch وXHR وaxios تلقائيًا مع تنقية قابلة للضبط — دون تغليف لكل نداء.
  • تسعير واضح بالريال السعودي مع باقة مجانية حقيقية — ابدأ دون بطاقة ائتمان.
  • تبقى بياناتك داخل السعودية، مع لوحة تحكّم بالعربية والإنجليزية للفريق بأكمله.

أسئلة شائعة حول مراقبة React Native

كيف أضيف تقارير الأعطال إلى تطبيق React Native؟

ثبّت @allstak/react-native من npm، واستدعِ AllStak.init بمفتاح API لمشروعك، وصدّر AllStak.wrap(App) كمكوّنك الجذري — فيلتقط ذلك أخطاء JS والأعطال الأصلية. وبدلًا من ذلك، غلّف الشجرة بـ AllStakProvider؛ ويغطّي دليل الإعداد الطريقتين.

هل يعمل AllStak مع Expo؟

نعم. الحزمة مبنيّة لتطبيقات React Native (Expo) — وفّر مفتاح API عبر EXPO_PUBLIC_ALLSTAK_API_KEY والإصدار عبر EXPO_PUBLIC_RELEASE، ويعمل مقطع التهيئة الموثَّق كما هو.

هل AllStak بديل لـ Firebase Crashlytics في React Native؟

نعم. تحصل على تقارير الأعطال وتتبّع الأخطاء دون ربط تطبيقك بـ Firebase — وبخلاف Crashlytics، تراقب المنصة نفسها أيضًا أخطاء خلفيتك وسجلاتها وتتبّعاتها وتوافرها. أضف إلى ذلك لوحة ثنائية اللغة بالعربية والإنجليزية وتسعيرًا بالريال السعودي وبيانات مخزّنة داخل السعودية، فيجتمع المكدّس كله في مكان واحد.

هل AllStak مجاني لـ React Native؟

نعم. يوفّر AllStak باقة مجانية يمكنك البدء بها دون بطاقة ائتمان، مع تسعير واضح بالريال السعودي مع نموّك. وحزمة React Native SDK نفسها مجانية الاستخدام.

هل ستُبطئ حزمة الـ SDK تطبيق React Native لديّ؟

صُمّمت الحزمة لتطبيقات الإنتاج: فخطّافات الالتقاط خفيفة وتُرسَل القياسات في الخلفية، فلا تتأثر تجربة مستخدميك بشكل ملموس. وتبقى متحكّمًا — فيمكن إيقاف تتبّع HTTP التلقائي عبر enableHttpTracking، ويضبط tracesSampleRate كمية بيانات الأداء المُعيَّنة.

ابدأ تتبّع أخطاء React Native اليوم

هيّئ مرة واحدة، وغلّف تطبيقك، وشاهد أخطاء JS والأعطال الأصلية ونداءات HTTP تصل إلى لوحة واحدة. ابدأ مجانًا — دون الحاجة إلى بطاقة ائتمان.