Este documento descreve como migrar da Biblioteca Google Play Faturamento (PBL) 6 ou 7 para a 8 e como fazer a integração com os novos recursos de assinatura opcionais.

Para conferir uma lista completa das mudanças na versão 8.0.0, consulte as notas da versão.

Visão geral

A PBL 8 contém melhorias nas APIs atuais e a remoção de APIs descontinuadas. Essa versão da biblioteca também inclui novas APIs para produtos únicos.

Compatibilidade com versões anteriores para upgrade da Biblioteca Play Faturamento

Para migrar para o PBL 8, é necessário atualizar ou remover algumas das referências de API do app, conforme descrito nas notas da versão e mais adiante neste guia de migração.

Fazer upgrade do PBL 6 ou 7 para o PBL 8

Para fazer upgrade da PBL 6 ou 7 para a PBL 8, siga estas etapas:

  1. Atualize a versão da dependência da Biblioteca Play Faturamento no arquivo build.gradle do app.

    dependencies {
      def billingVersion = 8.0.0
      implementation "com.android.billingclient:billing:$billingVersion"
    }
    
  2. (Aplicável apenas para upgrade da PBL 6 para a PBL 8). Processe mudanças de API relacionadas à assinatura no seu app.

    A tabela a seguir lista as APIs relacionadas à assinatura que foram removidas na PBL 8 e a API alternativa correspondente que você precisa usar no seu app.

    A API descontinuada foi removida da Biblioteca Play Faturamento 8. API alternativa a ser usada
    setOldSkuPurchaseToken setOldPurchaseToken
    setReplaceProrationMode setSubscriptionReplacementMode
    setReplaceSkusProrationMode setSubscriptionReplacementMode
  3. Atualize a implementação do método queryProductDetailsAsync.

    Há uma mudança na assinatura do método ProductDetailsResponseListener.onProductDetailsResponse, que exige mudanças no app para a implementação de queryProductDetailsAsync. Para mais informações, consulte Mostrar produtos disponíveis para compra.

  4. Processe as APIs removidas.

    Fazer upgrade de

    O PBL 8 não oferece mais suporte às APIs listadas na tabela a seguir. Se a implementação usar qualquer uma dessas APIs removidas, consulte a tabela para conferir as APIs alternativas correspondentes.

    A API descontinuada foi removida da Biblioteca Play Faturamento 8. API alternativa a ser usada
    APIs queryPurchaseHistoryAsync Consulte Consultar o histórico de compras.
    querySkuDetailsAsync queryProductDetailsAsync
    enablePendingPurchases() (API sem parâmetros) enablePendingPurchases(PendingPurchaseParams params)
    O método descontinuado enablePendingPurchases() é funcionalmente equivalente a enablePendingPurchases(PendingPurchasesParams.newBuilder().enableOneTimeProducts().build()).
    queryPurchasesAsync(String skuType, PurchasesResponseListener listener) queryPurchasesAsync
    BillingClient.Builder.enableAlternativeBilling BillingClient.Builder.enableUserChoiceBilling
    AlternativeBillingListener UserChoiceBillingListener
    AlternativeChoiceDetails UserChoiceDetails

    Fazer upgrade de

    A tabela a seguir lista as APIs removidas no PBL 8 e as APIs alternativas correspondentes que você precisa usar no app.

    A API descontinuada foi removida da Biblioteca Play Faturamento 8. API alternativa a ser usada
    APIs queryPurchaseHistoryAsync Consulte Consultar o histórico de compras.
    querySkuDetailsAsync queryProductDetailsAsync
    enablePendingPurchases() (API sem parâmetros) enablePendingPurchases(PendingPurchaseParams params)
    O método enablePendingPurchases() descontinuado é funcionalmente equivalente a enablePendingPurchases(PendingPurchasesParams.newBuilder().enableOneTimeProducts().build()).
    queryPurchasesAsync(String skuType, PurchasesResponseListener listener) queryPurchasesAsync

  5. (Recomendado) Ative a reconexão automática do serviço.

    A Biblioteca Play Faturamento pode tentar restabelecer automaticamente a conexão do serviço se uma chamada de API for feita enquanto o serviço estiver desconectado. Para mais informações, consulte Ativar a reconexão automática de serviços.

  6. Mudanças opcionais.