メインコンテンツへスキップ

クライアントライブラリ

フレームワークアダプター

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 に載る必要があります。