Android Dev Summit, October 23-24: two days of technical content, directly from the Android team. Sign-up for livestream updates.

Prueba la Facturación Google Play

Una vez implementada la Facturación Google Play, puedes hacer compras de prueba de tus productos integrados en la aplicación. Este documento incluye las siguientes secciones:

Prepara la prueba

A fin de preparar la prueba de tu implementación de la Facturación Google Play, realiza las siguientes tareas:

  1. Publica la app en un segmento de prueba cerrado o abierto en Google Play. Después de publicar una app en un segmento de prueba, puede tardar algunas horas en estar disponible para los verificadores.
  2. Asegúrate de que cada verificador participe en la prueba de tu app. En la URL para participar de tu prueba, los verificadores obtendrán una explicación de las tareas que tendrán que realizar, además de un vínculo para aceptar.

Puedes realizar la prueba en cualquier dispositivo que ejecute Android 1.6 o versiones posteriores. La versión más reciente de la app de Google Play debe estar instalada en el dispositivo. Si deseas obtener información general sobre cómo configurar un dispositivo para desarrollar apps de Android, consulta Cómo usar dispositivos de hardware.

Prueba la app de Facturación Google Play de manera aislada

Haz pruebas con respuestas estáticas

Esta opción ofrece una combinación de ID de productos reservados y respuestas estáticas asociadas que puedes usar para probar tu implementación de la Facturación Google Play. Estas respuestas te permiten verificar si tu app controla correctamente las principales respuestas de Google Play. Puedes probar tu implementación de la Facturación Google Play mediante estas respuestas estáticas antes de involucrar a los verificadores, incluso si todavía no se publicó la app.

Para probar tu implementación con respuestas estáticas, debes realizar una solicitud de la Facturación Google Play mediante un elemento especial que tenga un ID de producto reservado. Cada ID de producto reservado muestra una respuesta estática específica de Google Play. No se transfiere dinero cuando haces solicitudes de la Facturación Google Play con los ID de productos reservados. Además, no puedes especificar la forma de pago cuando haces una solicitud de facturación con un ID de producto reservado.

Nota No se pueden usar las respuestas estáticas para probar suscripciones.

No es necesario que enumeres los productos reservados en la lista de productos de tu app. Google Play ya reconoce los ID de productos reservados. Tampoco necesitas subir tu app a Google Play Console para realizar pruebas de respuestas estáticas con ID de productos reservados. Puedes simplemente instalar tu aplicación en un dispositivo, acceder a él y realizar solicitudes de facturación mediante los ID de productos reservados.

Nota: Antes, se podía probar el funcionamiento de una app subiendo una versión "en borrador" no publicada. Esta función ya no está disponible. Sin embargo, puedes probar tu app con respuestas estáticas incluso antes de subirla a Google Play Store. Para obtener más información, consulta Cómo realizar pruebas con respuestas estáticas.

Hay tres ID de productos reservados para probar respuestas estáticas de la Facturación Google Play:

  • android.test.purchased

    Cuando realizas una solicitud de la Facturación Google Play con este ID de producto, Google Play responde como si compraras correctamente un artículo. En la respuesta, se incluye una string JSON, que contiene información de compra falsa (por ejemplo, un ID de pedido apócrifo).

  • android.test.canceled

    Cuando realizas una solicitud de la Facturación Google Play con este ID de producto, Google Play responde como si se hubiera cancelado la compra. Esto puede suceder cuando se encuentra un error en el proceso de pedido, como una tarjeta de crédito no válida, o cuando cancelas el pedido de un usuario antes de que se haga el cobro.

  • android.test.item_unavailable

    Cuando realizas una solicitud de la Facturación Google Play con este ID de producto, Google Play responde como si el artículo comprado no figurara en la lista de productos de tu aplicación.

Para realizar una solicitud de la Facturación Google Play con un ID de producto reservado, crea una solicitud REQUEST_PURCHASE normal, pero en lugar de usar un ID de producto real de la lista de productos de tu aplicación, usa uno de los ID de productos reservados.

