Biblioteca Google Play Faturamento

Nota importante: A descontinuação impede apenas o envio de novas atualizações ou novos aplicativos no Google Play Console. Aplicativos já instalados nos dispositivos dos usuários continuarão funcionando normalmente.
Versão Data de Lançamento Prazo Limite Prazo (Com Extensão) Status
Play Billing 9.x Maio de 2026 31 de Agosto de 2028 1 de Novembro de 2028 Ativa (Mais recente)
Play Billing 8.x Junho de 2025 31 de Agosto de 2027 1 de Novembro de 2027 Ativa (Recomendada)
Play Billing 7.x Maio de 2024 31 de Agosto de 2026 1 de Novembro de 2026 Em Descontinuação
Play Billing 6.x Maio de 2023 31 de Agosto de 2025 1 de Novembro de 2025 Descontinuada
Play Billing 5.x Maio de 2022 31 de Agosto de 2024 1 de Novembro de 2024 Descontinuada
Play Billing 4.x Maio de 2021 1 de Novembro de 2022 N/A Obsoleta

📌 Extensão de Prazo

Se precisar de mais tempo para migrar antes de 31 de agosto:

  1. Acesse o Google Play Console.
  2. Vá em Caixa de Entrada / Inbox ou Suporte.
  3. Localize a notificação sobre a Play Billing.
  4. Clique em Solicitar extensão.

💡 Recomendação Técnica

  • Mantenha novos projetos na versão 8.x ou superior.
  • Atenção ao minSdkVersion, pois a versão 8.1+ exige o API Level 23 (Android 6.0).
  • Atualize SDKs de terceiros.

Guia de Migração: Play Billing Library v7 ➔ v9

Aprenda os passos técnicos necessários para atualizar a integração de faturamento do seu aplicativo Android diretamente da versão 7 para a versão 9.

Requisito Obrigatório: A partir das versões mais recentes, o Google exige compileSdk 35+ e minSdkVersion 23 (Android 6.0 Marshmallow).
1

Atualizar as Dependências no Gradle

No seu arquivo build.gradle.kts ou build.gradle do módulo do app, altere a versão do SDK:

// Kotlin DSL (build.gradle.kts) dependencies { // Substitua a versão v7.x pela v9.x implementation(“com.android.billingclient:billing-ktx:9.0.0”) }
2

Remoção de Métodos Obsoletos

Com a v9, chamadas diretas a métodos como querySkuDetailsAsync() foram completamente removidas. Certifique-se de utilizar a API de produtos baseada em QueryProductDetailsParams.

// Substitua chamadas antigas por QueryProductDetailsParams val productList = listOf( QueryProductDetailsParams.Product.newBuilder() .setProductId(“meu_produto_id”) .setProductType(BillingClient.ProductType.INAPP) .build() ) val params = QueryProductDetailsParams.newBuilder() .setProductList(productList) .build() billingClient.queryProductDetailsAsync(params) { billingResult, productDetailsList -> // Processa os detalhes dos produtos atualizados }
3

Tratamento de Assinaturas e Ofertas Múltiplas

A estrutura de ofertas e planos base das assinaturas mudou. Agora é obrigatório passar o token da oferta (offerToken) no objeto de lançamento de compra:

val productDetailsParamsList = listOf( BillingFlowParams.ProductDetailsParams.newBuilder() .setProductDetails(productDetails) // Obrigatório para assinaturas a partir do modelo v7/v9 .setOfferToken(selectedOfferToken) .build() ) val billingFlowParams = BillingFlowParams.newBuilder() .setProductDetailsParamsList(productDetailsParamsList) .build() billingClient.launchBillingFlow(activity, billingFlowParams)
4

Validação e Confirmação de Compras (Acknowledge)

Lembre-se de manter o método de confirmação de compra em até 3 dias para evitar reembolsos automáticos gerados pela Google Play:

if (purchase.purchaseState == Purchase.PurchaseState.PURCHASED && !purchase.isAcknowledged) { val acknowledgePurchaseParams = AcknowledgePurchaseParams.newBuilder() .setPurchaseToken(purchase.purchaseToken) .build() billingClient.acknowledgePurchase(acknowledgePurchaseParams) { billingResult -> // Tratar confirmação de sucesso } }