Cómo migrar a la biblioteca de Google Play Billing 7 desde las versiones 5 o 6

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.

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.

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.