Moin zusammen,
mir fehlt momentan die Zeit, konzentriert zu programmieren. Das hat mal wieder zur Folge, dass ich mir eher konzeptionell Gedanken mache und hier interessiert mich Eure Meinung / Erfahrung:
Meine Apps werden als "Freemium"-Programme exklusiv über die Apple App Stores vertrieben: Sie sind quasi Testversionen mit reduziertem Funktionsumfang zum Ausprobieren, welcher dann durch einen einmaligen In-App-Kauf ("non-consumable good") freigeschaltet wird. Hierbei nutze ich Receigen (und OpenSSL), um das Receipt zu prüfen und IAPs zu verarbeiten. So weit, so gut ... und seit Jahren erfolgreich im Einsatz.
Allerdings bin ich etwas paranoid was externe Abhängigkeiten angeht, und Receigen beschäftigt mich gedanklich immer wieder: Obwohl es sehr zuverlässig ist und ich mit seiner Funktion - insbesondere zu dem Preis - sehr zufrieden bin, wäre ein GAU, wenn es einmal nicht mehr funktionierte. Insbesondere da sein Autor auf meine bisherigen Kontaktversuche zu unterschiedlichen Themen nicht reagierte. Also habe ich mir einmal (rein theoretisch) Gedanken um einen Plan B gemacht:
Wie geht Ihr mit Receipt-Validierung / In-App-Käufen um? Wie schätzt Ihr Vor- / Nachteile der Online-Validierung aus der App heraus ein?
Schönen Rest-Sonntag, Mattes
mir fehlt momentan die Zeit, konzentriert zu programmieren. Das hat mal wieder zur Folge, dass ich mir eher konzeptionell Gedanken mache und hier interessiert mich Eure Meinung / Erfahrung:
Meine Apps werden als "Freemium"-Programme exklusiv über die Apple App Stores vertrieben: Sie sind quasi Testversionen mit reduziertem Funktionsumfang zum Ausprobieren, welcher dann durch einen einmaligen In-App-Kauf ("non-consumable good") freigeschaltet wird. Hierbei nutze ich Receigen (und OpenSSL), um das Receipt zu prüfen und IAPs zu verarbeiten. So weit, so gut ... und seit Jahren erfolgreich im Einsatz.
Allerdings bin ich etwas paranoid was externe Abhängigkeiten angeht, und Receigen beschäftigt mich gedanklich immer wieder: Obwohl es sehr zuverlässig ist und ich mit seiner Funktion - insbesondere zu dem Preis - sehr zufrieden bin, wäre ein GAU, wenn es einmal nicht mehr funktionierte. Insbesondere da sein Autor auf meine bisherigen Kontaktversuche zu unterschiedlichen Themen nicht reagierte. Also habe ich mir einmal (rein theoretisch) Gedanken um einen Plan B gemacht:
- Ich programmiere die lokale Receipt-Validierung selber. Hierzu gibt es einige gute Beschreibungen deren Struktur, z. B. auch vom Receigen-Autor selber. Allerdings dürfte dies ein ziemlicher Zeitaufwand sein ... und da ich bisher wenig mit Krypto-Funktionen gearbeitet habe, auch fehleranfällig.
- Ich nutze einen anderen Drittanbieter zur Receipt-Validierung, z. B. RevenueCat. Hier erfolgt eine Online-Validierung über deren Backend (das dann wahrscheinlich die Apple-Server nutzt). Primär für Abonnements erforderlich, aber bei meinem Volumen kostenlos nutzbar. Allerdings tausche ich hier nur einen Drittanbieter gegen einen anderen und binde fremde Frameworks mit ungewünschten Funktionen und weiteren Abhängigkeiten ein.
- Ich baue selber auf meinem Server ein kleines Backend auf, dass eine Online-Validierung durchführt und frage aus der App den IAP-Status dort ab. Eigentlich Overkill, da ich keine Abonnements verwalten muss und auch so keine Backend-Anforderungen habe.
- Ich nutze aus der App heraus das Apple-Backend zur Online-Validierung. Dann muss ich nur ein base64-kodiertes Object (das Receipt) posten und erhalte ein JSON mit den Daten / IAPs. Klingt toll, allerdings warnt Apple ausdrücklich davor, dies auf einem Endgerät zu nutzen: Zu groß wäre das Risiko, dass die Validierung z. B. per MitM kompromittiert würde.
Wie geht Ihr mit Receipt-Validierung / In-App-Käufen um? Wie schätzt Ihr Vor- / Nachteile der Online-Validierung aus der App heraus ein?
Schönen Rest-Sonntag, Mattes
Diese Seite bleibt aus technischen Gründen unbedruckt.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von MyMattes ()