Traqio.

SDK

SDK para Capacitor

Añade Traqio a una app Capacitor o Ionic: @traqio/capacitor lee el Play Install Referrer y usa el motor JS común; tu app conecta almacenamiento y ciclo de vida.

@traqio/capacitor es el SDK de Traqio para apps de Capacitor e Ionic. Ejecuta el mismo motor JavaScript que el SDK de React Native (@traqio/core, con su cola, los ids de transacción de la tienda, los ingresos publicitarios de AdMob, el consentimiento y el borrado desde la app) y añade un pequeño plugin nativo: lee el Install Referrer de Google Play en Android y, en iOS, registra la instalación en SKAdNetwork, define sus valores de conversión e informa del token de Apple Ads. Como Capacitor no es React Native, dos cosas que el SDK de React Native hace por sí solo te toca conectarlas a ti: el almacenamiento persistente y el ciclo de vida de la app.

Disponible en npm

Paquete @traqio/capacitor · versión 0.1.0Nivel de prueba: Analizado y tipado en CI; la parte nativa compila en una app anfitriona.

Requisitos#

  • @capacitor/core 5 o posterior. El plugin de Android se compila contra Capacitor 6.
  • @capacitor/preferences (almacenamiento) y @capacitor/app (ciclo de vida y URL).
  • Android 5.1 (API 22) o posterior; iOS 13 o posterior (atribución de Apple Ads a partir de iOS 14.3).

Configuración#

  1. Instala los paquetes#

    npm install @traqio/capacitor @capacitor/preferences @capacitor/app
    npx cap sync
  2. Inicializa con almacenamiento#

    import { App } from "@capacitor/app";
    import { Preferences } from "@capacitor/preferences";
    import { Traqio, getNativeBridge } from "@traqio/capacitor";
    
    // Persistence is what makes the install fire exactly once — Capacitor has no default.
    const storage = {
      getItem: async (key: string) => (await Preferences.get({ key })).value,
      setItem: (key: string, value: string) => Preferences.set({ key, value }),
    };
    
    await Traqio.init({
      sdkKey: "YOUR_SDK_KEY",
      endpoint: "https://api.traqio.app",
      native: getNativeBridge(),
      storage,
    });
    
    // Capacitor has no React Native AppState: wire the lifecycle and the URLs yourself.
    App.addListener("appStateChange", ({ isActive }) => (isActive ? Traqio.appOpened() : Traqio.flush()));
    App.addListener("appUrlOpen", ({ url }) => void Traqio.handleUrl(url));

    No te saltes el adaptador de almacenamiento

    Sin él, el SDK no puede recordar que la instalación ya se informó: muestra una advertencia en la consola y vuelve a informarla en cada arranque.
  3. Conecta el ciclo de vida y las URL#

    Las dos últimas líneas del fragmento anterior: appOpened() cuando la app vuelve al primer plano (con un debounce de 30 minutos de sesión, así que llámalo en cada reanudación), flush() cuando sale, y cada URL que abre la app a handleUrl. Solo las URL de seguimiento de Traqio salen del dispositivo.

  4. Registra eventos y define el id de usuario#

    Traqio.setUserId(user.id); // after sign-in — same id as RevenueCat's app_user_id
    Traqio.track("purchase", { value: 9.99, currency: "EUR", transactionId: purchase.transactionId });

    La API completa (trackAdRevenue, setConsent, forgetMe, getDeferredDeepLink) está en la referencia de la API de JavaScript.

Aún no está en este SDK#

  • Reintentos del Install Referrer. El referrer se lee una vez; si Google Play no responde en el primer arranque, la instalación se registra como orgánica.

Pruebas hasta ahora

El TypeScript se comprueba, se compila y se prueba en CI. El código nativo del plugin, de iOS y de Android, no se compila en CI, y el plugin aún no se ha ejecutado dentro de una app de Capacitor en producción.

Preguntas frecuentes#

¿Por qué el SDK de Capacitor necesita un adaptador de almacenamiento?
El SDK debe recordar que ya informó de la instalación y conservar los eventos en cola entre reinicios. En React Native encuentra AsyncStorage por sí solo; Capacitor no tiene un equivalente que pueda dar por sentado, así que se lo pasas tú: unas pocas líneas sobre @capacitor/preferences. Sin él, la instalación se informa de nuevo en cada arranque.
¿El SDK de Capacitor atribuye las instalaciones en iOS?
Sí, igual que el SDK de React Native. El plugin de iOS registra cada instalación en SKAdNetwork al cargarse, define los valores de conversión a partir del mapping publicado en la consola a medida que llegan eventos con valor, e informa del token de Apple Ads a partir de iOS 14.3, que el servidor resuelve con Apple. Sin solicitud de seguimiento, y sin IDFA — la opción de identificador publicitario del SDK de React Native aún no está en este plugin.

Actualizado el 22 de octubre de 2026