¿Qué significa "restaurar compras" en compras In-App?


Realmente no entiendo esta idea. ¿Tengo que proporcionar un botón de restauración para el usuario? ¿Qué método debe invocar este método? ¿Qué hará restaurar?

Author: nevan king, 2011-10-12

3 answers

Normalmente restauras las compras con este código:

[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];

Se reinventará -paymentQueue:updatedTransactions en el observador(s) para los artículos comprados. Esto es útil para los usuarios que reinstalar la aplicación después de la eliminación o instalarlo en un dispositivo diferente.

No todos los tipos de compras In-App se pueden restaurar.

 29
Author: Felix,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-10-12 09:52:21

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

Para otro tipo de productos lo restaurará automáticamente.

Por favor, lea el siguiente texto que aclarará su concepto sobre esto:

Una vez transacción ha sido procesada y eliminada de la cola, su la aplicación normalmente nunca lo vuelve a ver. Sin embargo, si su solicitud admite tipos de productos que deben ser restaurables, debe incluir un interfaz que permite a los usuarios restaurar estas compras. Esta interfaz permite a un usuario añadir el producto a otros dispositivos o, si el original dispositivo fue borrado, para restaurar la transacción en el dispositivo original.

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

Si el usuario intenta comprar un producto restaurable (en lugar de usando la interfaz de restauración que implementó), la aplicación recibe regular transacción para ese elemento, no una transacción de restauración. Sin embargo, el usuario no se cobra de nuevo por ese producto. Su la aplicación debe tratar estas transacciones de manera idéntica a las de la transacción original. Suscripciones no renovables y consumibles los productos no son restaurados automáticamente por Store Kit. No renovables sin embargo, las suscripciones deben ser restaurables. Para restaurar estos productos, debe registrar las transacciones en su propio servidor cuando comprado y proporcionar su propio mecanismo para restablecer esas transacciones a los dispositivos del usuario

 7
Author: Gaurav,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-06-27 07:28:48

Es como funcionalidad opcional.

Si no lo proporcionas 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 proporciona el mecanismo de restauración, su administrador de compras verá la transacción restaurada.

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

 2
Author: Nekto,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-10-12 09:50:53