Zum Hauptinhalt springen

Flutter-Wrapper

Ein umgebungsabhängiger Telemetrie-Start und ein Navigator-Beobachter über dem Dart-Client. Er tut nichts, solange nicht Host und öffentlicher Schlüssel beide vorliegen.

Wo es veröffentlicht ist

prodantix_sdk_flutter on pub.dev. It wraps prodantix_sdk.

Installation

Bash
flutter pub add prodantix_sdk_flutter

Von der Umgebung abhängig

fromEnv liefert nur dann einen arbeitenden Client, wenn Host und öffentlicher Schlüssel beide vorliegen und der Schlüssel die richtige Form hat. Alles andere ergibt eine stille Attrappe, die App wird also ohne Ingest-Zugangsdaten genauso ausgeliefert, und ein fehlerhafter Schlüssel wird über onError gemeldet, statt beim Start abzustürzen.

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();

Bildschirmverfolgung

Fügen Sie den Beobachter Ihrem Navigator hinzu, und jede eingefügte oder ersetzte Route meldet ein Bildschirmereignis, was dem Pageview-Autocapture des Web-SDK entspricht. Routen ohne Namen werden übersprungen.

Dart
MaterialApp(
  navigatorObservers: [TelemetryRouteObserver(telemetry)],
  home: const HomePage(),
);

// Or, with go_router:
GoRouter(
  observers: [TelemetryRouteObserver(telemetry)],
  routes: routes,
);
Dieses Paket hängt über einen Versionsbereich von prodantix_sdk ab, nicht über einen Pfad, denn pub.dev weist jedes Paket mit einer Pfadabhängigkeit zurück. Der Dart-Client muss daher vor diesem Paket auf pub.dev erscheinen.