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.
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álisePrioridade 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.
// 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.
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>
);
}// 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