Traqio.

SDK

SDK .NET MAUI

Ajoutez Traqio à une app .NET MAUI : Traqio.Maui lit l’Install Referrer sur Android, enregistre les installations auprès de SKAdNetwork et gère les deep links.

Traqio.Maui est le SDK Traqio pour .NET MAUI (namespace Traqio, classe TraqioSdk). Sur Android, il lit l’Install Referrer de Google Play ; sur iOS, il enregistre les installations auprès de SKAdNetwork. Les événements sont mis en file d’attente dans les Preferences MAUI avec des nouvelles tentatives en backoff, le contexte de l’appareil vient de DeviceInfo, et UseTraqioDeepLinks() transmet les App Links et les universal links au SDK. Aucun identifiant publicitaire — l’option proposée par les SDK iOS, Android et React Native n’y est pas encore.

Pas encore sur NuGet — accès anticipé

Paquet Traqio.Maui · version 0.1.0Les paquets du SDK ne sont pas encore sur leurs registres publics. Pour intégrer dès aujourd’hui, demandez le build : hello@traqio.appNiveau de preuve : Compilé par sa propre toolchain en CI ; pas encore exécuté sur un appareil.

Mise en place#

  1. Ajoutez le paquet#

    dotnet add package Traqio.Maui

    Tant que le paquet n’est pas sur NuGet, ajoutez le .nupkg que nous vous envoyons depuis un flux local :

    # the .nupkg you received, from a local folder feed
    dotnet nuget add source ./packages --name traqio-local
    dotnet add package Traqio.Maui --version 0.1.0 --source traqio-local
  2. Enregistrez les deep links dans MauiProgram#

    // MauiProgram.cs
    using Traqio;
    
    public static MauiApp CreateMauiApp()
    {
        var builder = MauiApp.CreateBuilder();
        builder
            .UseMauiApp<App>()
            .UseTraqioDeepLinks(); // hands App Links / universal links to the SDK
        return builder.Build();
    }

    Les URL qui arrivent avant Init sont conservées et résolues dès que le SDK démarre. Chaque handler renvoie false : votre app reçoit donc toujours l’URL elle-même.

  3. Initialisez et câblez le cycle de vie#

    // App.xaml.cs
    using Traqio;
    
    public partial class App : Application
    {
        public App()
        {
            InitializeComponent();
            TraqioSdk.Init("YOUR_SDK_KEY", "https://api.traqio.app");
        }
    
        protected override void OnResume() => TraqioSdk.AppOpened();
        protected override void OnSleep() => _ = TraqioSdk.Flush();
    }

    MAUI n’a pas de hook d’arrière-plan sur lequel le SDK puisse compter : Flush() à la mise en veille envoie la file rapidement, et AppOpened() à la reprise enregistre le retour pour la rétention (dédoublonné, sans risque à chaque reprise).

Événements et deep links#

TraqioSdk.SetUserId(user.Id);              // same id as RevenueCat's app_user_id
TraqioSdk.Track("signup");
TraqioSdk.Track("purchase", 9.99, "EUR");
// Keep the subscription for as long as you want links; Dispose() unsubscribes.
var subscription = TraqioSdk.OnDeepLink(link =>
{
    if (link.DeepLink is not null) Shell.Current.GoToAsync(link.DeepLink);
});

var deferred = await TraqioSdk.GetDeferredDeepLink(); // null when the install came from no link

Les noms d’événements sur lesquels Meta et TikTok s’optimisent : Noms d’événements. Consentement : TraqioSdk.SetConsent(bool), ou consent: sur Init.

Pas encore dans ce SDK#

Sur iOS, aucune valeur de conversion n’est définie et aucun jeton Apple Ads n’est transmis. Sur les deux plateformes : pas de nouvelle tentative de l’Install Referrer, pas d’identifiant de transaction sur les achats, pas de revenus publicitaires AdMob, pas d’effacement depuis l’app — utilisez RevenueCat et l’effacement côté serveur.

Preuves à ce jour

La logique du SDK a été compilée et testée contre un serveur simulé ; elle n’a pas tourné dans une app MAUI en production.

Questions fréquentes#

Quelles versions de .NET Traqio.Maui cible-t-il ?
net8.0-android et net8.0-ios. L’Install Referrer Android vient du paquet de binding de Google Xamarin.Google.Android.InstallReferrer 2.2.0.4, la dernière version qui fournit encore une bibliothèque net8.0-android.
Dois-je ajouter un bloc <queries> au manifest Android ?
Non, le paquet s’en charge. Depuis Android 11, une app ne voit que les paquets qu’elle déclare ; sans le Play Store dans <queries>, une app que Google Play n’a pas installée lui-même — un build de debug, une installation via adb — ne peut pas se connecter au service Install Referrer, et chaque installation apparaît comme organique. Traqio.Maui fusionne cette entrée dans le manifest de votre app au moment du build.

Mis à jour le 22 octobre 2026