Este documento descreve como integrar seu app ao recurso de vários produtos da Biblioteca Play Faturamento (PBL).
O recurso de vários produtos para produtos únicos (OTP, na sigla em inglês) permite combinar vários produtos únicos em uma única unidade. Esses produtos agrupados podem ser comprados, faturados e gerenciados coletivamente. Também é possível criar ofertas de desconto para esses OTPs agrupados para incentivar a compra de produtos.
Considerações
Ao criar pacotes de produtos únicos, observe as seguintes considerações:
- Não é possível ter assinaturas em um pacote de produtos únicos.
- Não é possível ter uma combinação de conteúdo digital e serviço no mesmo pacote de produtos únicos.
- Os produtos únicos agrupados precisam estar disponíveis para download imediato. Por exemplo, um pacote de produtos únicos não pode ter uma compra de pré-encomenda porque não está disponível para download imediato.
- O recurso de vários produtos para produtos únicos não oferece suporte à opção de compra de aluguel.
Integrar com a Biblioteca Play Faturamento
Esta seção pressupõe que você esteja familiarizado com as etapas iniciais de integração da PBL, como adicionar a dependência da PBL ao app, inicializar o BillingClient, e se conectar ao Google Play. Esta seção se concentra nos aspectos de integração da PBL que são específicos para compras de OTP de vários produtos.
Iniciar um fluxo de compra
Para iniciar um fluxo de compra de produtos únicos de vários produtos, siga estas etapas:
Crie uma lista de produtos com todos os produtos únicos usando o método QueryProductDetailsParams.Builder.setProductList.
Busque todos os produtos únicos usando o
BillingClient.queryProductDetailsAsyncmétodo.O exemplo a seguir mostra como buscar todos os produtos únicos:
Java
billingClient.queryProductDetailsAsync( queryProductDetailsParams, new ProductDetailsResponseListener() { public void onProductDetailsResponse( BillingResult billingResult, QueryProductDetailsResult productDetailsResult) { // check billingResult // … // process productDetailsList returned by QueryProductDetailsResult ImmutableList
productDetailsList = productDetailsResult.getProductDetailsList(); for (ProductDetails productDetails : productDetailsList) { for (OneTimePurchaseOfferDetails oneTimePurchaseOfferDetails : productDetails.getOneTimePurchaseOfferDetailsList()) { // … } } } }); Defina o objeto
ProductDetailspara cada produto único.Especifique os detalhes do produto único no
BillingFlowParams.Builder.setProductDetailsParamsListmétodo. A classeBillingFlowParamsespecifica os detalhes de um fluxo de compra.O exemplo a seguir mostra como iniciar o fluxo de faturamento para uma compra de OTP de vários produtos:
Java
BillingClient billingClient = BillingClient.newBuilder() // set other options .build(); // ProductDetails obtained from queryProductDetailsAsync(). ProductDetails productDetails1 = ...; ProductDetails productDetails2 = ...; ArrayList
productDetailsList = new ArrayList<>(); productDetailsList.add(productDetails1); productDetailsList.add(productDetails2); BillingFlowParams billingFlowParams = BillingFlowParams.newBuilder() .setProductDetailsParamsList(productDetailsList) .build(); billingClient.launchBillingFlow(billingFlowParams);
Processar compras
O processamento de compras de OTP de vários produtos é o mesmo das compras de item único existentes
, conforme descrito em
Integrar a Biblioteca Google Play Faturamento ao seu app.
A única diferença é que você precisa conceder o direito a todos os
produtos em vez de apenas um para compras de OTP de vários produtos, para que o
usuário possa receber vários direitos com uma única compra.
Uma compra de OTP de vários produtos retorna vários itens que podem ser recuperados
usando Purchase.getProducts() na Biblioteca Google
Play Faturamento e, em seguida, a lista lineItems em
purchases.products.get da API Google Play Developer.
Notificações do desenvolvedor em tempo real
O campo sku não é fornecido na RTDN para compras de OTP de vários produtos.
As compras de OTP de vários produtos representam mais de um produto. Portanto, você pode usar as APIs Play Developer para receber os dados de compra e conferir todos os itens nela.
Reembolsos
Em uma compra de OTP de vários produtos, os usuários não podem solicitar reembolsos de itens individuais, e você também não pode emitir reembolsos de itens individuais. No entanto, a solicitação e a emissão de reembolsos para toda a compra de OTP de vários produtos são permitidas. Se você estiver cancelando uma compra de OTP de vários produtos para um usuário, todos os direitos associados à compra serão cancelados.
Relatórios e reconciliação financeira
Use o relatório de ganhos para reconciliar suas compras ativas de OTP de vários produtos com pagamentos e transações do Google no Play. Cada item de linha de transação tem um código do pedido. Para uma compra de OTP de vários produtos, os relatórios de ganhos e vendas estimadas vão incluir linhas separadas (com o mesmo código do pedido) para cada transação, como cobrança, taxa, imposto e reembolso, para cada item envolvido.
Para painéis no Play Console:
As estatísticas de receita apresentadas na seção Relatórios financeiros do console são divididas por produtos individuais.
O gerenciamento de pedidos reflete compras de OTP de vários produtos e mostra listas detalhadas do que foi comprado. No gerenciamento de pedidos, é possível revogar, cancelar ou reembolsar totalmente a compra de um usuário.