React-native-iap: Sem retorno de chamada para transação com estado adquirido.

Criado em 10 abr. 2019  ·  2Comentários  ·  Fonte: dooboolab/react-native-iap

Versão do react-native-iap

2.4.7

Versão do react-native

0,57,8

Plataformas em que você enfrentou o erro (IOS ou Android ou ambos?)

iOS

Comportamento real

é meu primeiro teste de IAP e preciso de ajuda.

Quando adquiro o produto que ainda comprei (Sandbox), recebo "Você já comprou este produto. O produto será restaurado." Mas não recebo nenhuma chamada ou retorno. Como posso lidar com esse processo de restauração para salvar o estado de compra e o usuário pode usar o produto?
Ou não funciona assim?

Meu código

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

Ambiente testado (emulador? Dispositivo real?)

Dispositivo real (iPad)

Obrigado pela ajuda

❓ question 📱 iOS

Comentários muito úteis

Ola @hyochan
obrigado por responder tão rápido.
Eu não acho que entendi mal. Acho que não expliquei exatamente:

Caso de uso:
o usuário pode comprar um produto (compra única, por exemplo 'Premium')

  1. o usuário compra este produto.
  2. o usuário instala o aplicativo em outro dispositivo (mesmo ID Apple)

Agora, eu vi em outros aplicativos:
O produto não é mostrado como comprado (porque não quero pedir produtos já comprados no App-Start, como eu disse, já vi em outros aplicativos)

  1. o usuário clica em "comprar produto"
  2. O alerta "já comprado" é visualizado e é exibida a Mensagem de que a compra será restaurada
    Mas nada acontece.

Para isso, preciso de uma devolução de que o Produto foi restaurado, mas não recebo nada e o próximo console.log não é mostrado.

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

Todos 2 comentários

@Finneah Você não está entendendo iap feature corretamente. Restore purchase é para obter produtos que você já comprou em outro dispositivo quando reinstalou o aplicativo. Para re-buy o item, você deve criar o produto como consumable .

Ola @hyochan
obrigado por responder tão rápido.
Eu não acho que entendi mal. Acho que não expliquei exatamente:

Caso de uso:
o usuário pode comprar um produto (compra única, por exemplo 'Premium')

  1. o usuário compra este produto.
  2. o usuário instala o aplicativo em outro dispositivo (mesmo ID Apple)

Agora, eu vi em outros aplicativos:
O produto não é mostrado como comprado (porque não quero pedir produtos já comprados no App-Start, como eu disse, já vi em outros aplicativos)

  1. o usuário clica em "comprar produto"
  2. O alerta "já comprado" é visualizado e é exibida a Mensagem de que a compra será restaurada
    Mas nada acontece.

Para isso, preciso de uma devolução de que o Produto foi restaurado, mas não recebo nada e o próximo console.log não é mostrado.

const purchase = await RNIap.buyProduct(productIdentifier);
console.log('TEST', purchase); <= will not be shown
Esta página foi útil?
0 / 5 - 0 avaliações