React-native-iap: Kein Rückruf für Transaktion mit gekauftem Staat.

Erstellt am 10. Apr. 2019  ·  2Kommentare  ·  Quelle: dooboolab/react-native-iap

Version von react-native-iap

2.4.7

Version von React-Native

0,57,8

Plattformen, auf denen Sie den Fehler hatten (IOS oder Android oder beides?)

iOS

Tatsächliches Verhalten

Es ist mein erster IAP-Test und ich brauche Hilfe.

Wenn ich das Produkt kaufe, das ich noch gekauft habe (Sandbox), erhalte ich die Meldung "Sie haben dieses Produkt bereits gekauft. Das Produkt wird wiederhergestellt." Aber ich bekomme keinen Rückruf oder Rückgabe. Wie kann ich mit diesem Wiederherstellungsprozess umgehen, damit ich den gekauften Status speichern und der Benutzer das Produkt verwenden kann?
Oder funktioniert es nicht so?

Mein Code

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

Getestete Umgebung (Emulator? Reales Gerät?)

Echtes Gerät (iPad)

Danke für die Hilfe

❓ question 📱 iOS

Hilfreichster Kommentar

Hallo @hyochan
Danke, dass du so schnell geantwortet hast.
Ich glaube nicht, dass ich es missverstanden habe. Ich glaube, ich habe es nicht genau erklärt:

Anwendungsfall:
Benutzer kann ein Produkt kaufen (einmaliger Kauf zum Beispiel 'Premium')

  1. Benutzer kauft dieses Produkt.
  2. Benutzer installieren die App auf einem anderen Gerät (gleiche Apple ID)

Jetzt habe ich es auf anderen Apps gesehen:
Das Produkt wird nicht als gekauft angezeigt (da ich bei App-Start nicht nach bereits gekauften Produkten fragen möchte, wie gesagt, ich habe es in anderen Apps gesehen)

  1. Benutzer klickt auf "Produkt kaufen"
  2. Die Warnung "bereits gekauft" wird angezeigt und die Meldung, dass der Kauf wiederhergestellt wird, wird angezeigt.
    Aber nichts passiert.

Dafür brauche ich eine Rückgabe, dass das Produkt wiederhergestellt ist, aber ich bekomme nichts und die nächsten console.log werden nicht angezeigt.

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

Alle 2 Kommentare

@Finneah Du verstehst die iap feature richtig. Restore purchase dient dazu, Produkte zu erhalten, die Sie bereits auf einem anderen Gerät gekauft haben, als Sie die App neu installiert haben. Um re-buy den Artikel zu erhalten, sollten Sie das Produkt als consumable erstellen.

Hallo @hyochan
Danke, dass du so schnell geantwortet hast.
Ich glaube nicht, dass ich es missverstanden habe. Ich glaube, ich habe es nicht genau erklärt:

Anwendungsfall:
Benutzer kann ein Produkt kaufen (einmaliger Kauf zum Beispiel 'Premium')

  1. Benutzer kauft dieses Produkt.
  2. Benutzer installieren die App auf einem anderen Gerät (gleiche Apple ID)

Jetzt habe ich es auf anderen Apps gesehen:
Das Produkt wird nicht als gekauft angezeigt (da ich bei App-Start nicht nach bereits gekauften Produkten fragen möchte, wie gesagt, ich habe es in anderen Apps gesehen)

  1. Benutzer klickt auf "Produkt kaufen"
  2. Die Warnung "bereits gekauft" wird angezeigt und die Meldung, dass der Kauf wiederhergestellt wird, wird angezeigt.
    Aber nichts passiert.

Dafür brauche ich eine Rückgabe, dass das Produkt wiederhergestellt ist, aber ich bekomme nichts und die nächsten console.log werden nicht angezeigt.

const purchase = await RNIap.buyProduct(productIdentifier);
console.log('TEST', purchase); <= will not be shown
War diese Seite hilfreich?
0 / 5 - 0 Bewertungen