Traqio.

SDKs

Unity SDK

Add Traqio to a Unity game: the app.traqio.sdk package reads the Play Install Referrer on Android, registers with SKAdNetwork on iOS and handles deep links.

app.traqio.sdk is the Traqio SDK for Unity (namespace Traqio, class TraqioSdk). On Android it reads the Google Play Install Referrer through AndroidJavaProxy; on iOS a small native plugin registers installs with SKAdNetwork. Events are queued in PlayerPrefs and flushed by a coroutine; deep links arrive through Application.deepLinkActivated with no extra code.

Not on UPM yet — early access

Package app.traqio.sdk · version 0.1.0The SDK packages are not on their public registries yet. To integrate today, ask for the build: hello@traqio.appHow far it is proven: Real implementation, but no automated build proves it yet.

Requirements#

  • Unity 2021.3 or later.

Set up#

  1. Add the package#

    Packages/manifest.json
    // Packages/manifest.json — once the package is published (git URL / OpenUPM)
    "dependencies": {
      "app.traqio.sdk": "0.1.0"
    }

    The package is not on OpenUPM or a public git URL yet. Until it is, use Window → Package Manager → + → Add package from disk, and pick the package.json of the folder we send you.

  2. Initialise once#

    using Traqio;
    using UnityEngine;
    
    public class Bootstrap : MonoBehaviour
    {
        void Awake()
        {
            // Creates its own "Traqio" GameObject (DontDestroyOnLoad); call it once.
            TraqioSdk.Init("YOUR_SDK_KEY", "https://api.traqio.app");
        }
    }

    Startup runs as a coroutine on the SDK's own GameObject: the install is reported, the deferred link resolved, the app open recorded, and the queue flushed on a timer and whenever the game is paused.

  3. Track events#

    TraqioSdk.SetUserId(player.Id);           // same id as RevenueCat's app_user_id
    TraqioSdk.Track("tutorial_complete");
    TraqioSdk.Track("purchase", 4.99f, "EUR");

    Names: Event names. Consent: TraqioSdk.SetConsent(bool).

var unsubscribe = TraqioSdk.OnDeepLink(link =>
{
    if (link.DeepLink != null) Router.Open(link.DeepLink);
});

TraqioSdk.GetDeferredDeepLink(link => { /* null when the install came from no link */ });

Not in this SDK yet#

On iOS, no conversion value is set and no Apple Ads token is reported. No purchase transaction id, no AdMob ad revenue, no in-app erasure — use RevenueCat and the server-side erasure.

Proof so far

The SDK logic has been tested against a mock server, but Unity is the one SDK with no automated build: compiling against UnityEngine requires a Unity licence in CI, which is not set up yet. Only the Editor script that patches the Android Gradle project is unit-tested in CI, on plain .NET.

Frequently asked questions#

Do I need to add the Install Referrer library to my Unity project?
No. When Unity generates the Android Gradle project, the package's Editor script adds com.android.installreferrer:installreferrer:2.2, the Play Store <queries> entry Android 11 and later require, and a keep rule for minified builds. No custom Gradle template or manifest is needed; one that already declares them is left as it is.
Does the Traqio Unity SDK work in the Editor?
The C# runs in the Editor and sends events, but the Install Referrer and SKAdNetwork calls are compiled only for Android and iOS device builds. Attribution can only be observed on a device build installed from a store.

Last updated October 19, 2026