React-native-iap: No hay devolución de llamada para la transacción con el estado comprado.

Creado en 10 abr. 2019  ·  2Comentarios  ·  Fuente: dooboolab/react-native-iap

Versión de react-native-iap

2.4.7

Versión de react-native

0.57.8

Plataformas a las que se enfrentó el error (¿IOS o Android o ambos?)

iOS

Comportamiento real

es mi primera prueba IAP y necesito ayuda.

Cuando compro el producto que todavía compré (Sandbox), aparece "Ya ha comprado este producto. El producto se restaurará". Pero no recibo ninguna devolución de llamada. ¿Cómo puedo manejar este proceso de restauración para poder guardar el estado comprado y el Usuario puede usar el Producto?
¿O no funciona de esta manera?

Mi código

   const purchase = await RNIap.buyProduct(identifier);
    this.setState({
      receipt: purchase.transactionReceipt
    });
this._saveProductIsBuyed()

Entorno probado (¿Emulador? ¿Dispositivo real?)

Dispositivo real (iPad)

Gracias por la ayuda

❓ question 📱 iOS

Comentario más útil

Hola @hyochan
gracias por responder tan rápido.
No creo que lo haya entendido mal. Creo que no lo expliqué exactamente:

Caso de uso:
el usuario puede comprar un producto (compra única, por ejemplo, 'Premium')

  1. el usuario compra este producto.
  2. el usuario instala la aplicación en otro dispositivo (mismo ID de Apple)

Ahora, lo he visto en otras aplicaciones:
El producto no se muestra como comprado (porque no quiero pedir productos ya comprados en App-Start, como dije, lo he visto en otras aplicaciones)

  1. el usuario hace clic en "comprar producto"
  2. Se visualiza la alerta "ya comprada" y se muestra el mensaje de que la compra será restaurada.
    Pero nada pasa.

Para esto necesito una devolución de que el Producto está restaurado pero no obtengo nada y el próximo console.log no se muestra.

const purchase = await RNIap.buyProduct(productIdentifier);
console.log('TEST', purchase); <= will not be shown

Todos 2 comentarios

@Finneah No está entendiendo correctamente el iap feature . Restore purchase es para obtener productos que ya compró en otro dispositivo cuando reinstaló la aplicación. Para re-buy el artículo, debe crear un producto como consumable .

Hola @hyochan
gracias por responder tan rápido.
No creo que lo haya entendido mal. Creo que no lo expliqué exactamente:

Caso de uso:
el usuario puede comprar un producto (compra única, por ejemplo, 'Premium')

  1. el usuario compra este producto.
  2. el usuario instala la aplicación en otro dispositivo (mismo ID de Apple)

Ahora, lo he visto en otras aplicaciones:
El producto no se muestra como comprado (porque no quiero pedir productos ya comprados en App-Start, como dije, lo he visto en otras aplicaciones)

  1. el usuario hace clic en "comprar producto"
  2. Se visualiza la alerta "ya comprada" y se muestra el mensaje de que la compra será restaurada.
    Pero nada pasa.

Para esto necesito una devolución de que el Producto está restaurado pero no obtengo nada y el próximo console.log no se muestra.

const purchase = await RNIap.buyProduct(productIdentifier);
console.log('TEST', purchase); <= will not be shown
¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

jvandenaardweg picture jvandenaardweg  ·  4Comentarios

Symyon picture Symyon  ·  5Comentarios

sanilcgs picture sanilcgs  ·  3Comentarios

ramondelmondo picture ramondelmondo  ·  4Comentarios

Gribadze picture Gribadze  ·  4Comentarios