En este documento, se describe cómo puedes integrar tu app con la función de varios productos de la Biblioteca de Facturación Play (PBL).
La función de varios productos para productos únicos (OTP) te permite combinar varios productos únicos en una sola unidad. Estos productos agrupados se pueden comprar, facturar y administrar de forma colectiva. También puedes crear ofertas de descuento para estos OTP agrupados para incentivar las compras de productos.
Consideraciones
Cuando crees paquetes de productos únicos, ten en cuenta las siguientes consideraciones:
- No puedes tener suscripciones en un paquete de productos únicos.
- No puedes tener una combinación de contenido digital y servicio en el mismo paquete de productos únicos.
- Los productos únicos agrupados deben estar disponibles para su descarga inmediata. Por ejemplo, un paquete de productos únicos no puede tener una compra de pedido anticipado porque no está disponible para su descarga inmediata.
- La función de varios productos para productos únicos no admite la opción de compra de alquiler.
Integración con la Biblioteca de Facturación Play
En esta sección, se supone que estás familiarizado con los pasos iniciales de integración de la PBL, como agregar la dependencia de la PBL a tu app, inicializar BillingClient, y conectarte a Google Play. Esta sección se centra en los aspectos de integración de la PBL que son específicos de las compras de OTP de varios productos.
Cómo iniciar un flujo de compra
Para iniciar un flujo de compra de productos únicos de varios productos, sigue estos pasos:
Crea una lista de productos que contenga todos los productos únicos con el método QueryProductDetailsParams.Builder.setProductList.
Recupera todos tus productos únicos con el
BillingClient.queryProductDetailsAsyncmétodo.En el siguiente ejemplo, se muestra cómo recuperar todos tus productos ú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()) { // … } } } }); Establece el
ProductDetailsobjeto para cada producto único.Especifica los detalles del producto único en el
BillingFlowParams.Builder.setProductDetailsParamsListmétodo. La claseBillingFlowParamsespecifica los detalles de un flujo de compra.En el siguiente ejemplo, se muestra cómo iniciar el flujo de facturación para una compra de OTP de varios productos:
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);
Cómo procesar las compras
El procesamiento de compras de OTP de varios productos es el mismo que para las compras existentes
de un solo artículo, como se describe en
Cómo integrar la Biblioteca de Facturación Google Play en tu app.
La única diferencia es que debes otorgar derechos de acceso para todos los
productos en lugar de solo uno para las compras de OTP de varios productos, de modo que el
usuario pueda recibir varios derechos de acceso con una sola compra.
Una compra de OTP de varios productos muestra varios artículos que se pueden recuperar
con Purchase.getProducts() en la Biblioteca de Facturación Google
Play y, luego, la lista lineItems en
purchases.products.get de la API de Google Play Developer.
Notificaciones para desarrolladores en tiempo real
El campo sku no se proporciona en RTDN para las compras de OTP de varios productos.
Las compras de OTP de varios productos representan más de un producto. Por lo tanto, puedes usar las APIs de Play Developer para obtener los datos de compra y ver todos los artículos que contiene.
Reembolsos
En una compra de OTP de varios productos, los usuarios no pueden solicitar reembolsos por artículos individuales, y tú tampoco puedes emitir reembolsos por artículos individuales. Sin embargo, se permite solicitar y emitir reembolsos por toda la compra de OTP de varios productos. Si cancelas una compra de OTP de varios productos para un usuario, se cancelarán todos los derechos de acceso asociados con la compra.
Informes y conciliación financiera
Usa el informe de ganancias para conciliar tus compras de OTP de varios productos activas con los pagos y las transacciones de Google Play. Cada elemento de línea de transacción tiene un ID de pedido. En el caso de una compra de OTP de varios productos, los informes de ganancias y ventas estimadas incluirán filas separadas (con el mismo ID de pedido) para cada transacción, como cargo, tarifa, impuesto y reembolso, para cada artículo involucrado.
Para los paneles en Play Console, ten en cuenta lo siguiente:
Las estadísticas de ingresos que se presentan en la sección Informes financieros de la consola se desglosan por productos individuales.
La administración de pedidos refleja las compras de OTP de varios productos y muestra listas detalladas de lo que se compró. Desde la administración de pedidos, puedes revocar, cancelar o reembolsar por completo la compra de un usuario.