scout_sdk 0.1.0
scout_sdk: ^0.1.0 copied to clipboard
Flutter wrapper for Scout — an iOS analytics framework providing logging, metrics, crash reporting, and session tracking backed by Apple's CloudKit.
scout_sdk #
Flutter wrapper for Scout — an iOS analytics framework providing logging, metrics, crash reporting, and session tracking backed by Apple's CloudKit.
Platform Support #
| iOS | Android |
|---|---|
| Yes | No |
Requirements #
- iOS 16.0+
- Flutter 3.24+ (Swift Package Manager support)
- A CloudKit container configured in your Apple Developer account
Installation #
dependencies:
scout_sdk: ^0.1.0
This package depends on swift_log_bridge and swift_metrics_bridge, which are included automatically.
iOS Setup #
- Enable CloudKit and Push Notifications capabilities in Xcode
- Create a CloudKit container (e.g.,
iCloud.com.yourcompany.yourapp)
Usage #
Initialize #
import 'package:scout_sdk/scout_sdk.dart';
await Scout.setup(containerId: 'iCloud.com.yourcompany.yourapp');
Logging #
After Scout.setup(), all logging is persisted to CloudKit via Scout's swift-log backend.
const logger = Logger('MyApp');
await logger.info('User signed in');
await logger.error('Request failed', metadata: {'endpoint': '/api/users'});
Metrics #
After Scout.setup(), all metrics are persisted to CloudKit via Scout's swift-metrics backend.
const counter = Counter('button_taps');
await counter.increment();
const timer = MetricsTimer('api_latency');
await timer.record(Duration(milliseconds: 250));
Dashboard #
await Scout.showDashboard(containerId: 'iCloud.com.yourcompany.yourapp');
Architecture #
scout_sdk
├── swift_log_bridge (swift-log wrapper)
└── swift_metrics_bridge (swift-metrics wrapper)
scout_sdk configures Scout as the backend for both swift-log and swift-metrics. The logging and metrics packages can also be used independently with other backends.