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 तक पहुँचना होगा।