تخطَّ إلى المحتوى الرئيسي

محوّلات أطر العمل

غلاف Flutter

مُشغّل قياس مقيّد بالبيئة ومراقب تنقّل فوق عميل Dart. لا يفعل شيئًا ما لم يتوفر المضيف والمفتاح العام معًا.

مكان النشر

prodantix_sdk_flutter on pub.dev. It wraps prodantix_sdk.

التثبيت

Bash
flutter pub add prodantix_sdk_flutter

مقيّد بالبيئة

لا يعيد fromEnv عميلًا عاملًا إلا حين يتوفر المضيف والمفتاح العام معًا ويكون شكل المفتاح صحيحًا. وفيما عدا ذلك يعيد كائنًا صامتًا لا يفعل شيئًا، فيُشحن التطبيق كما هو دون بيانات الإرسال، ويُبلَّغ عن مفتاح مشوّه عبر onError بدل أن يُسقط التطبيق عند الإقلاع.

Dart
import 'package:prodantix_sdk_flutter/prodantix_sdk_flutter.dart';

final telemetry = Telemetry.fromEnv(
  host: const String.fromEnvironment('PRODANTIX_HOST'),
  key: const String.fromEnvironment('PRODANTIX_PUBLIC_KEY'),
  onError: (error) => debugPrint('prodantix: $error'),
);

telemetry.identify('user-123');
telemetry.track('app.opened', properties: {'source': 'cold_start'});

await telemetry.shutdown();

تتبّع الشاشات

أضف المراقب إلى المتنقّل لديك، فيبلّغ كل مسار مدفوع أو مستبدل عن حدث شاشة، بما يوازي الالتقاط التلقائي لمشاهدات الصفحات في حزمة الويب. وتُتخطى المسارات بلا أسماء.

Dart
MaterialApp(
  navigatorObservers: [TelemetryRouteObserver(telemetry)],
  home: const HomePage(),
);

// Or, with go_router:
GoRouter(
  observers: [TelemetryRouteObserver(telemetry)],
  routes: routes,
);
تعتمد هذه الحزمة على prodantix_sdk بنطاق إصدار لا بمسار، لأن pub.dev يرفض أي حزمة تحمل اعتمادية بمسار. لذا يجب أن يصل عميل Dart إلى pub.dev قبل هذه الحزمة.