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) 6 ou 7 para a PBL 8 e como integrar 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

O PBL 8 contém melhorias nas APIs atuais e a remoção de APIs descontinuadas anteriormente. Esta 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 do PBL 6 ou 7 para o PBL 8

Para fazer upgrade do PBL 6 ou 7 para o 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). Processar mudanças na API relacionadas a assinaturas no seu app.

    A tabela a seguir lista as APIs relacionadas a assinaturas que foram removidas no 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 do queryProductDetailsAsync. Para mais informações, consulte Mostrar produtos disponíveis para compra.

  4. Processar as APIs removidas.

    Fazer upgrade de

    O PBL 8 não é mais compatível com as APIs listadas na tabela a seguir. Se a sua 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 histórico de compras
    querySkuDetailsAsync queryProductDetailsAsync
    enablePendingPurchases() (API sem parâmetros) enablePendingPurchases(PendingPurchaseParams params)
    A função 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

    Fazer upgrade de

    A tabela a seguir lista as APIs removidas no 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 histórico de compras
    querySkuDetailsAsync queryProductDetailsAsync
    enablePendingPurchases() (API sem parâmetros) enablePendingPurchases(PendingPurchaseParams params)
    A função 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 de serviços.

  6. Mudanças opcionais.