2011-04-06 23 views
7

Estoy implementando suscripciones automáticas renovables en mi aplicación y me pregunto si existe una forma de simular cuándo se agota el período de suscripción y se crea una nueva transacción.Cómo probar suscripciones renovables (App Store)

La aplicación está conectada a un servicio en línea que siempre realiza un seguimiento de los usuarios y si tienen "acceso premium" o no. Como lo entiendo, hay dos formas de detectar cuándo se realiza una transacción.

  1. La aplicación se inicia y updatedTransactions: se llama en mi PaymentObserver como SKPaymentTransactionStateRestored. Luego, desde la aplicación, envío esta información al servidor que actualiza la suscripción.

  2. Reviso regularmente la API de la tienda de aplicaciones y comparo el "último recibo" con el de mi base de datos. Si hay uno nuevo, se ha realizado una transacción y extiendo la suscripción.

De cualquier manera, tengo que simular que el período de suscripción se agota y la App Store realiza una nueva transacción. ¿Cómo hago esto?

Respuesta

2

¿Estás seguro de que necesitas simular esto? Creo que encontrarás que en la caja de arena, las duraciones de las suscripciones son muy cortas, de modo que todo lo que tienes que hacer es tomar una taza de café o algo así y expirarán y luego podrás probar qué sucede.

la cantidad de tiempo varía según la duración de la suscripción, pero creo que la suscripción de 7 días caduca en unos pocos minutos en el entorno limitado.

+0

¡Ah, no lo había notado, gracias! – oskob

+0

a la derecha, una suscripción de 7 días por última * 3 minutos * en el entorno de la caja de arena. – yonel

+2

Una advertencia: las suscripciones solo se renovarán automáticamente 5 veces. Después de eso, si compras no volverán a renovarse automáticamente. ¡Tienes que crear un nuevo usuario de prueba para hacerlo! – Jarson

3

El entorno de la zona de pruebas simula automáticamente la renovación de la suscripción. Suscripciones de 1 año se renovarán cada 1 hora. Las suscripciones de 1 mes parecen renovarse cada 5-6 minutos.

Cada suscripción parece renovar 5x. En ese punto, la suscripción se cancela. Cada renovación activa una transacción restaurada enviada a la aplicación cliente.

Todo esto se basa en mi experiencia. No puedo encontrar ninguna documentación oficial para él de Apple.

+2

Todo esto está documentado aquí (se requiere el inicio de sesión del desarrollador): http://itunesconnect.apple.com/docs/iTunesConnect_DeveloperGuide.pdf – TomSwift

0

En realidad, la renovación no parece funcionar en Sandbox. Parece que siempre estás en el proceso de compra. Se supone que la renovación automática se "sombreará", ya que AppStore la redireccionará automáticamente hasta que el usuario la "cancele" explícitamente. En el Sandbox, cada 5 minutos tienes que volver a comprar.

Finalmente, hay un error en "Ya compraste esa aplicación integrada", ya que se supone que envía una transacción adecuada, pero solo envía un código de error.

0

En realidad, experimento la renovación en el Sandbox como muy impredecible. A veces funciona como se describe, a veces funciona de manera muy diferente, a veces no funciona en absoluto (diciendo que como desarrollador con una aplicación en la tienda que realmente usa las compras en la aplicación con suscripciones autorrenovables, al parecer con éxito en la producción). Por el momento tengo una suscripción mensual en la caja de arena que tiene una fecha de compra original de 27 horas y una fecha de vencimiento de tres horas. Realmente me pregunto cómo se supone que debes probar esto si las respuestas son absurdas.

Cuestiones relacionadas