dub_flutter library

Flutter SDK for Dub - track clicks, leads, and sales.

Getting Started

  1. Add the package to your pubspec.yaml:
dependencies:
  dub_flutter: ^1.0.0
  1. 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:

Classes

Click
Customer
Dub
SDK client for tracking analytics with Dub.
DubConfig
Configuration object for the Dub SDK.
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.