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();স্ক্রিন ট্র্যাকিং
আপনার ন্যাভিগেটরে অবজারভারটি যোগ করুন, তখন প্রতিটি পুশ বা রিপ্লেস করা রুট একটি স্ক্রিন ইভেন্ট জানায়, যা ওয়েব SDK-এর পেজভিউ অটোক্যাপচারের সমতুল্য। নামহীন রুটগুলি বাদ দেওয়া হয়।
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-এ পৌঁছাতে হবে।