How can we help?

Boletim: a versão legada da validação de recibos está obsoleta

  • Atualizado
Seção Detalhes
Novidades

Validação de recibos. Uma solução gratuita que valida as compras com as lojas de aplicativos usando o novo método validateAndLog do SDK.

O método obsoleto será removido completamente nas próximas versões do SDK. Aplicativos que fizerem upgrade para a v7.0.0 ou posterior não poderão chamar o método legado.

A AppsFlyer oferece duas alternativas:

  • Validação de recibos, uma solução gratuita que valida compras com as lojas de aplicativos usando o novo método do SDK validateAndLogInAppPurchase (v2).
  • Receita da loja do ROI360. Uma solução premium de mensuração de receita, que inclui rastreamento de reembolsos, visibilidade completa do ciclo da assinatura e cálculo de receita líquida.
Data de início

As datas a seguir se aplicam:

  • Data da atualização: 24/12/2025
  • Data de descontinuação completa: 7 de setembro de 2026
O que você precisa saber
  • O onboarding agora é obrigatório. Diferente do Legacy, a nova Validação de recibos só funciona depois que o tipo de produto e as credenciais da loja forem configurados no AppsFlyer. Sem essa configuração, o SDK retorna um erro.
  • A receita bruta substitui os valores de receita personalizados. A nova Validação de recibos registra a receita bruta retornada pela loja, não o valor que você passa na chamada do SDK. Se você antes passava um valor personalizado (por exemplo, líquido após a dedução da taxa da loja), espere uma diferença nos dashboards e nos postbacks de parceiros após a migração. Para receita líquida, use o ROI360 Store Revenue.
  • Dashboards e postbacks usam apenas o preço e a moeda da resposta de validação da loja. Diferente do Legacy, o novo validateAndLogInAppPurchase não aceita preço nem moeda na chamada do SDK. Esses valores são extraídos diretamente da resposta de validação da loja. Qualquer af_revenue que você passar como parâmetro adicional vai para o objeto custom_data do evento, mas não é usado em dashboards nem em postbacks.
  • Novo parâmetro obrigatório: PurchaseType. Informa ao SDK se a transação é uma compra avulsa ou uma assinatura.
O que você precisa fazer

Para migrar para uma das duas soluções (antes de 7 de setembro de 2026), faça um dos seguintes procedimentos:

Para mais informações, consulte:

Perguntas frequentes

Como sei quais dos meus aplicativos ainda usam a Validação de recibos legada?

O Legacy não aparece como um tipo de produto na página de configurações de receita, portanto você não pode confirmar o uso do Legacy apenas pela IU. Use os seguintes métodos em conjunto:

  • Primeiro, verifique os dados brutos. Procure eventos af_purchase com event_source: SDK e is_receipt_validated: true. Estes são candidatos, mas chamadas logEvent podem produzir eventos semelhantes, portanto isso não é conclusivo por si só.
  • Confirme no código do SDK. Se o seu aplicativo chamar validateAndLogInAppPurchase com a assinatura legada, ele está no modo Legacy. A assinatura legada inclui:
    • Android: chave de licença, payload JSON, preço, moeda
    • iOS: ID do produto, preço, moeda, ID da transação
  • Entre em contato com seu CSM. Eles podem confirmar quais dos seus aplicativos ainda estão no modo Legacy.

O que exatamente acontece em 7 de setembro de 2026?

O serviço de backend de Validação de recibos Legacy será desativado. A partir desse dia:

  • O método legado validateAndLogInAppPurchase será considerado como obsoleto a partir das seguintes versões do SDK:
  • Os eventos af_purchase validados e registrados por esse método não são mais registrados na AppsFlyer.
  • Dashboards, dados brutos e postbacks de parceiros não recebem mais dados de compra do Legacy.

Para continuar capturando compras validadas, migre para uma das alternativas compatíveis antes de 7 de setembro de 2026.

Ativar a nova Validação de recibos afetará minhas versões ativas do aplicativo que ainda chamam o método legado?

Sem. Os dois produtos funcionam em paralelo até 7 de setembro de 2026. Ativar a nova Validação de recibos na AppsFlyer não afeta as versões do aplicativo que ainda chamam o método legado. Elas continuam funcionando como antes até a data de descontinuação.

O que acontece com os usuários em versões antigas do aplicativo que nunca são atualizadas?

Usuários em versões antigas do aplicativo continuam gerando eventos af_purchase validados até 7 de setembro de 2026. Para continuar recebendo dados de compra validados, lance a versão atualizada do seu aplicativo com antecedência suficiente para alcançar a maior parte da sua base de usuários antes da descontinuação.

Posso mudar de Validação de recibos para Receita da loja do ROI360 mais tarde?

sim, sim, Ambos os produtos usam o mesmo método do SDK validateAndLogInAppPurchase (v2), portanto mudar de Validação de recibos para Receita da loja do ROI360 não exige uma alteração no SDK nem o lançamento de uma nova versão do aplicativo. Para mudar, altere o Tipo de produto na página Configurações de receita e conclua a configuração adicional do ROI360 (notificações do servidor da App Store para iOS, RTDN do Google Play para Android). Veja Migrar da Validação de recibos para ROI360 Store Revenue.

