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:
Atualize a versão da dependência da Biblioteca Play Faturamento no arquivo
build.gradledo app.dependencies { def billingVersion = 8.0.0 implementation "com.android.billingclient:billing:$billingVersion" }(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 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].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 aenablePendingPurchases(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 aenablePendingPurchases(PendingPurchasesParams.newBuilder().enableOneTimeProducts().build()).queryPurchasesAsync(String skuType, PurchasesResponseListener listener) queryPurchasesAsync (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.
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