Tapp Flutter SDK

pub package

Flutter plugin for Tapp.so affiliate marketing SDK. Track attributions, handle deferred deep links, and fire conversion events on iOS and Android.

Features

  • 🔗 Deferred Deep Links - Attribute installs to influencers even after app store redirect
  • 📊 Event Tracking - Track purchases, registrations, and custom conversion events
  • 🎯 Attribution - Know which influencer drove each install
  • 📱 Cross-Platform - Full support for iOS and Android

Installation

Add this to your pubspec.yaml:

dependencies:
  com_tapp_so: ^1.0.0

Then run:

flutter pub get

iOS Setup

Run pod install from your Flutter project's iOS directory:

cd ios && pod install

The SDK handles the rest automatically.

Android Setup

Add JitPack to your project's android/build.gradle:

allprojects {
    repositories {
        google()
        mavenCentral()
        maven { url 'https://jitpack.io' }
    }
}

Quick Start

import 'package:com_tapp_so/com_tapp_so.dart';

final sdk = ComTappSo();

// Initialize the SDK
await sdk.start(
  authToken: 'YOUR_AUTH_TOKEN',
  env: EnvironmentType.PRODUCTION,
  tappToken: 'YOUR_TAPP_TOKEN',
  onDeferredDeepLink: (data) {
    print('Attribution: ${data.influencer}');
  },
);

API Reference

Initialize

await sdk.start(
  authToken: 'YOUR_AUTH_TOKEN',
  env: EnvironmentType.PRODUCTION, // or EnvironmentType.SANDBOX
  tappToken: 'YOUR_TAPP_TOKEN',
  onDeferredDeepLink: (data) { /* handle attribution */ },
  onFailResolvingUrl: (error) { /* handle errors */ },
);
bool shouldHandle = await sdk.shouldProcess('https://your-app.tapp.so/...');

Generate Affiliate URL

String? url = await sdk.generateUrl(
  influencer: 'influencer_id',
  adGroup: 'campaign_name',
  creative: 'creative_id',
  data: {'custom': 'data'},
);

Track Events

await sdk.handleTappEvent(
  eventAction: EventAction.tapp_purchase,
  metadata: {
    'orderId': '12345',
    'value': 99.99,
    'currency': 'USD',
  },
);
LinkData? data = await sdk.fetchLinkData('https://your-app.tapp.so/...');
LinkData? originData = await sdk.fetchOriginLinkData();

Event Types

The SDK supports these built-in event types:

Event Description
tapp_purchase Completed purchase
tapp_complete_registration User registration
tapp_add_to_cart Added item to cart
tapp_initiate_checkout Started checkout
tapp_subscribe Subscription started
tapp_start_trial Trial started
custom Custom event with customValue

See the full list in EventAction enum.

License

This SDK is proprietary software. You must have a Tapp.so account to use it. See LICENSE for details.