2017-02-27 3 views
1

Ich versuche in App Kauf Quittung für Restore-Transaktion zu machen und es stellt alle Transaktionen wieder her.Wie kann ich es machen, nur eine Transaktion des Empfangs wiederherzustellen? Jede Hilfe bitte ..Wiederherstellen nur einzelne Transaktion bei der Wiederherstellung in App Kauf Ziel c

+0

Bitte denken Sie daran, wenn möglich ein [minimales, vollständiges und verifizierbares Beispiel] (http://stackoverflow.com/help/mcve) bereitzustellen oder zumindest das zu veröffentlichen, was Sie bisher versucht haben (Code)/was Sie ' re versuchen zu tun (genauer zu sein). Auf diese Weise ist es wahrscheinlicher, dass Freiwillige auf SO helfen können. – lealceldeiro

+0

Verwenden Sie irgendeine Bibliothek dafür? –

+0

Ja, ich verwende RMStore – Sipa

Antwort

0

Dies ist das erwartete Verhalten, gibt es keine Möglichkeit, eine einzelne Transaktion wiederherzustellen, weil Apples Empfangssystem auf mehrere Transaktionen basiert. Wiederherstellungstransaktionen sind auch einzelne Transaktionen. Wenn Sie also Käufe wiederherstellen, wird eine neue Transaktion mit einer neuen transactionIdentifier für die Wiederherstellung erstellt. Die original Transaktion wird auf der SKPaymentTransaction verwiesen.

restorecompletedtransactions() synchronisiert alle Einkäufe, die ein iTunes-Nutzer in Ihrer App getätigt hat. Der Zweck besteht darin, dem Benutzer den Zugriff auf Inhalte zu ermöglichen, die zuvor auf anderen Geräten des Benutzers gekauft wurden, z. Ein Nutzer kauft auf seinem iPhone, stellt Einkäufe auf seinem iPad wieder her und kann nun auf beide Geräte zugreifen.

Der wiederhergestellte Kauf erstellt eine neue Transaktion auf SKPaymentQueue und Sie sollten die Warteschlange abonnieren, wenn Ihre App geladen wird. Bei der Wiederherstellung erhält die Warteschlange eine Transaktion mit einer SKPaymentTransactionState von restored.

Auch transactionReceipt() ist veraltet, also sollten Sie es in keiner Weise verwenden. Verwenden Sie stattdessen appStoreReceiptURL.