O que significa “Restaurar compra”?

Última atualização Março 10, 2026
 
Victoria Kharlan
Publicado Dezembro 5, 2025 
Última atualização Março 10, 2026
Leitura de 5 min
What Does Restore Purchase Mean

Imagine o seguinte: um usuário compra uma assinatura, troca de dispositivo, reinstala o app e, de repente, perde o acesso. É um jeito fácil de perder a confiança.

É exatamente por isso que existe a opção «Restaurar compra». Pode parecer um botão opcional, mas é essencial, especialmente para aplicações baseadas em assinaturas.

Esta opção permite que os utilizadores recuperem o acesso a conteúdos adquiridos anteriormente sem terem de pagar novamente. É um pequeno botão com um grande papel na confiança, conformidade e retenção de utilizadores.

Por que isso importa

  • Confiança do utilizador: Se alguém pagou uma vez, espera manter o acesso, independentemente do dispositivo.
  • Carga de suporte: Lógica de restauração confusa ou ausente = utilizadores irritados + mais tickets.
  • Conformidade com a App Store: tanto a Apple como a Google esperam que inclua uma opção de restauração para determinados tipos de produtos.

Quais compras podem ser restauradas

As compras restauráveis incluem:

  • Não consumíveis: Compras únicas, como acesso vitalício ou funcionalidades premium.
  • Assinaturas com renovação automática: planos mensais/anuais que sincronizam entre dispositivos.
  • Assinaturas não renováveis: Acesso por prazo determinado (por exemplo, um passe de 3 meses).

Não restaurado:

  • Consumíveis como moedas, vidas extra ou impulsos únicos. Estes são destinados a serem usados.

Como o botão “Restaurar compra” funciona

  1. UI/UX. Adicione um botão «Restaurar compra» — normalmente nas definições ou diretamente no paywall.
  2. Acionar. Ao tocar, acione uma restauração através de:
    • SKPaymentQueue.restoreCompletedTransactions() para iOS
    • BillingClient.queryPurchaseHistoryAsync() para Android
    • Ou a sua lógica de backend, se você gerenciar direitos do lado do servidor
  3. Atualizar acesso. Após a conclusão da restauração, atualize o estado da subscrição do utilizador e desbloqueie o conteúdo.
  4. Adicione uma mensagem útil. Uma frase simples ajuda a reduzir a confusão: «Use isto se tiver trocado de dispositivo ou reinstalado a aplicação.»
  5. Evite redundâncias. Se o utilizador já tiver acesso, desative o botão ou oculte-o completamente.
  6. Lógica da conta. Para aplicações com login: vincule as assinaturas às contas dos utilizadores e sincronize através do backend para simplificar a restauração entre dispositivos.

Como a restauração de compras funciona no iOS

No iOS, restaurar compras atualiza o recibo do app e re-entrega os produtos vinculados ao Apple ID do usuário. O processo roda silenciosamente em segundo plano, e a experiência deve ser simples e clara.

Veja como fazer usando o StoreKit nativo (anterior ao StoreKit 2):

1. Inicie o processo de restauração

Chame restoreCompletedTransactions() para acionar o fluxo de restauração:

SKPaymentQueue.default().restoreCompletedTransactions()

Isso instrui o StoreKit a buscar quaisquer compras anteriores vinculadas ao Apple ID atual.

2. Trate as transações restauradas

Ouça a fila de pagamentos e verifique os estados de transação .restored. Em seguida, desbloqueie o conteúdo e marque a transação como concluída:

func paymentQueue(_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction]) {
    for transaction in transactions {
        if transaction.transactionState == .restored {
            // Unlock access based on restored product
            unlockContent(transaction: transaction)
            SKPaymentQueue.default().finishTransaction(transaction)
        }
    }
}

Não se esqueça de chamar finishTransaction(_:). Caso contrário, o StoreKit poderá continuar a tentar a mesma transação.

3. Trate falhas de forma adequada

A restauração pode falhar devido a recibos inválidos, problemas de rede ou se o Apple ID não tiver compras elegíveis. Exiba um feedback claro para os usuários e registre o erro para depuração.

Está a utilizar o Adapty SDK? Nós tratamos de tudo isso, incluindo a validação de recibos e casos extremos, com uma única chamada de método.

Como a restauração de compras funciona no Android

No Android, restaurar compras significa verificar o histórico de compras do usuário via Google Play e reativar quaisquer produtos não consumíveis ou assinaturas ativas. Não existe um botão “restaurar” integrado como no iOS. Isso significa que você precisa lidar com isso manualmente por meio da billing API.

Veja como fazer usando a Google Play Billing Library:

1. Consultar histórico de compras

Use queryPurchaseHistoryAsync() para obter as compras anteriores do utilizador:

billingClient.queryPurchaseHistoryAsync(
    BillingClient.SkuType.SUBS
) { billingResult, purchaseHistoryList ->
    if (billingResult.responseCode == BillingClient.BillingResponseCode.OK && purchaseHistoryList != null) {
        for (purchase in purchaseHistoryList) {
            // Restore subscription access
            restoreEntitlement(purchase)
        }
    }
}

Você também pode consultar as compras no aplicativo passando BillingClient.SkuType.INAPP.

2. Valide e desbloqueie

Após recuperar o histórico de compras, valide os recibos (preferencialmente no servidor) e conceda o acesso de acordo. Certifique-se de verificar os dados de assinatura para evitar spoofing.

Adapty cuida da validação de compras, da lógica de acesso do usuário e da sincronização multiplataforma de forma nativa.

3. Considerações de UX

Como os usuários de Android não esperam um botão “Restaurar compras”, você pode:

  • Ativar a restauração automaticamente ao iniciar sessão ou ao iniciar a aplicação
  • Ou oferecer uma opção discreta em Configurações para maior transparência

De qualquer forma, certifique-se de que a lógica de restauração rode silenciosamente em segundo plano e atualize a interface quando o acesso for restaurado.

Considerações finais

O botão “Restaurar compra” pode parecer simples, mas desempenha um papel fundamental na jornada de assinatura.

  • Ele constrói confiança.
  • Ele reduz o churn.
  • Ele mantém você em conformidade.

Torne-o visível. Faça-o funcionar. E torne-o fácil de entender.

Perguntas frequentes

Se a sua aplicação utiliza o login como única forma de aceder às compras, o botão pode não ser tecnicamente necessário. Mas a Apple ainda o recomenda, pois ajuda a reduzir as solicitações de suporte.

Não. Apenas reativa compras válidas anteriores; não há cobranças envolvidas.

Não. Normalmente, é acionado manualmente pelo utilizador. Mas se utilizar o Adapty ou o seu próprio backend, pode sincronizar as compras silenciosamente ao iniciar a aplicação para garantir que o acesso esteja sempre atualizado.

No iOS — sim, se for utilizado o mesmo ID Apple. No Android, recomenda-se o login para associar as compras a uma conta de utilizador permanente.

Não. A opção «Restaurar compra» funciona apenas para a conta que efetuou a compra originalmente.

No iOS, se o produto suportar o Compartilhamento Familiar e ele estiver ativado, qualquer membro da família poderá restaurar a compra. O comportamento depende das configurações da App Store e do tipo de produto.

Mostre uma mensagem amigável como: «Não foram encontradas compras anteriores para a sua conta.» Isso evita confusão e confirma que o processo decorreu conforme o esperado.
Victoria Kharlan
Lessons I wish I had. Now yours.
Defeito

Nesta página

Pronto para criar seu primeiro paywall com Adapty?
Construa paywalls que geram receita sem codificação
Comece grátis