dub_flutter library
Flutter SDK for Dub - track clicks, leads, and sales.
Getting Started
- Add the package to your
pubspec.yaml:
dependencies:
dub_flutter: ^1.0.0
- Initialize the SDK in your app:
import 'package:dub_flutter/dub_flutter.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Dub.init(
publishableKey: 'dub_xxxxx',
domain: 'dub.sh',
);
runApp(MyApp());
}
Usage
Track a click
// Auto-detect from clipboard
await Dub.instance.trackOpen();
// Or provide explicit deep link
await Dub.instance.trackOpen(deepLink: 'https://dub.sh/abc123');
Track a lead
await Dub.instance.trackLead(
eventName: 'User Sign Up',
customerExternalId: 'user_123',
customerEmail: 'user@example.com',
metadata: {
'plan': 'free',
},
);
Track a sale
await Dub.instance.trackSale(
customerExternalId: 'user_123',
amount: 9999, // $99.99 in cents
paymentProcessor: PaymentProcessor.custom,
eventName: 'subscription',
currency: 'usd',
metadata: {
'plan': 'pro',
},
);
Documentation
For more information, visit:
- GitHub: https://github.com/mood/dub-flutter
- Dub Docs: https://dub.co/docs
- API Reference: https://dub.co/docs/api-reference
Classes
- Click
- Customer
- Dub
- SDK client for tracking analytics with Dub.
- DubConfig
- Configuration object for the Dub SDK.
- Link
- Sale
- TrackLeadRequest
- Request model for tracking lead conversions.
- TrackLeadResponse
- Response model from tracking a lead conversion.
- TrackOpenRequest
- Request model for tracking link opens/clicks.
- TrackOpenResponse
- Response model from tracking a link open/click.
- TrackSaleRequest
- Request model for tracking sale conversions.
- TrackSaleResponse
- Response model from tracking a sale conversion.
Exceptions / Errors
- DubException
- Exception thrown by the Dub SDK when operations fail.