SDK

Eventos e analytics

Registre ações do usuário com track() e rastreie telas automaticamente com o hook de navegação.

Enviar eventos customizados

Chame Paywallo.track(eventName, options) para registrar qualquer ação relevante. O campo properties aceita string | number | boolean | null.

tsx
import Paywallo from "@virex-tech/paywallo-sdk";

// Exemplo: usuário completou um quiz
await Paywallo.track("quiz_completed", {
  properties: {
    quiz_id: "weight_loss_v2",
    answers_count: 12,
    skipped: false,
    score: null,
  },
});
stringTexto (ex: feature, plan_id, country)
numberNúmero inteiro ou decimal (ex: amount, step_index)
booleanVerdadeiro/falso (ex: skipped, is_trial)
nullAusência de valor — omite o campo na análise

Prioridade crítica

Por padrão, eventos são agrupados em lotes de 25 ou enviados a cada 10 segundos. Para eventos que não podem ser perdidos — compras, cancelamentos — passe priority: "critical". O SDK envia no próximo microtask, sem aguardar o lote.

tsx
// priority: "critical" envia o evento imediatamente (batch-of-1),
// sem aguardar a janela de 25 eventos / 10 segundos.
//
// Use so em evento SEU que nao pode ser perdido. Nao reemita os automaticos
// (lista abaixo) — o SDK ja os envia, e chamar na mao conta duas vezes.
await Paywallo.track("plano_escolhido", {
  properties: {
    plan_id: planId,
    origem: "tela_de_precos",
  },
  priority: "critical",
});

Eventos automáticos

Não chame track() para os eventos abaixo — o SDK já os dispara. Chamada manual gera double-count:

  • $app_installedPrimeira abertura do app com dados de atribuição de anúncio. Gerenciado pelo InstallTracker.
  • lifecycleCiclo de vida do app, com o tipo no payload: {type: "cold_start" | "foreground" | "background" | "session_end"}. Alimenta DAU/MAU no dashboard.
  • transactionCompra confirmada, emitida pelo IAPTransactionEmitter e pela ponte do Superwall.
  • checkout_startedInício de compra, emitido pelo IAPService a cada tentativa.
  • paywallExibição e interação de paywall, emitido pelo apresentador de paywall.
  • screen_viewNavegação de tela, emitido pelo hook usePaywalloScreenTracking.
  • notificationEntrega, clique e descarte de push, emitido pelo NotificationEventTracker.

Compras, paywall e onboarding têm APIs próprias no SDK — Paywallo.onboardingStep() e Paywallo.presentPaywall().

Rastreamento de telas

Com React Navigation, use usePaywalloScreenTracking() no componente raiz. Retorna um callback estável para o onStateChange do NavigationContainer. Emite screen_view a cada troca de rota, com dedup automático de tela repetida consecutiva.

tsx
import { usePaywalloScreenTracking } from "@virex-tech/paywallo-sdk";
import { NavigationContainer } from "@react-navigation/native";

export function App() {
  const onStateChange = usePaywalloScreenTracking();

  return (
    <NavigationContainer onStateChange={onStateChange}>
      {/* suas rotas */}
    </NavigationContainer>
  );
}
tsx
// Sem React Navigation: envie screen_view manualmente
await Paywallo.track("screen_view", {
  properties: { screen_name: "OnboardingStep3" },
});

Ver no dashboard

Eventos customizados enviados via track() aparecem em Custom Metrics no dashboard. Crie métricas a partir do nome do evento e filtre por propriedade, plataforma e período. Eventos screen_view alimentam o funil de navegação em Analytics.

Essa página foi útil?

Desenvolvido e mantido por Virex