Pular para o conteúdo principal

Adaptadores de framework

Wrapper Flutter

Um bootstrap de telemetria condicionado pelo ambiente e um observador de navegação sobre o cliente Dart. Ele não faz nada a menos que um host e uma chave pública estejam ambos presentes.

Onde está publicado

prodantix_sdk_flutter on pub.dev. It wraps prodantix_sdk.

Instalação

Bash
flutter pub add prodantix_sdk_flutter

Condicionado pelo ambiente

fromEnv só devolve um cliente funcional quando um host e uma chave pública estão ambos presentes e a chave tem o formato certo. Qualquer outra coisa devolve um objeto silencioso que nada faz, então o aplicativo é publicado igual sem credenciais de ingestão, e uma chave malformada é relatada por onError em vez de derrubar o app no boot.

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

Rastreamento de telas

Adicione o observador ao seu navegador e cada rota empilhada ou substituída reporta um evento de tela, o que espelha a autocaptura de pageviews do SDK web. Rotas sem nome são ignoradas.

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

// Or, with go_router:
GoRouter(
  observers: [TelemetryRouteObserver(telemetry)],
  routes: routes,
);
Este pacote depende de prodantix_sdk por faixa de versão e não por caminho, porque o pub.dev recusa qualquer pacote que carregue uma dependência de caminho. O cliente Dart precisa, portanto, chegar ao pub.dev antes deste.