Delphi-PRAXiS
Seite 4 von 4   « Erste     234   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Gerät (IOS/Android) zwecks Lizenz identifizieren (https://www.delphipraxis.net/189444-geraet-ios-android-zwecks-lizenz-identifizieren.html)

greenmile 16. Jun 2016 07:49

AW: Gerät (IOS/Android) zwecks Lizenz identifizieren
 
Genauso habe ich es auch gemacht. Eine ID beim ersten Start (= wenn noch keine vorhanden), die wird in den Global-Store gespeichert damit sie ggf. ein Update o.ä. überlebt. Die wird übermittelt. Wenn der User das Gerät komplett neu installiert, dann wird halt eine neue ID erzeugt, geht bis zu x mal. Und so oft installiert man sein Handy/Mac ja nun nicht neu. Kannst Du ggf. auch verschlüsseln, dann kann man die nicht ändern wenn man mit Tools nach der Datei sucht.

Funktioniert 1a.

BUG 16. Jun 2016 08:36

AW: Gerät (IOS/Android) zwecks Lizenz identifizieren
 
Das ist die sinnvolle Lösung.
Hilft dem TE aber wenig, wenn irgendein Vertragswerk (oder Chef) eine Lizenz pro physischem Gerät vorschreiben :stupid:

QuickAndDirty 16. Jun 2016 09:34

AW: Gerät (IOS/Android) zwecks Lizenz identifizieren
 
Zitat:

Zitat von Sir Rufo (Beitrag 1340277)
Wo ist das Problem eine (völlig losgelöste) ID beim ersten Start der Anwendung zu erzeugen?

Dann wird eine Verbindung zum Lizenzserver aufgebaut und es wird eine Lizenz mit dieser Geräte-ID und den Account-Informationen abgerufen. Sind keine Lizenzen mehr verfügbar, dann kann der Kunde einfach Lizenzen freigeben (am dem Gerät selber oder ohne das Gerät - weil zerstört oder nicht mehr da).

Zur Überprüfung schaut die Anwendung ab und an beim Lizenzserver vorbei und prüft, ob die Geräte-ID noch mit einer Lizenz verknüpft ist. Diese Info (Geräte-ID xy ist jetzt ungültig) könnte man auch per Push-Notification übertragen und sobald das Gerät eine Verbindung hat wird die Lizenz von dort entfernt.

Doch das ist absolut in Ordnung, selbige ID darf nur einfach nicht von einem gerooteten Gerät auf ein anderes Kopiert werden können. Wir haben das schon mehrfach erlebt das Kunden durch Kopieren ganzer Anwendungsordner so eine "Installations-ID" versehentlich mit kopiert haben.

Zitat:

Zitat von greenmile (Beitrag 1340285)
Genauso habe ich es auch gemacht. Eine ID beim ersten Start (= wenn noch keine vorhanden), die wird in den Global-Store gespeichert damit sie ggf. ein Update o.ä. überlebt. Die wird übermittelt. Wenn der User das Gerät komplett neu installiert, dann wird halt eine neue ID erzeugt, geht bis zu x mal. Und so oft installiert man sein Handy/Mac ja nun nicht neu. Kannst Du ggf. auch verschlüsseln, dann kann man die nicht ändern wenn man mit Tools nach der Datei sucht.

Funktioniert 1a.

Das will ich haben. Wo ist der Globale Store? Bei aktuellen Android Versionen kann ich doch nichts außerhalb der Sandbox hinterlassen oder?


Zitat:

Zitat von BUG (Beitrag 1340288)
Das ist die sinnvolle Lösung.
Hilft dem TE aber wenig, wenn irgendein Vertragswerk (oder Chef) eine Lizenz pro physischem Gerät vorschreiben :stupid:

Eine Installations-Identifizierung wäre auch ok, wenn alle Android-Useraccounts auf dem Gerät Zugriff auf diese global im Gerät gespeicherte ID haben.

greenmile 16. Jun 2016 09:45

AW: Gerät (IOS/Android) zwecks Lizenz identifizieren
 
Code:
Function ConfigFile: String;
begin
  // GetDocumentsPath      = In Package
  // GetSharedDocumentsPath = Global
  Result := TPath.GetSharedDocumentsPath+TPath.DirectorySeparatorChar+'myconfig.cfg';
end;

ConfigIni := TMemIniFile.Create(ConfigFile);
...

Sir Rufo 16. Jun 2016 09:46

AW: Gerät (IOS/Android) zwecks Lizenz identifizieren
 
Da sollte deine Frage beantwortet werden

http://stackoverflow.com/questions/1...ss-from-delphi

@greenmile

Da kommt der Benutzer zu einfach dran - die Informationen benötigen aber einen gewissen Schutz ;)

QuickAndDirty 16. Jun 2016 13:42

AW: Gerät (IOS/Android) zwecks Lizenz identifizieren
 
Yay...
Das sieht auf einmal alles sehr gut aus.

mjustin 16. Jun 2016 17:07

AW: Gerät (IOS/Android) zwecks Lizenz identifizieren
 
Anders als es der Name vermuten läßt, sind auch SharedPreferences nicht global. Sie sind immer an das aktuelle Benutzerprofil gebunden. Alle Benutzer können ihre eigenen Einstellungen speichern.

Für eine globale GeräteID sind sie daher so wie die ANDROID_ID nicht optimal.

BUG 16. Jun 2016 21:05

AW: Gerät (IOS/Android) zwecks Lizenz identifizieren
 
Der Gedanke ist halt, das sich Benutzer wie unterschiedliche Geräte verhalten. Das ist ja auch sehr sinnvoll: Wenn man es den Entwicklern zu einfach macht, an Hardware-IDs zu kommen, dann nutzen die das halt auch (fälschlicherweise) ... weil es ja so schön einfach ist und man nicht groß drüber nachdenken muss.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:53 Uhr.
Seite 4 von 4   « Erste     234   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz