scout_sdk

CI pub package license

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

  1. Enable CloudKit and Push Notifications capabilities in Xcode
  2. 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.