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();页面追踪
把观察器加到你的导航器上,每一次压入或替换的路由都会上报一个页面事件,与 Web 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,这个包才能发布。