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][1].

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 existentes do app, conforme descrito nas [notas da versão][8] 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][9].

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

  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].

  6. Mudanças opcionais.

    • Compatibilidade com compras pendentes de planos pré-pagos. Para mais informações, consulte [Gerenciar assinaturas e transações pendentes][4].

    • Assinaturas de parcelas virtuais. Para mais informações, consulte [Integração de assinaturas parceladas][5].

[1]: /google/play/billing/release-notes [2]: /reference/com/android/billingclient/api/ProductDetailsResponseListener#onProductDetailsResponse(com.android.billingclient.api.BillingResult,java.util.List%3Ccom.android.billingclient.api.ProductDetails%3E) [3]: /google/play/billing/integrate#show-products [4]: /google/play/billing/subscriptions#pending [5]: /google/play/billing/subscriptions#installments [6]: /google/play/billing/integrate#automatic-service-reconnection [8]: /google/play/billing/release-notes [9]: /reference/com/android/billingclient/api/BillingClient#queryProductDetailsAsync