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 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.

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.

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.