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 capacidades de suscripción opcionales.
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 el manejo de pagos para las funciones de suscripción existentes. Estas mejoras opcionales agregan compatibilidad para pagar con planes de cuotas y también compatibilidad con compras pendientes para suscripciones prepagadas.
Actualización retrocompatible de la biblioteca de Play Billing
Todas las nuevas APIs de la Biblioteca de Facturación Google Play 7 son opcionales, y los desarrolladores no necesitan implementar ningún cambio de API para realizar actualizaciones.
Para migrar, debes actualizar las referencias de la API y quitar determinadas 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.
Actualizar de PBL 5 a PBL 7
En las siguientes secciones, se describe cómo actualizar de PBL 5 a PBL 7.
Actualiza la Biblioteca de Facturación Google Play
Actualiza la versión de 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 las referencias de la API como se describe en las siguientes secciones.
Cambia las compras de suscripción de un usuario
La Biblioteca de Facturación Play 5 y versiones anteriores usaban ProrationMode
para aplicar cambios en las compras de suscripción de un usuario, por ejemplo, cambios a versiones anteriores o posteriores. Se quitó esta API y se reemplazó por ReplacementMode
.
Cómo controlar los cambios en el precio de las suscripciones
Se quitó la API de launchPriceConfirmationFlow
que ya estaba obsoleta.
Para conocer otras alternativas, consulta la guía de cambios de precios.
Cómo controlar los cambios de API relacionados con las suscripciones
Se quitaron las APIs setOldSkuPurchaseToken
, setReplaceProrationMode
y setReplaceSkusProrationMode
que dejaron de estar disponibles anteriormente.
- Actualiza
setOldSkuPurchaseToken
asetOldPurchaseToken
. - Actualiza
setReplaceProrationMode
asetSubscriptionReplacementMode
. - Actualiza
setReplaceSkusProrationMode
asetSubscriptionReplacementMode
.
Cómo controlar 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.
Cómo controlar las transacciones pendientes
La Biblioteca de Facturación Play ya no crea un ID de pedido para 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 Facturación Play y la guía de administración del ciclo de vida de las compras.
Cómo controlar las APIs de facturación alternativa que se quitaron
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 cambia el nombre de las APIs obsoletas sin cambios de comportamiento.
Cambios opcionales
PBL 7 incluye dos API opcionales nuevas.
Respalda compras pendientes para planes prepagados
Consulta la guía Administra suscripciones y transacciones pendientes.
Suscripciones en cuotas virtuales
Consulta la guía sobre la integración de suscripciones en cuotas.
Actualizar de PBL 6 a PBL 7
En las siguientes secciones, se describe cómo actualizar de PBL 6 a PBL 7.
Actualiza la Biblioteca de Facturación Google Play
Actualiza la versión de 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 las referencias de la API como se describe en las siguientes secciones.
Cómo controlar los cambios de API relacionados con las suscripciones
Se quitaron las APIs setOldSkuPurchaseToken
, setReplaceProrationMode
y setReplaceSkusProrationMode
que dejaron de estar disponibles anteriormente.
- Actualiza
setOldSkuPurchaseToken
asetOldPurchaseToken
. - Actualiza
setReplaceProrationMode
asetSubscriptionReplacementMode
. - Actualiza
setReplaceSkusProrationMode
asetSubscriptionReplacementMode
.
Cómo controlar las APIs de facturación alternativa que se quitaron
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 API opcionales nuevas.
Respalda compras pendientes para planes prepagados
Consulta la guía Administra suscripciones y transacciones pendientes.
Suscripciones en cuotas virtuales
Consulta la guía sobre la integración de suscripciones en cuotas para obtener información sobre cómo integrar estos cambios en la app.