En este documento, se describe cómo migrar de la biblioteca de Google Play Billing 5 o 6 a la biblioteca de Google Play Billing 7 y cómo realizar la integración con las nuevas funciones opcionales de suscripción.
Para obtener una lista completa de los cambios de la versión 7.0.0, consulta las notas de la versión.
Descripción general
La biblioteca de Google Play Billing 7 mejora la administración de pagos para las funciones de suscripción existentes. Estas mejoras opcionales agregan compatibilidad con el pago con planes de cuotas y con compras pendientes para suscripciones prepagadas.
Actualización retrocompatible de la biblioteca de Play Billing
Todas las APIs nuevas de la Biblioteca de Facturación Google Play 7 son opcionales, y los desarrolladores no necesitan implementar ningún cambio de API para actualizarlas.
Para migrar, debes actualizar las referencias de la API y quitar ciertos APIs de tu app, como se describe en las notas de la versión y más adelante en esta guía de migración.
Actualiza de PBL 5 a PBL 7
En las siguientes secciones, se describe cómo actualizar de la PBL 5 a la PBL 7.
Actualiza la Biblioteca de Facturación Google Play
Actualiza la versión de la dependencia de la Biblioteca de Facturación Play en el archivo build.gradle
de tu app.
dependencies {
def billingVersion = 7.0.0
implementation "com.android.billingclient:billing:$billingVersion"
}
A continuación, actualiza tus referencias de API como se describe en las siguientes secciones.
Cambia las compras de suscripción de un usuario
La biblioteca de Play Billing 5 y versiones anteriores usaba ProrationMode
para aplicar cambios en las compras de suscripción de un usuario, por ejemplo, cambios a versiones anteriores o posteriores. Esta API se quitó y se reemplazó por ReplacementMode
.
Controla los cambios en el precio de las suscripciones
Se quitó la API de launchPriceConfirmationFlow
que había dejado de estar disponible previamente.
Para conocer otras alternativas, consulta la guía de cambios de precios.
Controla los cambios en la API relacionados con las suscripciones
Se quitaron las APIs setOldSkuPurchaseToken
, setReplaceProrationMode
y setReplaceSkusProrationMode
que habían dejado de estar disponibles.
- Actualiza
setOldSkuPurchaseToken
asetOldPurchaseToken
. - Actualiza
setReplaceProrationMode
asetSubscriptionReplacementMode
. - Actualiza
setReplaceSkusProrationMode
asetSubscriptionReplacementMode
.
Controla los errores de la biblioteca de Play Billing
Un nuevo código NETWORK_ERROR
indica problemas con la conexión de red entre el dispositivo del usuario y el sistema de Google Play.
También se actualizaron los códigos SERVICE_TIMEOUT
y SERVICE_UNAVAILABLE
.
Para obtener más información, consulta Cómo administrar códigos de respuesta BillingResult.
Controla las transacciones pendientes
La biblioteca de Play Billing ya no crea un ID de pedido para las compras pendientes.
Para estas compras, el ID de pedido se propaga después de que la compra pasa al estado PURCHASED
. Asegúrate de que tu integración espere un ID de pedido solo después de que se complete una transacción. Puedes seguir usando el token de compra para tus registros.
Si quieres obtener más información para controlar las compras pendientes, consulta la guía de integración de la biblioteca de Play Billing y la guía de administración del ciclo de vida de las compras.
Controla las APIs de facturación alternativa quitadas
Se quitaron BillingClient.Builder.enableAlternativeBilling
, AlternativeBillingListener
y AlternativeChoiceDetails
.
En su lugar, los desarrolladores deben usar BillingClient.Builder.enableUserChoiceBilling()
con UserChoiceBillingListener
y UserChoiceDetails
en la devolución de llamada del objeto de escucha.
Esta actualización consiste en cambiar el nombre de las APIs obsoletas sin cambios de comportamiento.
Cambios opcionales
PBL 7 incluye dos APIs opcionales nuevas.
Compatibilidad con compras pendientes para planes prepagados
Consulta la guía Cómo controlar las suscripciones y las transacciones pendientes.
Suscripciones a cuotas virtuales
Consulta la guía Integración de suscripciones por cuotas.
Actualiza de PBL 6 a PBL 7
En las siguientes secciones, se describe cómo actualizar de la PBL 6 a la PBL 7.
Actualiza la Biblioteca de Facturación Google Play
Actualiza la versión de la dependencia de la Biblioteca de Facturación Play en el archivo build.gradle
de tu app.
dependencies {
def billingVersion = 7.0.0
implementation "com.android.billingclient:billing:$billingVersion"
}
A continuación, actualiza tus referencias de API como se describe en las siguientes secciones.
Controla los cambios en la API relacionados con las suscripciones
Se quitaron las APIs setOldSkuPurchaseToken
, setReplaceProrationMode
y setReplaceSkusProrationMode
que habían dejado de estar disponibles.
- Actualiza
setOldSkuPurchaseToken
asetOldPurchaseToken
. - Actualiza
setReplaceProrationMode
asetSubscriptionReplacementMode
. - Actualiza
setReplaceSkusProrationMode
asetSubscriptionReplacementMode
.
Controla las APIs de facturación alternativa quitadas
Se quitaron BillingClient.Builder.enableAlternativeBilling
, AlternativeBillingListener
y AlternativeChoiceDetails
.
En su lugar, los desarrolladores deben usar BillingClient.Builder.enableUserChoiceBilling()
con UserChoiceBillingListener
y UserChoiceDetails
en la devolución de llamada del objeto de escucha.
Cambios opcionales
PBL 7 incluye dos APIs opcionales nuevas.
Compatibilidad con compras pendientes para planes prepagados
Consulta la guía Cómo controlar las suscripciones y las transacciones pendientes.
Suscripciones a cuotas virtuales
Consulta la guía Integración de suscripciones por cuotas para obtener información sobre cómo integrar estos cambios en tu app.