Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Delphi Android 10+ "Seriennummer" oder so (https://www.delphipraxis.net/209898-android-10-seriennummer-oder-so.html)

xbkbk 5. Feb 2022 23:17

Android 10+ "Seriennummer" oder so
 
Guten Tag,
meine Frage befindet sich quasi hier, bloß für Java.

Mein Problem ist, dass ich gerne eine Form von Lizensierung basteln möchte (für Android in FMX) und dort soll eine eindeutige Zuordnung des Nutzers möglich sein, die an seine Hardware (oder schlimmstenfalls den Google Account) gebunden ist.
Schlimmstenfalls Google Account, weil ich vermeiden möchte, dass Nutzer sich extra bei Google anmelden müssen, nur um meine App zu nutzen.

Meine Idee war, dass ich einfach die IMEI oder Telefonnummer nehme und gut is.. Aber das funktioniert aufgrund fehlender Rechte ab Android 10 nicht mehr. Ich möchte nun aber, dass es auch unter Android 10 und 11 (und höher) läuft.

Nun ist die Frage, was ich machen soll und wo ich eine Nummer herbekomme, die sich nicht mal eben einfach so ändern lässt (oder sich selbst ändert bei z.B. App Neuinstallation oder Geräteneustart).

wie in dem obigen Link beschrieben gibt es in Jave das hier:
Code:
Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ANDROID_ID)
Allerdings weiß ich nicht, wie man das in Delphi basteln könnte.. Falls da jemand eine Idee hätte würde ich mich sehr freuen. Bestenfalls würde ich diese Lösung in Kombination mit der Buildnummer des Android Systems verwenden wollen. Die Chance, dass das eine gute Idee ist für Lizensierung sehe ich als sehr hoch an.


Mit freundlichen Grüßen
xbkbk

himitsu 6. Feb 2022 00:07

AW: Android 10+ "Seriennummer" oder so
 
Zitat:

Zitat von xbkbk (Beitrag 1501754)
Schlimmstenfalls Google Account, weil ich vermeiden möchte, dass Nutzer sich extra bei Google anmelden müssen, nur um meine App zu nutzen.

Wie sollen sie denn an deine App kommen?

Über den PlayStore ... tja, dafür brauchen sie sowieso einen Google-Account.


Und natürlich macht Google es dir schwer, irgendwen zu identifizieren.
* du darfst auf Vieles nicht zugreifen/auslesen
* und einige gewisse Geräte-IDs sind änderbar/sperrbar (z.B. die WerbeID)

Und schon bleibt nur noch sowas wie z.B. über den GoogleAccount oder GoogleGames.

philipp.hofmann 6. Feb 2022 12:03

AW: Android 10+ "Seriennummer" oder so
 
Ich benutze folgenden Code

Delphi-Quellcode:
    result := JStringToString(TJSettings_Secure.JavaClass.getString(TAndroidHelper.Activity.getContentResolver,TJSettings_Secure.JavaClass.ANDROID_ID));
    if (result = '') then
      result:=JStringToString(TJBuild.JavaClass.SERIAL);
Den Google-Account bekommst du aus Sicherheitsgründen meines Wissens auch nicht raus.

xbkbk 6. Feb 2022 15:06

AW: Android 10+ "Seriennummer" oder so
 
Zitat:

Zitat von himitsu (Beitrag 1501755)
Wie sollen sie denn an deine App kommen?

Über den PlayStore ... tja, dafür brauchen sie sowieso einen Google-Account.

Ich hatte vor zum Einen die .apk auf einer Webeite zum Download anzubieten und ja zum Anderen auch über den Play Store, allerdings möchte ich eben über den Download von der Webseite sicherstellen, dass auch Leute meine .apk installieren können, die keinen Google Account nutzen (wollen).

xbkbk 6. Feb 2022 15:07

AW: Android 10+ "Seriennummer" oder so
 
Zitat:

Zitat von philipp.hofmann (Beitrag 1501766)
Ich benutze folgenden Code

Delphi-Quellcode:
    result := JStringToString(TJSettings_Secure.JavaClass.getString(TAndroidHelper.Activity.getContentResolver,TJSettings_Secure.JavaClass.ANDROID_ID));
    if (result = '') then
      result:=JStringToString(TJBuild.JavaClass.SERIAL);
Den Google-Account bekommst du aus Sicherheitsgründen meines Wissens auch nicht raus.

Vielen Dank. Ich werde habs gerade ausprobiert. In meinem Fall hab ich es so umgeschrieben, dass beide Werte angezeigt werden und bekomme ich eine Android ID aber als Buildnummer nur "unknown". Naja solange einer der beiden Werte funktioniert reicht mir das :) Vielen Dank

Redeemer 6. Feb 2022 18:55

AW: Android 10+ "Seriennummer" oder so
 
Kauft man das per In-App-Kauf oder kommt man ohne Kauf gar nicht an die APK?

Zitat:

Zitat von himitsu (Beitrag 1501755)
Zitat:

Zitat von xbkbk (Beitrag 1501754)
Schlimmstenfalls Google Account, weil ich vermeiden möchte, dass Nutzer sich extra bei Google anmelden müssen, nur um meine App zu nutzen.

Wie sollen sie denn an deine App kommen?

Über den PlayStore ... tja, dafür brauchen sie sowieso einen Google-Account.

APKs von frei erhältlichen Programmen sammeln ja auch automatisch APKPure und Co., das finde ich sehr praktisch. Unsere MDE in der Firma haben alle keine Google-Accounts deshalb.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:59 Uhr.

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