Para probar tu aplicación usando ID de productos reservados, sigue estos pasos:

  1. Modifica la app para que use uno de los tres ID de productos reservados durante el flujo de compra. Si deseas obtener más información sobre el uso de un ID de producto para hacer una compra, consulta Cómo habilitar la compra de un producto integrado en la aplicación.
  2. Instala tu aplicación en un dispositivo que ejecute Android.

    No puedes usar el emulador para probar la Facturación Google Play. En cambio, debes instalar tu aplicación en un dispositivo.

    Para obtener más información sobre cómo instalar una aplicación en un dispositivo, consulta Ejecución en un dispositivo.

  3. Accede al dispositivo con tu cuenta de desarrollador.

    No necesitas usar una cuenta de prueba si solo harás pruebas con ID de productos reservados.

  4. Verifica que el dispositivo use una versión compatible de las apps de Google Play o MyApps.

    Si tu dispositivo ejecuta Android 3.0, la Facturación Google Play requiere la versión 5.0.12 (o posterior) de la app de MyApps. Si ejecuta cualquier otra versión de Android, la Facturación Google Play requerirá la versión 2.3.4 (o posterior) de la app de Google Play. Para verificar la versión de la app de Google Play, inicia la app, abre el menú Configuración y desplázate hacia abajo a fin de ver la información de la versión.

  5. Ejecuta tu aplicación y haz una compra con un ID de producto reservado. El código del objeto onPurchasesUpdated() debería controlar la respuesta estática correctamente. Para obtener información sobre cómo implementar onPurchasesUpdated(), consulta Cómo habilitar la compra de un producto integrado en la aplicación.
  6. Vuelve a probar con los otros ID de productos reservados.

Nota: Cuando haces solicitudes de la Facturación Google Play con los ID de productos reservados, se anula el sistema de producción habitual de Google Play. Cuando envías una solicitud de la Facturación Google Play para un ID de producto reservado, la calidad del servicio no será comparable con el entorno de producción.

Prueba el flujo de compra completo

Una vez que hayas terminado tus pruebas de respuestas estáticas y comprobado que la verificación de la firma funciona en tu aplicación, podrás probar tu implementación de la Facturación Google Play mediante compras directas desde la aplicación reales. Realizar pruebas de este tipo de compras permite probar la experiencia de la Facturación Google Play de extremo a extremo, incluidas las compras reales de Google Play y el flujo de confirmación de la compra real que los usuarios experimentarán en tu aplicación.

Nota: Para hacer una prueba de extremo a extremo de tu app, publícala en un segmento de prueba cerrado. Esto te permite publicar la app en Google Play Store, pero limita su disponibilidad solo a los verificadores que designes.

Para probar tu implementación de la Facturación Google Play con compras directas desde la aplicación reales, debes usar una cuenta de prueba. De manera predeterminada, la única cuenta de prueba registrada es la que está asociada con tu cuenta de desarrollador. Puedes usar Google Play Console para registrar cuentas de prueba adicionales. Si es la primera vez que configuras cuentas de prueba, consulta cómo configurarlas.

Con una cuenta de prueba, puedes comprar un artículo en tu lista de productos, solo si el artículo está publicado.

Para probar tu implementación de la Facturación Google Play con compras reales, sigue estos pasos:

  1. Sube tu aplicación a un segmento de prueba cerrada en Google Play Console.

    Nota: Después de subir la app por primera vez, los verificadores de licencia pueden hacer compras desde versiones en desarrollo de tu app sin tener que subirla a Google Play Console. De esta manera, puedes usar compilaciones firmadas de depuración y hacer cambios sin tener que subir una versión nueva cada vez.

    Nota: Antes, se podía probar el funcionamiento de una app subiendo una versión "en borrador" no publicada. Esta función ya no está disponible. En su lugar, debes publicar tu app en el segmento de prueba cerrada o abierta. Para obtener más información, consulta Ya no se admiten apps de borrador.

  2. Crea tus productos integrados en la aplicación en Google Play Console. Para obtener más información, consulta Cómo crear un producto único y Cómo crear una suscripción.
  3. Instala tu aplicación en un dispositivo que ejecute Android. No puedes usar un emulador para probar la Facturación Google Play. Para obtener más información sobre cómo instalar una app en un dispositivo, consulta Cómo ejecutar tu app en un dispositivo.
  4. Verifica que tu dispositivo tenga instalada una versión compatible de Google Play o MyApps. Si tu dispositivo ejecuta Android 3.0, la Facturación Google Play requiere la versión 5.0.12 (o posterior) de la aplicación de MyApps. Si ejecuta cualquier otra versión de Android, la Facturación Google Play requerirá la versión 2.3.4 (o posterior) de la aplicación de Google Play. Para obtener más información sobre cómo verificar la versión de la aplicación de Google Play, consulta Cómo actualizar Google Play.
  5. Haz compras directas desde la aplicación en tu app.

