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

Neste documento, descrevemos 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, além da 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 PBL

Para migrar para a PBL 8, é necessário atualizar ou remover algumas das referências de API existentes 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 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 na API relacionadas a assinaturas no seu app.

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

    API descontinuada removida na PBL 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 disponibilidade do produto para compra.

  4. Gerencie as APIs removidas.

    Fazer upgrade de

    A PBL 8 não é mais compatível com as APIs listadas na tabela a seguir. Se a implementação usar alguma dessas APIs removidas, consulte a tabela para ver as APIs alternativas correspondentes.

    API descontinuada removida na PBL 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 que foram removidas na PBL 8 e as APIs alternativas correspondentes que você precisa usar no seu app.

    API descontinuada removida na PBL 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

  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.