Meine App wurde wegen der Schaltfläche "Wiederherstellen" abgelehnt, wenn sie im App-Kauf nicht verlängert wurde. Muss ich die Wiederherstellungsschaltfläche entfernen? Wenn ich dies tun muss, dann wie Benutzer seine Einkäufe wiederherstellen. Bitte helfen.
Nicht erneuernde Abonnements sind Verbrauchsmaterialien. Daher können sie nicht wiederhergestellt werden. Ein Wiederherstellungs-Button macht daher keinen Sinn. Sie benötigen auch eine Art von Authentifizierung / Login-System für den Benutzer. (Siehe unten für detaillierte Erklärungen.)
Quellen:
Es gab einige Debatten in den Kommentaren, ob nicht erneuernde Abonnements konsumierbar sind oder nicht, also möchte ich etwas dazu sagen. "Verbrauchbar" bedeutet, dass Sie sie mehrmals verbrauchen können. Wie "30 Minuten Sprechen" in einer Voice-over-IP-Telefonie-Anwendung. Auf der anderen Seite gibt es Non-Consumables, die Sie nur einmal kaufen können. Wie wenn du alle Levels in einer Spiele-App entsperrst. Sie kaufen es einmal, und wenn Sie das Gerät zurücksetzen und die App erneut herunterladen, sollten Sie in der Lage sein, den Kauf wiederherzustellen, so dass Sie nicht zweimal bezahlen müssen, um alle Ebenen freizuschalten. Wenn Sie in diesem Fall nicht auf den Wiederherstellungs-Button tippen, sondern einfach das Paket "Alle Ebenen entsperren" erneut kaufen, funktioniert es zwar, aber Apple wird kein zweites Mal in Rechnung gestellt. Deshalb wird es nicht konsumierbar genannt. Es ist eine Art Metapher. Ein Apfel ist "konsumierbar". Sobald es verbraucht ist, ist es weg. Ein Stuhl ist nicht konsumierbar. Du hast es solange du es nicht zerstörst oder verschenkst.
Es ist also sinnvoll, ein nicht-erneuerndes Abonnement als nicht verbrauchbar zu betrachten. Wenn Sie es ein zweites Mal kaufen, sollten Sie nicht zweimal bezahlen, Sie sollten nur das alte Abonnement verwenden, das Sie bereits haben. Wenn Sie das Gerät zurücksetzen, sollten Sie das Abonnement wiederherstellen können, nachdem Sie die App erneut heruntergeladen haben. Die Wiederherstellung wird nicht von Apple, sondern von der App selbst durchgeführt.
Ich sehe aber immer noch nicht erneuernde Abonnements als konsumierbar an. Ich verwende eine einfache Definition von Verbrauchsmaterial im Vergleich zu Nicht-Verbrauchsmaterial: Ein In-App-Kauf ist ein Verbrauchsartikel, wenn er aus der Sicht der StoreKit API mehrmals in der gleichen Woche von demselben gekauft werden kann Benutzer. Alle konsumierbaren IAP-Elemente können nicht über das StoreKit wiederhergestellt werden. Alle nicht konsumierbaren IAP-Elemente können über das StoreKit wiederhergestellt werden.
Also ist der Entwickler selbst dafür verantwortlich, den In-App-Kauf eines nicht-erneuernden Abonnements wiederherzustellen, richtig? Nein Entschuldigung. Wie würde die App den In-App-Kauf eines nicht-erneuernden Abonnements wiederherstellen? Angenommen, ich habe einen iPod und abonniere einen Monat lang das Foo -Radio. Jetzt möchte ich auch das Foo-Radio auf meinem iPad hören. Sooo, ich installiere die Foo-App auf meinem iPad und tippe auf den "Restore" -Button. Nun ... was soll der "Restore" Button tun? Woher weiß es, ob ich bereits ein "Foo" -Abonnement gekauft habe und wie lange es noch gültig sein wird? Antwort: Es kann nicht. Dieser Ansatz funktioniert nicht.
Damit ein nicht aktuelles Abonnement funktioniert, müssen Sie sich zuerst beim Benutzer anmelden, um das Abonnement mit einem Online-Konto zu verknüpfen. Benutzername / Passwort, Open-ID, Login über Gmail, Facebook, etc. würden alle funktionieren. Wenn der Benutzer dann ein n-r-Abonnement kauft, müssen Sie die Tatsache, dass er sich auf einem Server angemeldet hat, speichern und mit seinem Konto auf dem Server verknüpfen. Sie müssen auch verhindern, dass der Benutzer das n-r-Abonnement kauft, wenn er noch nicht eingeloggt ist. Lassen Sie uns weiter oben mit meinem iPod / iPad-Beispiel fortfahren. Ich lade die App auf mein iPad, ich logge mich mit Facebook ein, und voila, ich kann jetzt das "Foo" -Abonnement nutzen. Es besteht keine Notwendigkeit für eine "Wiederherstellen" -Schaltfläche, da die App zur Anmeldungszeit überprüfen sollte, welche Abonnements der Benutzer hat.
Es wird einige zusätzliche Probleme geben. (1) Zum Beispiel verhindert nichts, dass sich der Benutzer bei 200 Geräten anmeldet. Hier ist das Problem nicht ein Benutzer mit 200 Geräten, sondern eine Universität mit 1000 Studenten, wo sich 180 Studenten das gleiche Konto teilen. (2) Wenn der Server abstürzt, verlieren einige Leute wahrscheinlich ihre Abonnements. Problem (1) kann möglicherweise zu einem geringeren Einkommen führen. Problem (2) kann zu verärgerten und unglücklichen Kunden führen.
Von Apple: "Abonnements, die nicht verlängert werden können. Abonnements, die keine episodischen Inhalte enthalten. Beispiele hierfür sind der Zugriff auf eine Datenbank mit historischen Fotos oder eine Sammlung von Flugkarten. Es liegt in Ihrer Verantwortung, das Abonnement für alle verfügbar zu machen auf die Geräte des Benutzers und auf können Benutzer den Kauf wiederherstellen. Dieser Produkttyp wird häufig verwendet, wenn Ihre Benutzer bereits ein Konto auf Ihrem Server haben, mit dem Sie sie beim Wiederherstellen identifizieren können Der Ablauf und die Dauer des Abonnements bleiben auch Ihrer App (oder Ihrem Server) überlassen, um sie zu implementieren und durchzusetzen. " [Kursiv und Fett hinzugefügt] Ссылка
Tags und Links ios in-app-purchase xcode5 ios7