Nota: La única manera de cambiar la cuenta principal en un dispositivo es restablecer la configuración de fábrica y acceder con tu cuenta principal primero.

Prueba la app de la Facturación Google Play con usuarios

Configura cuentas de prueba

Para configurar una cuenta de verificador, haz lo siguiente:

  1. Usa Google Play Console para subir y publicar productos integrados en la aplicación que quieras que los verificadores puedan comprar. Ten en cuenta que puedes subir y publicar tus artículos integrados en la aplicación antes de publicar el propio APK.
  2. Usa Play Console para crear cuentas de verificador con licencia:
    1. Ve a Configuración > Detalles de la cuenta.
    2. En la sección de prueba de licencias, agrega las direcciones de correo electrónico de los verificadores en el campo Cuentas de Gmail con acceso de prueba.
    3. Guarda los cambios. Los verificadores podrán comenzar a comprar tus productos integrados en la aplicación en 15 minutos.

Nota: Las cuentas de prueba deben estar en el dispositivo Android del verificador. Si el dispositivo tiene más de una cuenta, la compra se realizará con la que descargó la app. Si no se descargó la app desde ninguna de las cuentas, la compra se realizará con la primera cuenta. Los usuarios pueden expandir el diálogo de compra para confirmar la cuenta que realiza una compra.

Indícales a los verificadores que realicen compras de prueba

Una vez que estén configuradas las cuentas de prueba, podrás indicarles a los usuarios que realicen compras de prueba. A continuación, encontrarás algunos detalles sobre este proceso:

  • Los usuarios usarán el mismo flujo de compra de apps que los usuarios regulares.
  • Los usuarios deben realizar al menos, dos compras: una con la forma de pago "siempre aprobada" y otra "siempre rechazada". Estas formas de pago de prueba te permiten verificar si tu app reacciona correctamente cuando se aprueban o rechazan los pagos. En la Figura 1, se muestran estas formas de pago de prueba como aparecen en el flujo de compra:
    Figura 1: Opciones de instrumento de prueba de forma de pago para un usuario de prueba con licencia
    Estas son las dos únicas formas de pago disponibles para los verificadores con licencia. Cuando se usan estas formas de pago, el flujo de compra muestra el resultado de inmediato.
  • No se calculan los impuestos en las compras de prueba.
  • A los verificadores con licencia no se les cobrará por su compra.
  • Para indicar una compra de prueba, Google Play muestra una notificación en el centro del diálogo de compra.

Nota: Si quieres realizar varias compras de prueba para el mismo producto integrado en la aplicación, marca el artículo como consumido después de cada compra. Para hacerlo, llama a consumeAsync().

Realiza pruebas con cuentas reales

Mientras preparas el lanzamiento de una app que usa la Facturación Google Play, puedes usar las opciones de lanzamiento cerrado o abierto de Google Play para hacer una prueba de validación y carga en tu implementación antes de distribuir la app a todos tus usuarios.

Con los grupos de prueba cerrados o abiertos, los usuarios pueden instalar tu app desde Google Play y probar los productos integrados en la aplicación. Los usuarios pueden realizar compras reales que generen cargos verdaderos en sus cuentas mediante cualquiera de las formas de pago habituales en Google Play.

Nota: Si incluyes cuentas con licencia de prueba en tus grupos de distribución de prueba cerrados y abiertos, esos usuarios solo podrán realizar compras de prueba.

Prueba funciones únicas específicas de productos

Prueba promociones integradas en la aplicación

Si tu app admite promociones integradas en la aplicación, prueba los siguientes casos prácticos.

El usuario canjea el código promocional en la app

Si el usuario canjea un código promocional dentro del flujo de compra de la app, como se describe en Cómo hacer solicitudes de la Facturación Google Play, el sistema invoca al método onActivityResult() de tu actividad para administrar la compra. Verifica que onActivityResult() gestione la compra de manera correcta, independientemente de que el usuario pague con dinero o con un código promocional.

El usuario canjea el código promocional en Google Play Store

Si el usuario canjea un código promocional en Play Store, hay varios flujos de trabajo posibles. Verifica cada uno de ellos.

La app no está instalada

Si el usuario canjea un código promocional para una app que no está instalada en el dispositivo, Play Store le pedirá que la instale. (Si la app está instalada, pero no actualizada, Play Store le pedirá al usuario que la actualice). Prueba la siguiente secuencia en un dispositivo que no tenga tu app instalada.

  1. El usuario canjea un código promocional para la app en Play Store. Play Store le pide al usuario que instale tu app.
  2. El usuario instala y, luego, inicia tu app. Verifica que, al iniciarse, la app llame a getPurchases() y detecte correctamente la compra que hizo el usuario con el código promocional.
