Ich habe eine Schaltfläche zum Wiederherstellen. Das Problem ist, wenn sie eine Wiederherstellung nicht gemacht haben, und sie versuchen, einen Gegenstand zu kaufen, und sie haben diesen Gegenstand bereits gekauft, ich muss ihnen sagen, dass sie es bereits gekauft haben und den Kauf nicht durchführen. Ich brauche also eine Möglichkeit zu wissen, welche Artikel sie gekauft haben, ohne eine Wiederherstellung durchzuführen. Ich habe versucht, zuerst eine Wiederherstellung durchzuführen, wenn der Benutzer versucht, zu kaufen, aber Apple meine App abgelehnt. Sie sagten, dass eine Wiederherstellung nicht stattfinden kann, bevor das Dialogfeld In-App-Kauf bestätigen angezeigt wird.
Bitte helfen Sie mir, den richtigen Weg zu finden.
Vielen Dank im Voraus.
Sie können diese Daten in NSUserDefaults aufbewahren. Und Sie müssen keine Warnung anzeigen, dass die Artikel bereits gekauft wurden. Wenn es ein nicht konsumierbares Produkt ist, zeigt der Apfel an, dass er diesen Gegenstand bereits gekauft hat!
BEARBEITEN:
1) Sie müssen Ihrer Ansicht 3 Schaltflächen hinzufügen
Sie müssen dem Benutzer die Wiederherstellungsoption geben, wenn Sie In-App-Käufe in Ihrer App unterstützen. Andernfalls lehnt Apple Ihre App ab.
2) Wenn der Benutzer die Kaufen-Schaltfläche drückt, überprüfen Sie nicht, ob der Benutzer Ihre App bereits gekauft hat oder nicht. Weil Apple die Benutzer nicht zweimal für dasselbe nicht konsumierbare Produkt berechnet. Gehen Sie also einfach Ihren Kaufcode durch und wenn der Benutzer ihn bereits gekauft hat, wird Apples StoreKit-Framework seine Delegate-Methode
aufrufen %Vor%mit
SKPaymentTransactionStatePurchased
Transaktionszustand So können Sie ihm den Login-Bildschirm präsentieren.
3) Wenn der Benutzer die Wiederherstellen-Taste drückt, gehen Sie einfach mit Ihrem Wiederherstellungscode
durch %Vor%und wie im zweiten Schritt wird es die Delegate-Methode mit dem gleichen Transaktionszustand aufrufen. So können Sie dem Benutzer die Anmeldeseite präsentieren.
4) Wenn der Benutzer den Knopf Demo-Version drückt, präsentiere ihm die Demo-Version.
5) Wenn ein Nutzer Ihre App gekauft, gelöscht und neu installiert hat, behandeln Sie ihn als neuen Nutzer. Zeigen Sie ihm diese 3 Knöpfe und der Benutzer kann den Kauf wiederherstellen und dann können Sie ihm die Login-Seite präsentieren.
6) Wenn Sie wirklich wissen möchten, ob die App auf einem bestimmten Gerät gekauft wurde, können Sie Ihre Daten mit dem Schlüsselbund speichern, da die Schlüsselbundelemente nicht gelöscht werden, selbst wenn die App deinstalliert oder entfernt wurde. Diese API wird viel link helfen, schau
oder
Sie können sich auf Apples Dokumentation zu Schlüsselbunddaten
Laut Apple "kann keine Wiederherstellung durchgeführt werden, bevor das Dialogfeld In-App-Kauf bestätigen angezeigt wird." Verwenden Sie die Warteschlange - (void) paymentQueueRestoreCompletedTransactionsFinished: (SKPaymentQueue *) Funktion , überprüfen Sie den Code
%Vor%Nach meinem Wissen gibt es keinen anderen Weg, dies zu tun.
Sie sollten eine Wiederherstellungsschaltfläche zum Wiederherstellen der In-App-Käufe bereitstellen, sonst wird Apple Ihre App ablehnen.
Sie können keine Verbindung zu In-App-Servern herstellen oder ein Profuct wiederherstellen, ohne die In-App-Kaufbestätigungsmeldung anzuzeigen.
Tags und Links iphone ios in-app-purchase