Wir haben Probleme, den Belegüberprüfungsablauf in iOS vollständig zu verstehen. HierGrundlegendes zu Bestätigung und Empfang von Belegüberprüfungen in iOS
ist das, was wir derzeit tun (in Entwicklung):
In applicationDidFinishLaunching
und in applicationWillEnterForeground
bestätigen wir den Empfang auf der Serverseite, wenn kein Empfang ist oder der Empfang ist ungültig, wir versuchen, den Empfang zu aktualisieren und validiere es erneut.
Hier sind einige Fragen/Fragen:
Was die Fälle, in denen es keine Quittung auf dem Gerät verfügbar ist?
Sollten wir immer eine Quittungsaktualisierungsanfrage ausgeben, wenn keine Quittung vorliegt?
Warum wird diese Alarmbox manchmal beim Start angezeigt? Ich verstehe, dass dies bei einer Quittungsaktualisierungsanfrage angezeigt wird.
- Wann sollte eine Empfangsüberprüfung passieren? Wir tun es derzeit, wenn ein Kauf gemacht wird, um den Kauf zu überprüfen, ist diese korrekte Verwendung?
Ich denke, das ist eine ziemlich solide Antwort, danke. Also, wenn wir nicht so streng sind, um den Empfang beim Start zu überprüfen, wäre nach jedem Kauf ein guter Punkt, um es zu tun? Wir wollen auch nicht auf Punkt 2 eingehen.) Sie haben erwähnt. So würde der Ablauf sein: 1) Benutzer kauft Abonnement. 2) Überprüfen Sie den Empfang 3) Überprüfung erfolgreich: Planen Sie eine lokale Benachrichtigung für das Ablaufdatum (Ist dies eine sichere Methode?). 4) Bestätigung des Ablaufs des Empfangsablaufs -> Revalidate oder Lock Premium Features. Scheint das ein guter Weg, damit umzugehen? –
Ich bin wirklich abhängig von der Art des Kaufs. Wenn es kein Abonnement ist, klingt eine Validierung direkt nach dem Kauf für mich ok. Wenn es sich um eine Subskription handelt, müssen Sie das Ende der Subskription kennen, daher ist der Fluss, den Sie angegeben haben, bis auf die lokale Benachrichtigung in Ordnung. Nehmen wir an, Sie kaufen ein monatliches Abonnement mit automatischer Verlängerung, jeden Monat, wenn der Benutzer den automatischen Verlängerungsmechanismus nicht beendet, wird das Abonnement automatisch erneuert. Ich habe versucht zu verstehen, wenn dies ohne Erfolg passiert, wahrscheinlich wenige Tage vor dem tatsächlichen Ablaufdatum. – Andrea
Automatisch bedeutet, dass Sie nichts tun müssen. Ich würde lokal (Keychain) den Ablauftag speichern, wenn ich in der Nähe dieses Datums bin, würde ich die Quittung erneut zur Validierung senden, bis sie abgelaufen oder aktualisiert ist. Wenn die Validierung einen neuen Monat sieht, aktualisiere ich das Datum, wenn der Beleg abgelaufen ist, würde ich eine Warnung wie "Ihr Abonnement scheint abgelaufen zu sein $ Enddatum $ möchten Sie eine Aktualisierung versuchen" präsentieren? Sie können die Quittung beliebig oft an Ihren Validierungsserver senden, ohne den Benutzer zu fragen, aber Sie können die Quittung nicht aktualisieren oder wiederherstellen, ohne den Benutzer zu fragen. – Andrea