Datenpakete auf eigenem Server einer Android App kostenpflichtig zur Verfügung zu stellen

  • Antworten:12
Helene
  • Forum-Beiträge: 55

30.04.2015, 18:18:27 via Website

Hallo,

ich habe eine app geschrieben, mit der ich bereits ein gezipptes Datenfile einer hinterlegten URL herunterladen kann.

Nun möchte ich, dass der User auswählen kann, welches File er herunterladen möchte und auch gleich für die Daten bezahlt, z.B. über Paypal.

Ich habe gesehen, dass es bereits Anbieter gibt die Dateien hosten und die Besucher per App dort kaufen können.
Ich möchte aber, dass die Dateien auf meinem eigenen Server gehostet werden.

Kennt ihr eine Software mit der man das umsetzen kann, also ein Shop System für digitale Daten umsetzen, dass von meiner App aus aufgerufen werden kann.

Idealerweise müsste man dort ein Kundenkonto anlegen können und beim Kauf sollte die ID des Gerätes gespeichert werden, so dass ich einen Nachweis hätte, dass der Benutzer die Zugangsdaten nicht weitergibt und sich von mehr als beispielweise 2 Geräten die gekauften Daten heruntergeladen werden.
Oder gibt es hier einen besseren Schutz?

Antworten
Sven R.
  • Forum-Beiträge: 1.904

30.04.2015, 19:28:04 via App

Eine Lizensierung wäre besser. Also jeder kann das Programm runterladen, es prüft aber vor dem Start, ob der vom Nutzer eingegebene Lizenzschlüssel gültig ist.
Bein Bezahlen habe ich gar keine Ahnung.

Wenn dir mein Beitrag gefällt, kannst dich einfach mit dem 👍 "Danke"-Button auf der Website dieses Forums bedanken. 😀

Why Java? - Because I can't C#

Antworten
Helene
  • Forum-Beiträge: 55

30.04.2015, 21:57:02 via Website

OK, klingt interessant. Über diesen Weg habe ich noch nicht nachgedacht.

Aber das Problem der Weitergabe des Lizenzschlüssels besteht dann ja trotzdem...

Und ich finde den Weg für den Nutzer etwas umständlicher.

Antworten
Sven R.
  • Forum-Beiträge: 1.904

01.05.2015, 08:25:25 via App

Helene

[...] Aber das Problem der Weitergabe des Lizenzschlüssels besteht dann ja trotzdem...[...]

Vielleicht beim ersten Programmstart die Lizenz prüfen und dann speichern, dass erfolgreich lizensiert wurde. Also darf die Lizenz nur einmal vom Server abgefragt werden. Weitere Anfragen werden abgelehnt. Nur eine Lizensierung ist möglich.
Man könnte noch in das Programm hinzufügen, dass man im lizensierten Programm einen Reset einbaut, der dem Server (mit Authentifizierung) sagt, dass das aktuelle Programm "unlizensiert" wurde, und somit die Möglichkeit besteht, das Programm auf einem anderen Gerät zu installieren.

Helene

[...] Und ich finde den Weg für den Nutzer etwas umständlicher.

Es könnte ja die Möglichkeit geben eine Datei mit den Lizenzschlüssel drin herunterzuladen.

Diese Idee basiert nicht auf Erfahrung. Ich weiß nicht, ob diese Lösung gut ist.

— geändert am 01.05.2015, 08:27:14

Wenn dir mein Beitrag gefällt, kannst dich einfach mit dem 👍 "Danke"-Button auf der Website dieses Forums bedanken. 😀

Why Java? - Because I can't C#

Antworten
Jan-David S.
  • Forum-Beiträge: 263

02.05.2015, 09:59:36 via App

Sonst kann man das gut über In App Käufe machen. Beispiel:
1. User drückt einen Button
2. Liste erscheint, mit Datenbanken 1, 2 und 3 + Preis
3. User drückt "Datenpaket 2", Weiterleitung zum GPlay IAP popup.
4. Nach der Bezahlung wird ein event getriggert, ob es erfolgreich war.

Beste Grüße, Jan

Antworten
Gelöschter Account
  • Forum-Beiträge: 1.625

02.05.2015, 10:26:09 via App

Die Frage ist ja, was willst du hier verkaufen?

Wenn du Apps verkaufen willst, sollte es ein leichtes sein in der App die Lizenz zu überprüfen, wobei es leider auch Hacker gibt die so etwas knacken.
Und wegen der Bezahlung über PayPal würde ich mich an PayPal wenden, die haben bestimmt, wie sie auch für PC Webseiten haben, ein Plugin für Android.

Wenn du Daten verkaufen willst wird es kompliziert.

Jetzt kaufe ich erstmal ein Fernglas, dann sehen wir weiter. ;-)

Antworten
Helene
  • Forum-Beiträge: 55

06.05.2015, 11:18:03 via Website

Wenn möglich, möchte ich die Datenpakete auf meinem Server speichern und nicht über die Google Play Api.

Aber ich könnte doch eigentlich einen ganz normale Onlineshopsoftware wie shopware, Magento, Prestashop, woocomerce einrichten und die URL zu diesem Shop in meiner App hinterlegen, oder?

Ich habe z.B. bei Woocommerce gelesen, dass man über den Shop auch digitale Daten verkaufen und einstellen, wie oft man sie herunterladen kann.

Wäre es dann auch möglich, dass ich in meiner App bereits die Logindaten zu dem Shop hinterlege, so dass man bei Aufruf des Shopps auf der Setting-Seite meiner App gleich eingeloggt ist?

Habe ich hier nun was wichtiges übersehen, oder ist das bereits die Lösung um digitale Datenpakete aus meiner App heraus kaufen zu können?

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

06.05.2015, 19:28:33 via Website

Möglich ist das schon, aber für dich und User sehr aufwändig..
Hast du schon einen Webshop oder würdest du extra deswegen einen erstellen?
Ich hättte da eine andere Idee:
Du implementierst InApp käufe, stellst die App kostenlos bei Google Play ein (mit einem gewissen grundumfang) und dann kann ein User die App über die InApp käufe kaufen, und per Code kannst du dann noch externe Daten (DBs etc.) von deinem Server laden und Speichern.
Du hast halt die App dann wieder nicht auf deinem Server...

Lohnt es sich überhaupt diesen ganzen Aufwanz zu betreiben?
Versteh mich nicht falsch, aber eine App aus externen Quellen und dann noch kaufen, da überlege ich mir als User 2x ob es sich lohnt. Folglich weniger Downloads und und und..

Über einen Webshop würde es Theoretisch auch gehen, und du köntest den aus der App Ansteuern etc. (muss der webshop unterstützen oder du musst es dazuproggen). Aber denke daran, was ein Webshop alles mit sich bringt z.B Gesetzesaufagen eines Shops, Sicheres Bezahlen per PayPal (oder was weiss ich was des da noch alles gibt).

Frage: Was verstehst du unter Datenpakete? Die APK an sich oder nur externe Daten die man einklinken kann?

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Helene
  • Forum-Beiträge: 55

07.05.2015, 11:09:00 via Website

Nein, die App selbst möchte ich schon kostenlos im PlayStore einstellen (mit einem gewissen Grundumfang an Daten).
Bei Bedarf kann man sich eben noch zusätzliche Daten von meiner Webseite runterladen. Einen Woocommerce Shop habe ich bereits erstellt. Der Unterstützt auch den Verkauf von digitalen Daten und das ganze drumrum eines Webshops ist bereits integriert.

Ich dachte, dass wäre für mich dann die einfachste und schnellste Möglichkeit, um mit relativ wenig aufwand die Pakete selbst zu hosten.

Zudem kann ich im Woocommerce Shop z.B. einstellen, dass die digitalen Daten nur 1x heruntergeladen werden dürfen > ich brauche keine Angst haben, dass wer die Logindaten weitergibt.

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

07.05.2015, 13:31:54 via App

Damit kenne ich mich jetzt nicht aus und weiss nicht wie kompliziert das in eine App einzubauen ist.
Wie gesagt Alternative: Inapp käufe und laden und in einer online DB gewisse Daten speichern dass man das nicht doppelt machen kann.

Aber der Sinn hinter der ganzen Kaufgeschichte ist doch, dass man alles Kinderleicht auf nem neuen Device nutzen kann, das machst du doch hiermit kaputt. Denn dann muss ich die Extradaten ja wieder neu kaufen, was ja eigentlich blöd ist (aus user sicht). Nicht das mich das was angeht, aber mich interessiert welche Grund Idee dahintersteckt um gegen das schon vorhandene App kaufprinzip anzukämpfen.

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Ju Ku
  • Forum-Beiträge: 72

07.05.2015, 13:43:18 via Website

Ich würde auch eher eine Lizenzierung per device vorschlagen.
Die Daten selbst kannst du wohl nicht besser schützen.

Dein Android Gerät hat eine eindeutige ID usw. und du kannst theoretisch auch noch eine weitere z.B. ganz einfach in SharedPreferences speichern.
Mit dieser ID authentifiziert sich der Client dann beim Server, ob du noch einen Login einbaust, bleibt dir überlassen.
Die Bezahlung kannst am besten über die bereits genannten InApp Käufe, Paypal oder Google Wallet implementieren. Diese 3 Methoden bieten Schnittstellen, um eine einfache Bezahlung zu ermöglichen. Wenn der User dann bezahlt hat, wird dies auf dem Server gespeichert und der Client kann die Daten auf dem Gerät so oft herunterladen, wie er will. Falls du die Dateien mit HTTP herunterlädst, solltest du SSL unterstützen und die ID und die Login Data per POST mit übergeben, damit das sicher ist. Du kannst auf dem Server dann theoretisch auch noch Statistiken erstellen, wie oft die Daten bereits heruntergeladen wurden und dies dem User anzeigen.

Antworten
Ju Ku
  • Forum-Beiträge: 72

08.05.2015, 12:24:45 via Website

Davon kannst du aber da nicht ausgehen.
Ein Archiv kannst du immer kopieren, ein Archiv kann man nicht sichern, es sei denn man nutzt ein eigenes Format und eine eigene Application, die zum öffnen benötigt wird und dort dann prüft, ob die License stimmt.

Antworten