Version: 2019.4
Iniciando Compras
Manejando fallas en las compras

Procesando Compras

El método ProcessPurchase de su listener de la tienda se llama cuando una compra finaliza. Su aplicación debería cumplir con lo que usuario ha comprado, por ejemplo, desbloqueando contenido local o el envió de recibos de compra a un servidor para actualizar un modelo de juego del lado del servidor.

Un resultado se devuelve para indicar si su aplicación ha finalizado procesando la compra:

Resultado Descripción
PurchaseProcessingResult.Complete La aplicación ha finalizado de procesar la compra y no debería ser informada de esta nuevamente.
PurchaseProcessingResult.Pending La aplicación todavía está procesando la compra y ProcessPurchase será llamado nuevamente la siguiente vez que la aplicación inicie, al menos del que el método ConfirmPendingPurchase de IStoreController sea llamado.

Tenga en cuenta que ProcessPurchase puede ser llamado en cualquier punto siguiendo una inicialización con éxito. Si su aplicación crashea durante la ejecución del manejador ProcessPurchase entonces será invocado nuevamente la siguiente vez que el Unity IAP inicializa, por lo que usted puede desear implementar su propia de-duplicación adicional.

Confiabilidad

Unity IAP requiere conocimiento explícito de compras para asegurar que las compras terminen en un evento donde haya problemas de red o la aplicación falle. Cualquier compra que se complete mientras la aplicación no está en linea será enviada a la aplicación en la siguiente inicialización.

Completando las compras inmediatamente

Cuando PurchaseProcessingResult.Complete se devuelva, Unity IAP termina la transacción inmediatamente (como se muestra en el diagrama de abajo).

Usted no debe devolver PurchaseProcessingResult.Complete si usted está vendiendo productos consumibles y lo está completando desde un servidor (por ejemplo, proporcionar una divisa en un juego en linea).

Si usted hace esto, hay un riesgo de que los productos consumibles se pierdan si su aplicación se des-instala antes de que la nube guarde.

Completando inmediatamente
Completando inmediatamente

Guardando compras a la nube

Si usted está guardando compras consumibles a la nube, usted debe devolver PurchaseProcessingResult.Pending y llamar ConfirmPendingPurchase sólo cuando haya persistido con éxito la compra.

Cuando devuelva Pending, Unity IAP mantiene las transacciones abiertas en la tienda pertinente hasta que sean confirmadas como procesadas, asegurando que las compras consumibles no se pierdan incluso si el usuario re-instala su aplicación mientras un consumible está en este estado.

Compras pendientes
Compras pendientes
Iniciando Compras
Manejando fallas en las compras