Migrar das versões 6 ou 7 para a versão 8 da Biblioteca Google Play Faturamento

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

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 anteriormente. Essa versão da biblioteca também inclui novas APIs para produtos únicos.

Compatibilidade com versões anteriores para upgrade da PBL

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

Fazer upgrade da PBL 6 ou 7 para a PBL 8

Para fazer o 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). Gerencie as mudanças de API relacionadas à assinatura no 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 app.

    API descontinuada anteriormente removida na PBL 8 API alternativa a ser usada
    setOldSkuPurchaseToken setOldPurchaseToken
    setReplaceProrationMode setSubscriptionReplacementMode
    setReplaceSkusProrationMode setSubscriptionReplacementMode
  3. Atualize a implementação do queryProductDetailsAsync método.

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

  4. Gerencie as APIs removidas.

    Upgrade da

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

    API descontinuada anteriormente removida na PBL 8 API alternativa a ser usada
    APIs queryPurchaseHistoryAsync Consulte Consultar histórico de compras
    querySkuDetailsAsync queryProductDetailsAsync
    enablePendingPurchases() (API sem parâmetros) enablePendingPurchases(PendingPurchaseParams params)
    Observe que a enablePendingPurchases() descontinuada é funcionalmente equivalente a enablePendingPurchases(PendingPurchasesParams.newBuilder().enableOneTimeProducts().build()).
    queryPurchasesAsync(String skuType, PurchasesResponseListener listener) queryPurchasesAsync
    BillingClient.Builder.enableAlternativeBilling BillingClient.Builder.enableUserChoiceBilling
    AlternativeBillingListener UserChoiceBillingListener
    AlternativeChoiceDetails UserChoiceDetails

    Upgrade da

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

    API descontinuada anteriormente removida na PBL 8 API alternativa a ser usada
    APIs queryPurchaseHistoryAsync Consulte Consultar histórico de compras
    querySkuDetailsAsync queryProductDetailsAsync
    enablePendingPurchases() (API sem parâmetros) enablePendingPurchases(PendingPurchaseParams params)
    Observe que a enablePendingPurchases() descontinuada é 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 de 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 do serviço.

  6. Mudanças opcionais.