2011-10-12 33 views
22

Realmente no entiendo esta idea. ¿Debo proporcionar un botón de restauración para el usuario? ¿Qué método debe invocar este método? ¿Qué hará la restauración?¿Qué significa "restablecer compras" en compras en la aplicación?

+3

Básicamente, si se elimina la aplicación, se muda a un nuevo teléfono, lo que sea, tus compras ya no estarán disponibles en ese dispositivo. Restore Purchases le pregunta a iTunes qué compras disponibles en la aplicación ha pagado. Debes proporcionar un botón de restauración, no estoy seguro de si es necesario, pero definitivamente se sugiere. Debe leer los documentos en las compras de la aplicación para tener una idea más clara de qué parte de la transacción de compra/restauración es su responsabilidad, y qué parte es de Apple. –

+1

No soy un experto en iPhone, pero por experiencia en el uso de uno, si tiene compras en la aplicación, este método debe restaurar todo lo que el usuario ha comprado en su aplicación, por supuesto que usará una identificación/cuenta de Apple para la identificación . –

Respuesta

29

Por lo general, restaurar las compras con este código:

[[SKPaymentQueue defaultQueue] restoreCompletedTransactions]; 

Será volver a invocar -paymentQueue:updatedTransactions en el observador (s) para los artículos comprados. Esto es útil para los usuarios que reinstalan la aplicación después de la eliminación o la instalan en un dispositivo diferente.

No se pueden restaurar todos los tipos de compras dentro de la aplicación.

+0

¿No hay algo similar a la recompra de la aplicación? ¿No sugiere que haya "comprado, para que pueda descargar de forma gratuita"? No tuve tal experiencia. – Geri

+1

No, esto tiene que ser implementado por el desarrollador de la aplicación para proporcionar esta experiencia al usuario, pero es bastante simple (una línea de código). – Felix

+0

No puedo detectar ningún método delegado cuando un usuario no ha realizado ninguna compra, y presiono Restaurar. La tienda obtiene el procesamiento, pero no se invoca ningún método en tal caso (solo paymentQueueRestoreCompletedTransactionsFinished :, pero se invoca también en las restauraciones exitosas). ¿Y ahora qué? Voy a configurar una pregunta para esto. – Geri

2

Es como una funcionalidad opcional.

Si no lo va a proporcionar cuando el usuario intente comprar un producto no consumible AppStore restaurará la transacción anterior. Pero su aplicación pensará que esta es una transacción nueva.

Si va a proporcionar un mecanismo de restauración, su administrador de compras verá la transacción restaurada.

Si la aplicación debe distinguir estas opciones, entonces debe proporcionar la funcionalidad para restaurar los productos comprados anteriormente.

+0

¿no es esto lo que debe manejar la tienda de aplicaciones? –

+0

AppStore maneja esto como se dice en mi publicación. Solo hay diferentes tipos de transacciones que la aplicación verá. – Nekto

+0

¿No hay algo similar a la recompra de la aplicación? ¿No sugiere que haya "comprado, para que pueda descargar de forma gratuita"? No tuve tal experiencia. – Geri

6

Recibirá un mensaje de rechazo de Apple solo porque el producto que ha registrado para la compra de un dispositivo puede pertenecer a la categoría Suscripciones no renovables y productos consumibles. Este tipo de productos no se renovarán automáticamente. necesitas tener un botón de restauración explícito en tu aplicación.

para otro tipo de productos, lo restaurará automáticamente.

Lea siguiente texto que limpiar su concepto acerca de esto:

vez que una transacción ha sido procesado y eliminado de la cola, su aplicación normalmente nunca se ve de nuevo. Sin embargo, si su aplicación admite tipos de productos que deben ser restaurables, debe incluir una interfaz que permita a los usuarios restablecer estas compras. Esta interfaz permite a un usuario agregar el producto a otros dispositivos o, si se borró el dispositivo original , restaurar la transacción en el dispositivo original.

Kit de tienda proporciona una funcionalidad incorporada para restaurar las transacciones de productos no consumibles , suscripciones auto-renovables y suscripciones gratuitas . Para restaurar las transacciones, su aplicación llama al método restoreCompletedTransactions de la cola de pagos . La cola de pago envía una solicitud al App Store para restaurar las transacciones. En el retorno , el App Store genera una nueva transacción de restauración para cada transacción que se completó previamente. La transacción de restauración propiedad original Transacción contiene una copia de la transacción original . Su aplicación procesa una transacción de restauración al recuperando la transacción original y usándola para desbloquear el contenido comprado . Después de que Store Kit restaure todas las transacciones anteriores de , notifica a los observadores de cola de pago llamando a su método paymentQueueRestoreCompletedTransactionsFinished :.

Si el usuario intenta comprar un producto restaurable (en lugar de utilizando la interfaz de restauración que implementó), la aplicación recibe una transacción regular para ese artículo, no una transacción de restauración. Sin embargo, al usuario no se le vuelve a cobrar por ese producto. Su aplicación debe tratar estas transacciones de manera idéntica a las de la transacción original. El producto Store Kit no restaura automáticamente las suscripciones no renovables y los productos consumibles . Las suscripciones no renovables deben ser restaurables, sin embargo. Para restaurar estos productos, debe registrar las transacciones en su propio servidor cuando están comprados y proporciona su propio mecanismo para restaurar esas transacciones a los dispositivos del usuario

+0

¿Sabes qué está pasando con el escenario cuando no se necesita restauración como en el siguiente caso: El usuario puede descargar la aplicación en su dispositivo y esa aplicación puede usar múltiples usuarios iniciando sesión con diferentes credenciales. Si el usuario Bill inicia sesión con sus credenciales y compra la aplicación que se compra solo por sus credenciales. Si este último Joe inicia sesión con sus credenciales, debería comprarlo nuevamente.Si Bill inicia sesión en cualquier otro dispositivo, debería poder disfrutar de la aplicación completa. Las características de la aplicación dependen de los datos que el servidor devuelve y no de otros activos. Gracias! – zvjerka24

+0

@ zvjerka24 - sí, de hecho, es lo mismo que quiero en mi aplicación, ¿qué IAP debo usar? –

Cuestiones relacionadas