# Assinaturas

Como checar se o usuário tem acesso ativo e como restaurar uma compra anterior.

## Verificar assinatura

Pra decidir o que mostrar pro usuário em qualquer tela do app, tipo liberar conteúdo premium ou esconder um banner de upgrade: no React Native, o hook `useSubscription()` atualiza sozinho quando o status muda. Em Swift, Kotlin e Flutter a checagem é pull: chame `hasActiveSubscription()` (ou o equivalente da sua plataforma) sempre que precisar saber o status atual.

```typescript
import { useSubscription } from "@virex-tech/paywallo-sdk";

function Screen() {
  const { isActive } = useSubscription();

  if (isActive) {
    return <PremiumContent />;
  }
  return <FreeContent />;
}
```

## Restaurar compras

Quando o usuário troca de celular ou reinstala o app, ele precisa recuperar a assinatura que já pagou. Coloca um botão "Restaurar compras" na tela de settings ou login. O SDK relê as compras ativas do device e revalida no servidor. Em Swift, o restore passa por `AppStore.sync()`, e a Apple pode pedir a senha do Apple ID: por isso, deixe o botão atrás de uma ação explícita do usuário, nunca num efeito de abertura de tela.

```typescript
import { usePurchase } from "@virex-tech/paywallo-sdk";

const { restore, isRestoring } = usePurchase();

async function handleRestore() {
  const purchases = await restore();
  if (purchases.length > 0) {
    // assinatura restaurada
  }
}
```
