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에 올라가야 합니다.