# RevenueCat: como configurar assinatura in-app no iOS

> O RevenueCat conecta seus produtos do App Store Connect ao seu app e gerencia os direitos de acesso. Veja os passos para ativar sua primeira assinatura iOS.

Página original: [RevenueCat: como configurar assinatura in-app no iOS](https://devoria.fr/pt-br/blog/revenuecat-assinatura-in-app-ios)
Autor: [Mehdi Azizi](https://devoria.fr/pt-br/mehdi-azizi)
Publicação: 2026-10-01
Última revisão do conteúdo: 2026-10-09


## Por que usar o RevenueCat em vez de só o StoreKit

O StoreKit, framework da Apple, permite vender uma assinatura sem nenhum serviço de terceiros. Mas, para um iniciante, escrever sozinho toda a lógica de compra, restauração e verificação dos direitos de acesso é muito código para manter, com casos extremos fáceis de esquecer: troca de aparelho, expiração, reembolso.

O [RevenueCat](https://www.revenuecat.com/docs/welcome/overview) fica entre o App Store Connect e o seu app: ele lê seus produtos, gerencia as assinaturas ativas e evita que você precise escrever essa camada. Você continua no controle do preço e das ofertas por um painel, sem republicar o app a cada mudança.

## Passo 1: criar seus produtos no App Store Connect

Antes do RevenueCat, os produtos precisam existir do lado da Apple. No App Store Connect, crie um grupo de assinaturas e depois um ou mais níveis com a duração, mensal ou anual por exemplo, e o preço por território. Preencha também os textos exibidos ao usuário para cada nível: a Apple pede isso antes de aceitar o produto na revisão.

Um esquecimento comum nessa fase: um produto criado mas nunca enviado na primeira revisão do app junto com a versão associada. Um produto pendente que nunca foi incluído num envio do app continua invisível para seus usuários, mesmo que o RevenueCat já o enxergue.

## Passo 2: conectar o RevenueCat ao seu app

No RevenueCat, você cria um projeto, conecta sua chave de API do App Store Connect para que o RevenueCat sincronize seus produtos automaticamente e depois define os "entitlements", os direitos de acesso. Um entitlement representa o que a assinatura desbloqueia, por exemplo o acesso completo ao app, independentemente do produto exato que o ativou.

Essa camada intermediária é útil: se você mudar a estrutura das suas ofertas mais tarde, por exemplo adicionando um plano anual, basta ligar o novo produto ao mesmo entitlement, sem mexer no código que verifica o acesso no app.

No app, o [SDK do RevenueCat para React Native](https://www.revenuecat.com/docs/getting-started/installation/reactnative) é instalado num projeto Expo com um plugin dedicado e oferece uma função simples para saber se o usuário atual tem um entitlement ativo.

## Passo 3: montar o seu paywall

O paywall é a tela que apresenta a oferta e dispara a compra. O RevenueCat oferece paywalls configuráveis pelo painel, editáveis sem republicar o app, ou você pode montar o seu com o SDK se quiser controle total do design.

O posicionamento importa tanto quanto o design. Um paywall exibido antes de a pessoa ver o valor do app costuma converter pior do que um paywall colocado logo depois de uma primeira ação bem-sucedida. O guia de [erros de paywall iOS para iniciantes](https://devoria.fr/pt-br/blog/paywall-ios-erros-iniciante-vendas) detalha as armadilhas mais comuns nessa fase, além da parte técnica.

## Passo 4: testar a compra, a restauração e a expiração

É o passo mais feito às pressas e, mesmo assim, o mais verificado pela Apple. Três cenários precisam funcionar antes do envio:

**A compra.** Com uma conta de teste sandbox, a compra deve desbloquear o entitlement na hora, e o app deve reagir a essa mudança sem precisar ser reiniciado.

**A restauração.** Num aparelho novo ou depois de reinstalar, com a mesma conta Apple, um botão "Restaurar compras" deve recuperar a assinatura ativa. A Apple verifica esse fluxo sempre na revisão, e a ausência dele ou um mau funcionamento é um motivo frequente de rejeição com base na [guideline 3.1.1](https://devoria.fr/pt-br/blog/guideline-3-1-1-compra-no-app-obrigatoria).

**A expiração.** No ambiente sandbox, as assinaturas expiram em poucos minutos em vez de vários meses, o que permite verificar se o acesso é encerrado corretamente quando o período termina, sem esperar um ciclo de cobrança real.

## O que o RevenueCat não substitui

O RevenueCat cuida da mecânica de compra, não da conformidade da sua página nem do seu paywall com a [guideline 3.1.2](https://devoria.fr/pt-br/blog/guideline-3-1-2-app-rejeitado-assinatura). Continua sendo sua responsabilidade descrever corretamente a assinatura na descrição da App Store, informar o preço exato e a duração, e incluir seus termos de uso. A página [assinatura ou compra única no iOS](https://devoria.fr/pt-br/blog/assinatura-ou-compra-unica-app-ios) ajuda você a escolher o modelo certo antes mesmo de chegar a essa etapa técnica.

Além disso, o RevenueCat cobra uma comissão sobre a receita acima de um certo limite mensal, além da comissão da Apple sobre as assinaturas vendidas no app. Confira as faixas atuais no próprio site deles antes de montar seu modelo de negócio em cima dessas duas comissões.

## Os erros mais comuns de iniciante

**Esquecer o estado de carregamento.** Na abertura, o RevenueCat precisa de um instante para buscar os direitos de acesso do usuário. Se o app mostra o conteúdo pago por padrão antes dessa resposta, um usuário sem assinatura pode ver, por um instante, conteúdo que não pagou. Preveja um estado de carregamento explícito em vez de uma exibição padrão otimista.

**Verificar os direitos no lugar errado.** Um entitlement ativo deve ser verificado de novo a cada abertura de uma tela paga, não só uma vez na inicialização. Se o usuário cancelar ou se a assinatura expirar enquanto ele usa o app, a próxima tela deve refletir essa mudança.

**Confundir ambiente sandbox e produção.** Os identificadores de produto e as contas de teste sandbox são separados da produção. Um teste que funciona no sandbox com a conta Apple errada, ou um produto criado só em produção, pode dar a falsa impressão de que está tudo pronto.

## Um app verificado, não só um app que compila

Uma assinatura que "funciona" num teste rápido na sua própria conta não garante que ela sobreviva a uma restauração em outro aparelho ou a uma expiração real. É exatamente isso que um reviewer da Apple verifica. A página [assinatura in-app iOS](https://devoria.fr/pt-br/expertise/assinatura-no-app-ios) detalha toda essa cadeia, da criação dos produtos até a verificação final.

Se você quer partir de uma base em que o paywall e as assinaturas já estão no código, é isso que traz o código inicial do [iOS Kit](https://devoria.fr/pt-br/kits/ios). Para verificar sua assinatura como o reviewer vai fazer, o [Apple Review Kit](https://devoria.fr/pt-br/kits/review-apple) reúne minha checklist antes do envio e as notas para deixar ao testador sobre a compra in-app.

## Perguntas frequentes

### Como configurar uma assinatura com RevenueCat no iOS?

Em quatro passos. Primeiro, crie seus produtos no App Store Connect. Depois conecte o RevenueCat com sua chave de API do App Store Connect e defina seus entitlements (os direitos de acesso), e então monte o paywall. Termine testando a compra, a restauração e a expiração: é o passo muitas vezes feito às pressas e, mesmo assim, verificado pela Apple.

### O RevenueCat é obrigatório para vender uma assinatura no iOS?

Não. O StoreKit, framework da Apple, permite vender uma assinatura sem serviço de terceiros. Mas aí você escreve toda a lógica de compra, restauração e verificação dos direitos de acesso, com casos extremos fáceis de esquecer: troca de aparelho, expiração, reembolso. O RevenueCat fica entre o App Store Connect e o seu app para poupar você dessa camada.

### O que é um entitlement no RevenueCat?

Um entitlement é um direito de acesso: representa o que a assinatura desbloqueia, por exemplo o acesso completo ao app, seja qual for o produto exato que o ativou. Se mais tarde você adicionar um plano anual, basta ligar o novo produto ao mesmo entitlement. O código que verifica o acesso no app não precisa mudar.

### Como testar uma assinatura do RevenueCat antes de enviar para a Apple?

Três cenários precisam funcionar antes do envio. Compra: com uma conta de teste sandbox, o acesso é desbloqueado na hora, sem reiniciar o app. Restauração: num aparelho novo ou depois de reinstalar, com a mesma conta Apple, o botão de restauração recupera a assinatura ativa. Expiração: no sandbox, as assinaturas expiram em poucos minutos, o que permite verificar se o acesso é encerrado.

### Por que um produto visível no RevenueCat continua invisível para os usuários?

Muitas vezes porque o produto nunca foi incluído num envio do app. Um produto criado no App Store Connect mas nunca enviado na primeira revisão com a versão associada continua invisível para seus usuários, mesmo que o RevenueCat já o enxergue. É um esquecimento comum na etapa de criação dos produtos.

### O RevenueCat cobra comissão sobre as assinaturas?

O RevenueCat cobra uma comissão sobre a receita acima de um certo limite mensal. Ela se soma à da Apple sobre as assinaturas vendidas no app. Confira as faixas atuais no site do RevenueCat antes de montar seu modelo de negócio em cima dessas duas comissões.


## Seu projeto

[iOS Kit](https://devoria.fr/pt-br/kits/ios): Crie seu app de iPhone com Claude Code: o código inicial dos meus apps, as skills que verificam o trabalho dele e os kits Apple Review, App Store Screenshots e ASO. 129,99 €.
