Prueba de 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 tiene cuatro secciones:

Cómo preparar 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 de participación de tu prueba, tus 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 Android con 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.

Cómo probar la app de Facturación Google Play de manera aislada

Cómo realizar 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 maneja 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 Facturación Google Play mediante un elemento especial que tenga un ID del producto reservado. Cada ID del 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 del producto reservado.

Nota Las respuestas estáticas no se pueden usar 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 Play Console para realizar pruebas de respuestas estáticas con ID de productos reservados. Puedes simplemente instalar tu app 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 del 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 falso).

  • android.test.canceled

    Cuando haces una solicitud de la Facturación Google Play con este ID del 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 haces una solicitud de la Facturación Google Play con este ID del producto, Google Play responde como si el artículo comprado no figurara en la lista de productos de tu app.

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

Para probar la app 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 quieres 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 la app en un dispositivo con Android.

    No puedes usar el emulador para probar la Facturación Google Play. Debes instalar tu app en un dispositivo para probar la Facturación Google Play.

    Para obtener más información sobre cómo instalar una app 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 usa Android 3.0, la Facturación Google Play requiere la versión 5.0.12 (o versiones posteriores) de la app de MyApps. Si tu dispositivo usa cualquier otra versión de Android, la Facturación Google Play requiere la versión 2.3.4 (o versiones posteriores) 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 para ver la información de la versión.

  5. Ejecuta tu app y haz una compra usando un ID del producto reservado. El código en tu onPurchasesUpdated() debería manejar la respuesta estática correctamente. Para obtener más información sobre la implementación de 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 del producto reservado, la calidad del servicio no será comparable con el entorno de producción.

Cómo probar 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 funcione en tu app, puedes probar tu implementación de la Facturación Google Play haciendo compras directas desde la aplicación reales. Cuando realizas pruebas de compras directas desde la aplicación reales, puedes 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 app.

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 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 configurar cuentas de prueba.

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 app a un segmento de prueba cerrado en Play Console.

    Nota: Después de la carga inicial de la app, los verificadores de licencias pueden hacer compras desde las versiones de desarrollo de tu app sin tener que hacer cargas en Play Console. Esto te permite usar compilaciones firmadas de depuración y hacer cambios sin tener que subir una versión nueva cada vez.

    Nota: Anteriormente, 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 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 app en un dispositivo con 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 las apps de Google Play o MyApps. Si tu dispositivo usa Android 3.0, la Facturación Google Play requiere la versión 5.0.12 (o versiones posteriores) de la app de MyApps. Si tu dispositivo usa cualquier otra versión de Android, la Facturación Google Play requiere la versión 2.3.4 (o versiones posteriores) de la app de Google Play. Para obtener más información sobre cómo verificar la versión de la app 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.

Cómo probar la app de la Facturación Google Play con usuarios

Cómo configurar cuentas de prueba

Para configurar una cuenta de verificador, haz lo siguiente:

  1. Usa 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 tu verificador en el campo Cuentas de Gmail con acceso de prueba.
    3. Guarda los cambios. Los verificadores podrán comenzar a hacer compras de 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 cuenta que descargó la app. Si no se descargó la app desde ninguna de las cuentas, la compra se realiza con la primera cuenta. Los usuarios pueden expandir el diálogo de compra para confirmar la cuenta que realiza una compra.

Cómo indicarles a los verificadores que realicen compras de prueba

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

  • 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 formas de pago 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 inmediatamente.
  • Para las compras de prueba, no se calculan los impuestos.
  • 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().

Cómo realizar 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 tus 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.

Cómo probar funciones únicas específicas de productos

Cómo probar 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 en el flujo de compra de la app, como se describe en Cómo realizar una solicitud de facturación integrada, el sistema invoca el método onActivityResult() de tu actividad para manejar la compra. Verifica que onActivityResult() maneje la compra correctamente, 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 estos flujos de trabajo.

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 pide al usuario que instale la app. (Si la app está instalada, pero no actualizada, Play Store le pide al usuario que actualice la app.) 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 el usuario hizo con el código promocional.
La app está instalada, pero no se encuentra en ejecución

Si el usuario canjea un código promocional para una app que está instalada en el dispositivo, Play Store le pide al usuario que cambie a la app. 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 el usuario hizo con el código promocional.
La app está instalada y se encuentra en ejecución

Si el usuario canjea un código promocional para una app que está en ejecución en el dispositivo actualmente, Play Store le 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 correctamente para recibir el intent PURCHASES_UPDATED.
  2. El usuario inicia la app de Play Store, ya sea manualmente o mediante una URL generada que incluye un código promocional, y canjea el código promocional para la app. Play Store activa un intent PURCHASES_UPDATED. Verifica que la devolución de llamada de BroadcastReceiver.onReceive() de tu app se active para manejar el intent.
  3. Tu 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 el usuario realizó con el código promocional.
  4. El usuario activa nuevamente tu app. Verifica que el usuario haya comprado el artículo.

Cómo probar 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. Para ayudarte a probar tu app 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 situaciones distintas de una situación de suscripción correcta.

Renovaciones de suscripción de prueba

Las suscripciones de prueba se renuevan más rápido de lo normal para ayudar en la prueba. 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

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.

Cómo cancelar 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 eso, abre la página de la app en la 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 Purchases.subscriptions.

Importante: Los métodos refund() y revoke() de la API Purchases.subscriptions no admiten las 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 app en Google Play. Puedes seguir los pasos habituales para preparar, firmar y publicar en Google Play.