2011-11-07 16 views
23

que tiene las siguientes preguntas con respecto a iOS suscripciones de auto-renovableentorno de pruebas iOS auto-renovación de la suscripción

a) ¿suscripciones auto-renovación muy auto-renovación en el entorno de pruebas? El problema parece ser que las suscripciones no se renuevan automáticamente aunque la documentación dice que incluso en el entorno de la zona de pruebas debería ocurrir 6 veces.

b) ¿Necesitamos llamar a restoreCompletedTransactions para obtener un nuevo recibo para la suscripción extendida automáticamente, o es -paymentQueue: updatedTransactions: método llamado automáticamente por iOS? (Supongo que llamó automáticamente al 'lanzamiento' & 'rotación fuera de segundo plano' no está seguro)

c) ¿Cómo manejó la misma suscripción en múltiples dispositivos? Esto puede ser manejado por restoreCompletedTransactions, pero al llamarlo se solicitará a los usuarios la contraseña, por lo que no es muy útil llamarlo cada vez que se inicia la aplicación.

Respuesta

26

a) Las suscripciones de renovación automática son inconsistentes en el entorno de la zona de pruebas. A veces, una suscripción se renovará varias veces (alrededor de 5) antes de finalizar. Otras veces no se renovará en absoluto.

b) (recibos de transacción iOS6 solamente) No es necesario llamar restoreCompletedTransactions para comprobar el estado de una suscripción si usted está almacenando el recibo previo (preferiblemente en su servidor). Simplemente tome cualquier recibo de suscripción que haya almacenado para ese usuario y envíelo a la tienda de aplicaciones para su verificación. Ellos responderán con latest_receipt_info incluyendo el expires_date que puede usar para determinar el estado actual de la suscripción.

c) Debe solicitar usuarios nuevos para "Restaurar compras anteriores" en cuyo punto llama a restoreCompletedTransactions. A continuación, envíe uno de esos recibos (preferiblemente de su servidor) a la tienda de aplicaciones para su verificación para obtener detalles decodificados sobre la transacción. Busque la clave original_transaction_id en la información del recibo. Esto siempre contendrá la identificación de la primera vez que este usuario inició una suscripción con usted. Si compara esta ID con otras en su sistema, debería poder determinar qué dispositivos comparten una cuenta de Apple. (Dado que Apple no le permite ver el ID de Apple de un usuario, esta es la mejor manera de identificar una cuenta que abarca varios dispositivos).

similares a esta pregunta: iOS auto-renew expired at the end of current subscription period

+0

eliminado y agregado como nueva respuesta – AndyRyan

7

Para añadir a esto, parece que la línea en la documentación de Apple está siendo mal interpretado

Renovación ocurre a un ritmo acelerado, y las suscripciones de auto-renovable renovar una un máximo de seis veces por día. Esto le permite probar cómo su aplicación maneja la renovación de una suscripción, un lapso de suscripción y un historial de suscripción que incluye brechas.

Esto parece significar que todas las suscripciones por día solo se renovarán 6 veces. En lugar de que cada suscripción se renueve 6 veces antes de cancelarla. Esto me tiró por un tiempo.

También parece estar en un período de 24 horas. No refrescante en un momento dado. Por ejemplo, hice una suscripción a las 11 a.m. que no se renovó. Hice uno nuevamente a las 2pm que se renovó 6 veces.

Cuestiones relacionadas