dub_flutter 0.0.2
dub_flutter: ^0.0.2 copied to clipboard
An unofficial Flutter SDK for Dub - track clicks, leads, and sales with the open-source link management platform.
dub_flutter #
An unofficial Flutter SDK for Dub - track clicks, leads, and sales with the open-source link management platform.
Features #
- 🔗 Track Clicks: Automatically detect and track deep link opens.
- 👥 Track Leads: Monitor user sign-ups and other lead events.
- 💰 Track Sales: Record revenue events and associate them with customers.
- 📱 Cross-Platform: Support for Android and iOS.
Installation #
Add dub_flutter to your pubspec.yaml:
dependencies:
dub_flutter: ^0.0.1
Usage #
Initialization #
Initialize the SDK with your publishable key, typically in your main() function.
import 'package:dub_flutter/dub_flutter.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Dub.init(
publishableKey: 'dub_xxxxx',
// Optional: defaults to 'dub.sh'
domain: 'dub.sh',
);
runApp(MyApp());
}
Track a Click (App Open) #
Track when your app is opened via a deep link.
// Auto-detect from clipboard or initial intent
await Dub.instance.trackOpen();
// Or provide an explicit deep link if you are handling deep linking manually
await Dub.instance.trackOpen('https://dub.sh/abc123');
Track a Lead #
Track events like user sign-ups.
await Dub.instance.trackLead(
eventName: 'User Sign Up',
customerExternalId: 'user_123',
customerEmail: '[email protected]', // Optional
metadata: {
'plan': 'free',
},
);
Track a Sale #
Track revenue-generating events.
await Dub.instance.trackSale(
eventName: 'Subscription Started',
customerExternalId: 'user_123',
amount: 999, // Amount in cents
currency: 'USD',
paymentProcessor: PaymentProcessor.stripe,
);
Contributing #
Contributions are welcome! Please read our Contributing Guide for details on how to submit pull requests, report issues, and contribute to the project.
License #
This project is licensed under the MIT License - see the LICENSE file for details.