Se você quiser ir além e habilitar a detecção automática de compras, a cobertura completa do ciclo de vida da assinatura (incluindo renovações, upgrades e assinantes existentes) e o tratamento de alterações de preço da assinatura, integre o componente SDK Purchase Connector. Isso é uma atualização do aplicativo, mas é opcional. O fluxo manual validateAndLogInAppPurchase (v2) funciona no ROI360 Store Revenue mesmo sem ele.

Posso pular totalmente a validação de compras da AppsFlyer?

sim, sim, Você pode reportar eventos de compra in-app com a API padrão logEvent. Mas você deixará de ter:

  • Validação de recibos nas lojas de aplicativos, que filtra compras fraudulentas
  • A flag af_validated nos eventos: definida como true quando a AppsFlyer verifica a compra com sucesso na loja e false quando isso falha. Sem validação, essa flag não está presente.
  • Postbacks de receita precisos para seus parceiros de UA. Sem validação, qualquer af_revenue que você enviar será registrado e enviado às networks como está, sem nenhuma confirmação de que a compra realmente ocorreu

Por esses motivos, a AppsFlyer recomenda usar a Validação de recibos ou o ROI360 Store Revenue, em vez de pular totalmente a validação.

O que acontece se o serviço de validação da Apple ou do Google ficar indisponível?

Isso depende de qual produto você usa:

  • Validação de recibos: o callback do SDK retorna um código de erro. Seu aplicativo precisa tratar a falha e implementar a própria lógica de nova tentativa.
  • ROI360 Store Revenue: a AppsFlyer tenta novamente a validação automaticamente assim que o serviço da loja se recupera e regenera todos os eventos perdidos durante a janela de indisponibilidade.

Por que a receita no meu dashboard mudou após a migração?

A fonte da receita mudou. A versão legada usava o valor que você enviava na chamada do SDK. A nova Validação de recibos usa a receita bruta retornada pela loja. Se antes você enviava um valor personalizado, por exemplo, a receita líquida após a dedução da taxa da loja, seus dashboards e postbacks para parceiros refletirão um número diferente após a migração.

Se você precisar da receita líquida, use ROI360 Store Revenue. Ele registra tanto a receita bruta quanto a líquida (bruta menos taxas e impostos da loja).

O que acontece com o meu valor af_revenue personalizado?

Se você ainda enviar o valor af_revenue, ele será preservado no evento dentro do objeto custom_data. Os dashboards e os postbacks dos parceiros usam o valor bruto da resposta da loja, não o seu valor personalizado.

Meus parceiros verão a nova receita bruta nos postbacks?

sim, sim, Após a migração, os postbacks de af_purchase passam a incluir a receita bruta da loja. Se você antes enviava um valor personalizado no Legacy, seus parceiros verão um número diferente. Informe seus parceiros de UA antes de implementar a migração, especialmente os parceiros que usam dados de receita para otimização de campanha.

Como os nomes dos eventos mudam após a migração?

O Legacy gerava um único evento af_purchase para todos os tipos de transação. A nova Validação de recibos usa nomes de evento distintos:

  • Compra única: af_purchase
  • Início do teste: af_ars_trial_started
  • Início da assinatura: af_ars_subscription_started
  • Compra em sandbox: af_purchase_sandbox_sdk
  • Assinatura ou teste em sandbox: af_ars_sandbox_sdk

Os eventos do ciclo de vida completo da assinatura (renovações, cancelamentos, reembolsos, upgrades) estão disponíveis somente no ROI360 Store Revenue. Para ver a lista completa de eventos, consulte Sobre a Validação de recibos.

Posso usar a resposta de validação do SDK para controlar o acesso ao conteúdo comprado?

A nova Validação de recibos ainda retorna um resultado de validação para o callback do SDK, que você pode usar para controlar o acesso ao conteúdo comprado. O resultado é mais preciso porque depende dos mecanismos de validação mais recentes fornecidos pela Apple App Store e pelo Google Play; assim, o sinal que você recebe no callback é mais confiável.

Como o novo método distingue assinaturas de compras únicas?

O novo validateAndLogInAppPurchase exige um parâmetro obrigatório PurchaseType. Defina-o como one-time ou subscription com base no tipo de transação.

A solução antiga de validação de recibos para compras dentro do aplicativo se tornou oficialmente obsoleta para todos os SDKs da AppsFlyer.

Seu aplicativo integrou o novo método validateAndLogInAppPurchase (v2), mas o produto não está configurado no dashboard da AppsFlyer. Abra Settings > ROI360 > Revenue settings > Purchases & subscriptions, selecione Receipt validation ou ROI360 e conclua as etapas de configuração.

Por que a nova compilação do meu SDK está registrando apenas eventos de sandbox e não af_purchase?

af_purchase é registrado apenas para transações de produção. As transações de sandbox são registradas como af_purchase_sandbox_sdk. Para gerar um evento af_purchase real, teste por meio de um pipeline de produção (sem TestFlight no iOS e sem Licensed Tester no Android).

This article was translated using AI and may contain errors. For the most accurate information, please refer to the English version using the language selector.


Share article: