মূল কনটেন্টে যান

ক্লায়েন্ট লাইব্রেরি

ফ্রেমওয়ার্ক অ্যাডাপ্টার

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-এ পৌঁছাতে হবে।