La app está instalada, pero no se está ejecutando

Si el usuario canjea un código promocional para una app que está instalada en el dispositivo, Play Store le pedirá que la abra. Prueba la siguiente secuencia en un dispositivo que tenga tu app instalada, pero que no esté en ejecución:

  1. El usuario canjea un código promocional para la app en Play Store. Play Store le pide al usuario que cambie a tu app.
  2. El usuario inicia tu app. Verifica que, al iniciarse, la app llame a getPurchases() y detecte correctamente la compra que hizo el usuario con el código promocional.
La app está instalada y se está ejecutando

Si el usuario canjea un código promocional para una app que se está ejecutando en el dispositivo, Play Store notifica a la app mediante un intent PURCHASES_UPDATED. Prueba la siguiente secuencia:

  1. El usuario inicia la aplicación. Verifica que la app se haya registrado de manera correcta para recibir el intent PURCHASES_UPDATED.
  2. El usuario inicia la app de Play Store, ya sea de forma manual o mediante una URL generada que incluye un código promocional, y canjea el código promocional. Play Store activa un intent PURCHASES_UPDATED. Verifica que la devolución de llamada de BroadcastReceiver.onReceive() de tu app se active para controlar el intent.
  3. El método onReceive() debería responder al intent llamando a getPurchases(). Verifica que tu app llame a este método y que detecte correctamente la compra que hizo el usuario con el código promocional.
  4. El usuario activa nuevamente tu app. Verifica que el usuario haya comprado el artículo.

Prueba funciones específicas para suscripciones

Los flujos de compra de suscripciones y productos únicos son similares, pero las suscripciones tienen situaciones adicionales, como las renovaciones de suscripción correctas o rechazadas. A fin de ayudarte a probar tu aplicación para ambas situaciones, puedes usar la forma de pago "Instrumento de prueba, siempre aprueba" y la forma de pago "Instrumento de prueba, siempre rechaza". Usa estos instrumentos de pago para probar diferentes escenarios de una situación de suscripción correcta.

Renovaciones de suscripción de prueba

Para simplificar el proceso de prueba, las suscripciones de prueba se renuevan más rápido de lo normal. En la siguiente tabla, se indican los tiempos de renovación de prueba para las suscripciones de varias duraciones.

Nota: Estos tiempos son aproximados; podrías ver algunas pequeñas variaciones en el tiempo exacto de un evento. Para compensar la variación, llama a la API a fin de ver el estado actual después de cada fecha de vencimiento de suscripción.

Período de suscripción de producciónRenovación de suscripción de prueba
1 semana5 minutos
1 mes5 minutos
3 meses10 minutos
6 meses15 minutos
1 año30 minutos

Nota: Las suscripciones de prueba se renuevan un máximo de 6 veces.

Las funciones basadas en el tiempo disponibles para las suscripciones, como las pruebas gratuitas, también se acortan para la prueba. En la siguiente tabla, se identifican los períodos de tiempo de prueba asociados con las funciones de suscripción basadas en el tiempo.

FunciónPeríodo de prueba
Prueba gratuita3 minutos
Período con precio de lanzamientoIgual que el período de prueba de suscripción
Período de gracia (3 y 7 días) 5 minutos
Suspensión de la cuenta10 minutos
Pausa (1 mes)5 minutos
Pausa (2 meses)10 minutos
Pausa (3 meses)15 minutos

Situaciones de prueba de tarifa de renovación

Haz clic en Mostrar/Ocultar para ver varias situaciones de prueba que muestran el intervalo de tarifas de renovación de prueba.

Cancela una compra de prueba completada

Google Play acumula compras de prueba completadas para cada usuario, pero no las transfiere al procesamiento financiero.

Las compras de prueba no se cancelan automáticamente. Por lo tanto, debes cancelar una compra de prueba de manera manual para continuar con la prueba. Para ello, abre la página de la app en Play Store. Si la compra de prueba que quieres cancelar es una suscripción, también puedes usar el método cancel() de la API de Purchases.subscriptions.

Importante: Los métodos refund() y revoke() de la API de Purchases.subscriptions no admiten compras de prueba.

Próximos pasos

Cuando hayas terminado de probar tu implementación de la Facturación Google Play, estarás listo para publicar tu aplicación en Google Play. Puedes seguir los pasos normales para la preparación, la firma y la publicación en Google Play.