dynamische Daten dauerhaft speichern, wie?

  • Antworten:10
  • OffenNicht stickyNicht beantwortet
  • Forum-Beiträge: 36

23.02.2018, 12:03:53 via Website

Hallo,

ich habe mich mittlerweile gut eingelesen und das Programmieren macht schon viel spaß aber mir stellt sich da eine Frage,

Ist es möglich Daten und erzeugen und diese Dauerhaft im System zu speichern? Also es ist ja so das wenn die App Daten speichert kann man ja unter App => Speicher => "Daten löschen" und "Cache löschen" und naja, die Userdaten sind gelöscht. Kann man das irgendwie verhindern?

Ich stelle mir das so vor, wärend der Installation wird ein Schlüssel erzeugt und gespeichert. Selber wenn der Nutzer nun die Daten oder den Cache löscht bleibt dieser Schlüssel in der App und kann sich nur durch das löschen und neu installieren der App ändern. Anderseits bleibt dieser Key immer gleich.

Ist das möglich?

Diskutiere mit!
Pascal P.
  • Mod
  • Blogger
  • Forum-Beiträge: 10.170

23.02.2018, 12:22:11 via App

Hallo DmanT,
das ist in der Form wie du das gerne hättest nicht möglich, denn das was passiert wenn du die App deinstallierst und wieder neu draufspielst, ist das gleiche wie wenn du die Daten löscht. Du kannst das nur verhindern indem du z.b. eine Datei auf dem USB Speicher ablegst und beim App start immer schaust ob die Datei existiert. Nachteil ist aber, dass auch eine solche Datei vom user gelöscht werden kann.

Wenn du wirklich auf Nummer sicher gehen willst, musst du deine Daten auf einem Server ablegen und mit einer eindeutigen ID ( Gmail Acc/Geräte ID/MacAdresse/IMEI...) kennzeichnen.
Dann kannst du vom Gerät, das nicht weiß ob die App installiert war, die Daten vom Server laden und der User kann es nicht mehr verhindern.

Aber sonst: Alles was z.b. in den SharesPrefereces gespeichert wird, wird beim "Daten löschen" mit gelöscht, ist genau so wie App runter und neu installieren, das kannst du ohne Server nicht unterscheiden.

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

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 36

23.02.2018, 12:32:57 via Website

Das habe ich mir schon fast gedacht. Also am besten ist es alles zu speichern, wie du schon sagst, Geräte ID, Mac-Adresse, SIM-Karten Nummer usw. also alles Speichern und dann, "Ban" wenn ein Ban vorliegt. Also ein Ban ist ein Ban. Dann muss schon komplett alles neu her um das zu umgehen, also SIM Karte, Handy, Google Konto usw. also alles. Und bei einem Ban muss dann alles erneuert werden ansonsten, wenn zwar alles neu, aber Geräte-ID passt noch wird wieder gebannt usw. Richtig oder geht es vielleicht noch einfacher?

Hilfreich?
Diskutiere mit!
Pascal P.
  • Mod
  • Blogger
  • Forum-Beiträge: 10.170

23.02.2018, 12:42:48 via App

Naja je nachdem wie präzise du Bannen möchstest.

Um das Gerät an sich eindeutig zu Identifizieren reich Imei und vlt noch Mac, das kannst du nur mit Root ändern.

Aber was ist wenn das Gerät weiter verkauft wird, ist blöd...

Dann den Google Account, den kann man auch neu erstellen, auch nicht 100% sicher.

Sim Karte, würde ich nicht nehmen da du dann Berechnunngen brauchst nur dafür wenn deine App nichts mit Telefonieren zutun hat, dann werden wir unter Umständen die User wegbleiben, weil sie deine Berechtigungen nicht verstehen.

Was immer bleibt: Mit Root/Emulator kannst du alles umgehen, dann muss der Gebannte aber schon imensen Aufwand betreiben...

Also mit Google Acc in Verbindung mit Mac/Imei bist du da recht sicher, 100% kannst du die technisch Versierten user eh nie aussperren.

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

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 36

23.02.2018, 13:05:33 via Website

Das ich die Leute nicht zu 100% aussperren kann, naja, also Validation per Post/Postident und Sperrung (Ban) bei Mißbrauch schon aber da hat keiner Bock drauf dann bleiben die User auch aus.

