Skip to content

BoostOps/boostops-unity-attribution-sdk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BoostOps Unity SDK

Unity Version Platform License

The official Unity SDK for BoostOps - a complete mobile game growth platform with best-in-class attribution and cross-promotion.

Table of Contents

Features

  • 🎯 Precise Attribution Tracking - Track installs, events, and revenue back to the exact source with industry-leading accuracy
  • 🔗 BoostLink Dynamic Links - Create trackable branded links with full attribution of clicks, installs, and post-install events
  • 📱 Automated Link Configuration - Automatic iOS Universal Links and Android App Links setup - no manual manifest editing required
  • 📊 Complete Player Journey Tracking - Understand the full path from ad click → install → first session → purchase → retention
  • 💰 LTV & ROAS Measurement - Identify which channels drive your highest-value players and optimize spend accordingly
  • 🎮 Smart Cross-Promotion - Promote your portfolio of games with full attribution of cross-installs via BoostLink
  • 🎨 Remote Configuration - Update game behavior and campaigns without app store submissions
  • ⭐ StoreKit & RevenueCat Integration - Automatic purchase tracking with receipt validation

Requirements

  • Unity: 2020.3 or higher
  • iOS: 12.0 or higher
  • Android: API Level 21 (Android 5.0) or higher
  • BoostOps Account: Sign up for free

Installation

Via Unity Package Manager

  1. Download the latest .unitypackage from the Releases page
  2. In Unity, go to Assets → Import Package → Custom Package
  3. Select the downloaded .unitypackage file
  4. Click Import to add the SDK to your project

Post-Installation

The SDK will automatically configure itself during import. You can verify installation by checking for the BoostOps menu in the Unity toolbar.

Quick Start

1. Initialize the SDK

using BoostOps;

public class GameManager : MonoBehaviour
{
    void Start()
    {
        BoostOpsSDK.Initialize();
    }
}

2. Show Cross-Promotion

void OnLevelComplete()
{
    BoostOpsSDK.ShowCrossPromo("level_complete");
}

3. Track Purchases

void OnPurchaseComplete(string productId, decimal price, string currency)
{
    BoostOpsSDK.TrackPurchase(price, currency, productId);
}

Core Concepts

Attribution

BoostOps provides multi-touch attribution that connects every player action back to its acquisition source.

When a player installs your game via a tracked source (ad campaign, deep link, cross-promotion), BoostOps captures:

  1. Install Attribution - The original source (campaign, ad, link, etc.)
  2. Revenue Attribution - In-app purchases attributed back to acquisition campaign
  3. Cohort Analysis - Compare player quality and LTV across traffic sources

BoostLink Dynamic Links

BoostLink is our branded dynamic linking solution that makes attribution simple and reliable.

Create trackable BoostLink dynamic links in the BoostOps dashboard that:

  • ✅ Track every click and attribute installs
  • ✅ Work across all platforms (iOS, Android, Web)
  • ✅ Pass parameters to your app on first open
  • ✅ Automatically configure Universal Links & App Links

Free Tier: https://yourgame.boostlink.me/summer-sale?offer=50off
Premium Tier: https://yourgame.bst.to/summer-sale?offer=50off

How BoostLink Works:

  1. Create Link - Generate a BoostLink in your dashboard with campaign parameters
  2. User Clicks - Click is tracked and user is routed to App Store/Play Store
  3. App Installs - Install is attributed to the BoostLink campaign
  4. Parameters Passed - Deep link parameters available on first app open
// Handle BoostLink parameters on app open
BoostOpsSDK.OnDeepLinkReceived += (url, parameters) => {
    if (parameters.ContainsKey("offer")) {
        string offerCode = parameters["offer"]; // "50off"
        ApplyOffer(offerCode);
    }
};

Automatic Platform Configuration

The SDK automatically configures:

  • iOS: Universal Links with Associated Domains
  • Android: App Links with intent filters in AndroidManifest.xml

No manual configuration required! 🎉

Cross-Promotion

Promote your other games to existing players with full attribution tracking.

// Show interstitial at natural break points
BoostOpsSDK.ShowCrossPromo("level_complete");

// Hide when returning to gameplay
BoostOpsSDK.HideCrossPromo();

Troubleshooting

SDK Not Initializing

Symptoms: IsInitialized returns false, campaigns don't show

Solutions:

  • Check Unity console for initialization errors
  • Verify BoostOpsManager exists in your first scene
  • Ensure you called BoostOpsSDK.Initialize()
  • Check that campaign data is available (local or remote)

Campaigns Not Appearing

Symptoms: GetCampaignCount() returns 0

Solutions:

  • In local mode: Check StreamingAssets/campaigns.json exists
  • In server mode: Verify Unity Remote Config is set up
  • Check Unity console for campaign loading errors
  • Subscribe to OnCampaignsReady to know when campaigns load

BoostLink Dynamic Links Not Working

BoostLink automatically configures dynamic links, but if you're having issues:

iOS:

  • Verify Associated Domains capability is enabled in Xcode
  • Check that your domain is configured in the BoostOps dashboard
  • The SDK generates the required entitlements file automatically

Android:

  • The SDK automatically adds intent filters to your AndroidManifest.xml
  • Verify Digital Asset Links file is hosted (generated by SDK in Assets/BoostOpsGenerated/)
  • Test with adb shell am start -W -a android.intent.action.VIEW -d "your-boostlink-url"

Debug Mode:

// Enable debug logging to see BoostLink processing
BoostOpsSDK.EnableDebugLogging(true);

Events Not Tracking

Symptoms: Events don't appear in dashboard

Solutions:

  • Verify SDK is initialized before tracking events
  • Check internet connectivity
  • Events may take 1-2 minutes to appear in real-time view
  • Enable debug logging to see event confirmation

Best Practices

1. Initialize Early

Initialize the SDK as early as possible in your app lifecycle:

public class GameBootstrap : MonoBehaviour
{
    void Awake()
    {
        BoostOpsSDK.Initialize();
    }
}

2. Strategic Cross-Promo Placement

Show campaigns at natural break points:

// ✅ Good: Natural break points
BoostOpsSDK.ShowCrossPromo("level_complete");
BoostOpsSDK.ShowCrossPromo("game_over");
BoostOpsSDK.ShowCrossPromo("daily_reward");

// ❌ Bad: During gameplay
// BoostOpsSDK.ShowCrossPromo("mid_level"); // Interrupts player

3. Test BoostLink Dynamic Links Before Launch

Test your BoostLink dynamic links setup thoroughly:

#if UNITY_EDITOR || DEVELOPMENT_BUILD
void TestBoostLinkDynamicLinks()
{
    // Create test BoostLink in dashboard
    string testLink = "https://yourgame.boostlink.me/test?campaign=test&source=dev";
    
    // Simulate BoostLink dynamic link open
    Debug.Log($"Testing BoostLink dynamic link: {testLink}");
    
    // Track test purchase to verify attribution
    BoostOpsSDK.TrackPurchase(0.99m, "USD", "test_product");
}
#endif

Support

License

Copyright © 2024 BoostOps. All rights reserved.

This SDK is distributed under a commercial license. For licensing inquiries, contact sales@boostops.io.


boostops.ioDocumentationDashboard

Made with ❤️ by the BoostOps team

About

Unity SDK for BoostOps — install attribution, dynamic links (BoostLink), and cross-promotion for mobile games. Drop-in Firebase Dynamic Links replacement.

httsps://boostops.io

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors