React-native-iap: Acheter le même produit deux fois donnera une erreur

Créé le 18 avr. 2018  ·  5Commentaires  ·  Source: dooboolab/react-native-iap

Version de react-native-iap

0.3.13

Les plates-formes sur lesquelles vous avez rencontré l'erreur (IOS ou Android ou les deux ?)

iOS

Comportement attendu

S'attend à acheter un produit sans problème

Comportement réel

La première fois que j'achète un produit_A sur un "nouvel" appareil - cela fonctionne.
Deuxième fois que j'essaie d'acheter le même produit_A (peu importe si je redémarre l'application ou non)
ne fonctionnera pas. Le message d'erreur est : "Une erreur inconnue ou inattendue s'est produite. Veuillez réessayer ultérieurement."

Étapes pour reproduire le comportement

1.Mettez en œuvre IAP comme dans ReadME.

try {
      const msg = await RNIap.prepare()
      const products = await RNIap.getProducts([`${productId}`])
      const purchase = await RNIap.buyProduct(productId)
      this.props.purchaseCoinsPack(coinsPack)
      await RNIap.consumePurchase(purchase.transactionReceipt)
    } catch (err) {
      alert(err.message);
    }

_Juste au cas où j'aurais ce code dans mon componentDidMount() et componentWillUnmount() :_

getPurchases = async () => {
    try {
      const purchases = await RNIap.getAvailablePurchases();
      purchases.forEach(async purchase => {
        const boughtPack = R.find(R.propEq('androidStoreId', purchase.productId))(this.props.coinsPacks)
        if (boughtPack) {
          this.props.purchaseCoinsPack(boughtPack);
          await RNIap.consumePurchase(purchase.transactionReceipt);
        }
      })
    } catch (err) {
      console.warn(err); // standardized err.code and err.message available
    } finally {
      this.setState({ isLoading: false })
    }
  }

  async componentDidMount() {
    try {
      await RNIap.prepare()
    } catch (err) {
      console.warn(err);
    }
    this.getPurchases()
  }

  async componentWillUnmount() {
    RNIap.endConnection()
  }

2. Le premier achat fonctionne bien.
Veuillez réessayer plus tard."

Commentaire le plus utile

la dernière v0.3.15 vous donnera le error code avec un message.
Alors, pouvez-vous s'il vous plaît réessayer la dernière version et quel est le code d'erreur ?
Si le code d'erreur est -1001, il peut s'agir d'un problème de bac à sable temporaire d'Apple.
Je vais regarder ce problème également.

Tous les 5 commentaires

Le produit est-il consommable ou non consommable ?

@JJMoon consommable.
2018-04-19_07h40_09

la dernière v0.3.15 vous donnera le error code avec un message.
Alors, pouvez-vous s'il vous plaît réessayer la dernière version et quel est le code d'erreur ?
Si le code d'erreur est -1001, il peut s'agir d'un problème de bac à sable temporaire d'Apple.
Je vais regarder ce problème également.

Après la mise à jour vers 0.3.15, le problème a disparu sur iOS.
Android fonctionne également très bien.
Merci!

Bien d'entendre ça!
Il peut s'agir d'un problème temporaire d'Apple puisque la nouvelle version n'a rien changé d'autre que le journal.
Il y a eu tellement de problèmes lorsque nous avons testé avec le bac à sable.
La plupart des cas ne se produisent pas dans la production publiée par l'App Store.

Cette page vous a été utile?
0 / 5 - 0 notes