Klar kann man "alles" umgehen, aber sagen wir mal so, einem "normalo" sollte es ziemlich unmöglich sein aber auch technisch versierten das ganze möglichst erschweren.

Der Ban läuft automatisiert auf Grundlage mehrerer Prüfungsprozesse. Unter anderem auch bei "Rückbuchungen", spä. wenn Google mir die Zahlung zurück bucht wird gebannt und das bis auch gezahlt wurde. Also nix mit "neuer Account und fertig". Vielleicht hat Google da ja noch ein paar Sachen was die Sicherheit angeht.

Und, wenn wir schon dabei sind, es ist ja so das man 2 Stunden Zeit hat den Kauf "zurück zu geben". Darf man den Kauf "vormerken" und erst nach Ablauf der "Deadline" bestätigen?

Beispiel, Kunde kauft ne Spielkarte, zahlt diese über In-App Kauf, nutzt die Spielkarte, gibt den Kauf "zurück". Dann sitze ich auf dem Verlust, darf man also die Karte "vormerken" und wenn es nicht mehr möglich ist den Kauf Rückgängig zu machen erst "freizugeben"?

Also das ist der Haupt "Ban" Grund. "Betrüger" wird gebannt. Ohne wenn und aber. Daher würde ich sowas gerne "fest" im Programm haben. Oder gibt Google da noch weitere möglichkeiten? Wobei ich das gerne selber in der Hand hätte. Ich würde ja nach "Zahlungsdaten" Bannen aber die rückt Google ja nicht raus ^^

Hilfreich?
Diskutiere mit!
Pascal P.
  • Mod
  • Blogger
  • Forum-Beiträge: 10.170

23.02.2018, 13:12:30 via App

Das kann ich dir nicht beantworten, dafür kenne ich InApp käufe zu wenig.

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

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 2.243

23.02.2018, 16:54:46 via Website

Du kannst den InApp Kauf in der App behandeln wie du willst.
Du kriegst ja nur ein Callback, ob er erfolgreich war, oder nicht. Wenn du nach diesem Callback noch 2 Stunden warten willst, kannst du das natürlich tun. Ob der User das so gut findet, ist eine andere Frage :-)

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 36

27.02.2018, 14:54:27 via App

Naja klar aber man kann das ja handhaben wie sowas wie "legimierte user" sofort, und/oder 1/2/3 kauf ne "Wartezeit" danach wird sofort freigegeben. Halt zur vorbeugen von Betrügereien. Ich finde nichts detailliertes wie das bei "rückbuchung" genau handgehabt wird.

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 2.243

27.02.2018, 14:58:26 via Website

Das kannst du nicht wirklich nachhalten. Das passiert komplett auf den Google Servern.
Du kannst aber in regelmäßigen Abständen die Status der Käufe aktualisieren und Funktionen wieder sperren.

https://github.com/anjlab/android-inapp-billing-v3

-> Restore Purchases & Subscriptions

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 36

27.02.2018, 15:20:06 via App

Ich hab mir das Billingsystem zwar noch nicht ins Detail angesehen aber dann vermute ich das ich auch keinen Einfluss auf die Zahlungsmethoden habe? Also z.b. NUR Google Guthaben oder Zahlung über Mobilfunk aber z.b. Keine Kreditkarte oder PayPal(höchstes Risiko)

Naja klar, aber was wenn eine Rückabwicklung nicht möglich ist? Ermittlung aller Daten? Strafanzeige? Inkasso? Anwalt?

Also es muss doch ne "sicherheit" geben oder?

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 2.243

27.02.2018, 15:40:21 via Website

DmanT

Naja klar, aber was wenn eine Rückabwicklung nicht möglich ist? Ermittlung aller Daten? Strafanzeige? Inkasso? Anwalt?

image

IAB ist extrem unsicher und es wird laufend gecracked. Man sollte eh davon ausgehen, dass man nur an Leuten verdient, die ohnehin einen Hang zur Ehrlichkeit haben. Verfolgung lohnt den Aufwand meistens nicht mal.

Bei einer Rückabwicklung (egal wer sie auslöst, du oder der Käufer) ist der Kauf auf dem Google Backend auch wieder weg (bzw. nicht mehr successful). Diese Info kannst du dir dann periodisch holen (siehe oben) und Funktionen deaktivieren. That's it.

Hilfreich?
Diskutiere mit!

Empfohlene Artikel