So funktioniert es - Die App ist ein Abonnement für einen Dienst, der plattformübergreifend funktioniert. Auf dem iPhone erhalten Sie 30 Tage volle Funktionalität und nach 30 Tagen können Sie keine Dinge mehr tun, bis Sie ein Abonnement mit einem In-App-Kauf kaufen.Erste Installation in iOS erkennen NICHT NSUserDefaults
Was ich brauche - Ich muss wissen, ob es der erste Lauf war, so dass ich die Benutzerinformationen zur Datenbank hinzufügen kann. Oder weil es plattformübergreifend ist, haben sie möglicherweise bereits ein Abonnement bezahlt, sodass ich dem bereits bestehenden Abonnement des Nutzers 30 Tage hinzufügen muss.
Was ich tue jetzt - Zur Zeit ich die identifierForVendor in der entfernten Datenbank bin zu speichern und in NSUserDefaults ein Bool ist geprüft 1., um zu sehen, ob es der erste Lauf ist und 2. wenn es der erste Lauf ist Ermöglichen Sie dem Benutzer, sich der Datenbank für eine 30-tägige vollständige Nutzung hinzuzufügen oder 30 Tage zu ihrem vorhandenen Abonnement hinzuzufügen.
Das Problem - Das Problem ist, dass, wenn der Benutzer löscht die App neu installiert es dann die NSUserDefaults ebenfalls gelöscht werden, und die identifierForVendor wird sich ändern und das wird dem Benutzer zu ermöglichen, kostenlos weitere 30 Tage, um ihr Abonnement hinzufügen nur durch Löschen und erneutes Installieren der App.
Ideale Lösung Ursprünglich wollte ich ein Abonnement für die App machen, aber ich wusste nicht, wie man den Beleg prüft, wenn die App ursprünglich gekauft wurde, und den Benutzer in die entfernte Datenbank einfügt. Außerdem weiß ich nicht wirklich, wie man ein Abonnement einrichtet, das kein In-App-Kauf ist. Ich habe auch darüber nachgedacht, die App kostenlos zu machen, und dann können sie den In-App-Kauf nutzen, um den Service zu kaufen, aber die App ist nutzlos, ohne sich mit dem Remote-Server verbinden zu können, um überhaupt Daten aufzubauen.
Bottom Line würde Ich mag eine der
- das Abonnement auf dem ersten Kauf folgendes tun (ich brauche, um erkennen zu können, wenn der Kauf gültig ist, damit ich die Benutzerinformationen eingeben in die entfernte Datenbank)
- Machen Sie die App frei und verwenden Sie In App Purchase, um ein Abonnement hinzuzufügen (Ist es akzeptabel, eine kostenlose App, die nichts tun, bis Sie abonnieren?)
- Lassen Sie es so, wie es jetzt ist (Finden Sie jedoch eine dauerhafte Lösung für die BezeichnerForVendor und die BezeichnerForAdv ertising funktioniert auch nicht, weil es ausgeschaltet werden kann.
Warum im Schlüsselbund nicht speichern Zeug? Das soll dauerhaft sein. –
http://stackoverflow.com/questions/13602125/how-to-find-the-app-downloaded-date-in-appstore/13602197#13602197 –
Ich würde dringend eine enge Lesung von Apples App Store Richtlinien empfehlen. Das von Ihnen beschriebene Abonnementmodell ist wahrscheinlich nicht zulässig. – duskwuff