SDK
SDK para .NET MAUI
Añade Traqio a una app .NET MAUI: Traqio.Maui lee el Play Install Referrer en Android, registra en SKAdNetwork en iOS y gestiona los deep links.
Traqio.Maui es el SDK de Traqio para .NET MAUI (namespace Traqio, clase TraqioSdk). En Android lee el Install Referrer de Google Play; en iOS registra las instalaciones en SKAdNetwork. Los eventos se ponen en cola en las Preferences de MAUI con reintentos con backoff, el contexto del dispositivo viene de DeviceInfo, y UseTraqioDeepLinks() pasa los App Links y los universal links al SDK. Sin identificador publicitario — la opción que ofrecen los SDK de iOS, Android y React Native aún no está en este.
Aún no está en NuGet — acceso anticipado
Traqio.Maui · versión 0.1.0Los paquetes del SDK aún no están en sus registros públicos. Para integrarlo hoy, pide la build: hello@traqio.appNivel de prueba: Compilado por su propia toolchain en CI; aún no ejecutado en un dispositivo.Configuración#
Añade el paquete#
dotnet add package Traqio.MauiHasta que el paquete esté en NuGet, añade el .nupkg que te enviamos desde un feed 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-localRegistra los deep links en 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(); }Las URL que llegan antes de
Initse conservan y se resuelven en cuanto arranca el SDK. Todos los handlers devuelven false, así que tu app sigue recibiendo la URL.Inicializa y conecta el ciclo de vida#
// 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 no tiene ningún hook de segundo plano en el que el SDK pueda confiar:
Flush()al pasar a reposo envía la cola sin demora, yAppOpened()al reanudar registra la vuelta para la retención (con debounce, seguro en cada reanudación).
Eventos y 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 linkNombres de eventos con los que optimizan Meta y TikTok: Nombres de eventos. Consentimiento: TraqioSdk.SetConsent(bool), o consent: en Init.
Aún no está en este SDK#
En iOS no se define ningún valor de conversión ni se informa de ningún token de Apple Ads. En ambas plataformas: sin reintento del Install Referrer, sin id de transacción en las compras, sin ingresos publicitarios de AdMob, sin borrado desde la app: usa RevenueCat y el borrado del lado del servidor.
Pruebas hasta ahora
Preguntas frecuentes#
- ¿Qué versiones de .NET admite Traqio.Maui?
- net8.0-android y net8.0-ios. El Install Referrer de Android viene del paquete de binding de Google Xamarin.Google.Android.InstallReferrer 2.2.0.4, la última versión que aún incluye una librería net8.0-android.
- ¿Tengo que añadir un bloque <queries> al manifest de Android?
- No, el paquete se encarga. Desde Android 11, una app solo ve los paquetes que declara; sin Play Store en <queries>, una app que no instaló el propio Google Play (una build de depuración, una instalación con adb) no puede conectarse al servicio Install Referrer, y todas las instalaciones aparecen como orgánicas. Traqio.Maui añade esa entrada al manifest de tu app durante la compilación.