Apple hat meine App aufgrund der Wiederherstellung von IAP abgelehnt

8

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.

    
MadhuP 06.05.2013, 12:19
quelle

3 Antworten

6

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

  • Kaufknopf
  • Wiederherstellen-Schaltfläche
  • Demoversion

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

    
Ushan87 06.05.2013, 12:50
quelle
2

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%     
Deepesh 06.05.2013 12:53
quelle
1

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.

    
Midhun MP 06.05.2013 12:49
quelle

Tags und Links