تتيح لك حزمة SDK الخاصة بـ ClickStack لـ React Native إضافة إمكانات الرصد إلى
تطبيق React Native لإرسال الأحداث إلى ClickStack. ويتيح لك ذلك عرض طلبات
شبكة تطبيقات الجوال والاستثناءات إلى جانب أحداث الخادم الخلفي ضمن مخطط زمني واحد.
يدمج هذا الدليل:
استخدم الأمر التالي لتثبيت حزمة ClickStack لـ React Native.
npm install @hyperdx/otel-react-native
هيّئ المكتبة في أقرب مرحلة ممكنة من دورة حياة تطبيقك:
import { HyperDXRum } from '@hyperdx/otel-react-native';
HyperDXRum.init({
url: 'http://your-otel-collector:4318',
service: 'my-rn-app',
apiKey: '<YOUR_INGESTION_API_KEY>', // Omit for Managed ClickStack
tracePropagationTargets: [/api.myapp.domain/i], // Set to link traces from frontend to backend requests
});
يتيح لك إرفاق معلومات المستخدم البحث في الجلسات والأحداث وتصفيتها
في HyperDX. يمكن استدعاء ذلك في أي وقت أثناء جلسة العميل. وسترتبط
جلسة العميل الحالية وجميع الأحداث المُرسلة بعد هذا الاستدعاء
بمعلومات المستخدم.
ستؤدي userEmail وuserName وteamName إلى تعبئة واجهة الجلسات بالقيم
المقابلة، ولكن يمكن حذفها. كما يمكن تحديد أي قيم إضافية أخرى واستخدامها
للبحث عن الأحداث.
HyperDXRum.setGlobalAttributes({
userId: user.id,
userEmail: user.email,
userName: user.name,
teamName: user.team.name,
// Other custom properties...
});
إضافة الرصد إلى الإصدارات الأقدم
لإضافة الرصد إلى التطبيقات التي تعمل على إصدارات React Native الأقدم من 0.68،
حرّر ملف metro.config.js لإجبار metro على استخدام
حزم مخصّصة للمتصفح. على سبيل المثال:
const defaultResolver = require('metro-resolver');
module.exports = {
resolver: {
resolveRequest: (context, realModuleName, platform, moduleName) => {
const resolved = defaultResolver.resolve(
{
...context,
resolveRequest: null,
},
moduleName,
platform,
);
if (
resolved.type === 'sourceFile' &&
resolved.filePath.includes('@opentelemetry')
) {
resolved.filePath = resolved.filePath.replace(
'platform\\node',
'platform\\browser',
);
return resolved;
}
return resolved;
},
},
transformer: {
getTransformOptions: async () => ({
transform: {
experimentalImportSupport: false,
inlineRequires: true,
},
}),
},
};
الإصداران 5 و6 من react-navigation مدعومان.
يوضح المثال التالي كيفية إضافة الرصد للتنقّل:
import { startNavigationTracking } from '@hyperdx/otel-react-native';
export default function App() {
const navigationRef = useNavigationContainerRef();
return (
<NavigationContainer
ref={navigationRef}
onReady={() => {
startNavigationTracking(navigationRef);
}}
>
<Stack.Navigator>...</Stack.Navigator>
</NavigationContainer>
);
}
آخر تعديل في ٢٥ يونيو ٢٠٢٦