Hallo, alle miteinander! Wenn Sie eine eindeutige und stabile Android-GerĂ€tekennung fĂŒr die Verwendung in einer Anwendung erstellen mĂŒssen, haben Sie wahrscheinlich das Chaos bemerkt, das in der Dokumentation und in den Antworten zum StapelĂŒberlauf vorhanden ist . Lassen Sie uns einen Blick darauf werfen, wie diese Herausforderung im Jahr 2020 angegangen werden kann. In dieser kurzen Ăbersicht erfahren Sie, wo Sie eine Kennung erhalten, die gegen eine Neuinstallation Ihrer Anwendung resistent ist, und welche Schwierigkeiten in Zukunft auftreten können. Gehen!
Warum ist eine Identifizierung erforderlich?
In letzter Zeit werden Diskussionen ĂŒber den Datenschutz von Benutzerdaten immer beliebter. Vielleicht liegt dies an den wachsenden Einnahmen der Werbegiganten. Vielleicht liegt unter diesen Diskussionen eine Besorgnis ĂŒber Monopole, die Benutzer und ihre GerĂ€te identifizieren. Apple, das die Ăberwachung bekĂ€mpft und alle Entwickler auf die Verwendung von IDFA beschrĂ€nkt, beschrĂ€nkt sich gleichzeitig nicht auf sich selbst . Was sicher gesagt werden kann: Der Prozess der Identifizierung eines Benutzers einer Anwendung fĂŒr Entwickler ist komplizierter geworden.
Identifikationsbasierte Aufgaben umfassen: RĂŒckgabeanalyse, Personalisierung von Inhalten und Werbung sowie BetrugsprĂ€vention.
Unter den letzteren gibt es mehrere dringende Probleme:
Freigegebene Konten in Diensten mit kostenpflichtigen Abonnements oder eindeutigen kostenpflichtigen Inhalten. Stellen Sie sich vor, wie viel Dienste wie Netflix oder Coursera verlieren, wenn Benutzer ein Konto fĂŒr mehrere Personen haben.
Kontodiebstahl.
Beide Probleme fĂŒhren entweder zu Einnahmeverlusten oder zu Reputationsverlusten. Die ZuverlĂ€ssigkeit ihrer Lösung hĂ€ngt direkt von der ZuverlĂ€ssigkeit der GerĂ€teidentifikation ab.
Grundlegende Identifikationsmethoden
Verwenden von Hardware-IDs
Veraltete und derzeit nicht praktikable Methode. Google hat den Zugriff auf sie gut blockiert, da sie sich auch nach einem ZurĂŒcksetzen auf die Werkseinstellungen nicht Ă€ndern. Unter solchen Kennungen:
IMEI
IMSI
MAC-Adresse
. , , Play Market. , . .
, : , .
UUID
cookie: , ( SharedPreferences), . , cookie â . .
- . â . (app instance ID).
,
ANDROID_ID. , , , . Android 8.0 , â . ( ).
, . ( ) Google . , , ( 2020 ).
:
<uses-permission android:name="com.google.android.providers.gsf.permission.READGSERVICES" />
:
public static String getGsfAndroidId(Context context) {
String params[] = { ID_KEY };
Cursor c = context.getContentResolver().query(URI, null, null, params,
null);
if (!c.moveToFirst() || c.getColumnCount() < 2)
return null;
try {
return Long.toHexString(Long.parseLong(c.getString(1)));
} catch (NumberFormatException e) {
return null;
}
}
: ContentProvider-a, Google. , Google . , .. Play Market.
. , , Xposed, ANDROID_ID, GSF_ID. , .
(fingerprint)
device-fingerprinting , . â FingerprintJS â 13 GitHub. cookie.
( ).
- Android-. 4 . Samsung? , 600 . Samsung , Android 9? 150 . , ? , , . 25000 . , . â , . , .
Android, , , , , .
, . .
â ( ANDROID_ID), . â .
â . , . , , . â , .
, .
, . ? , . .
â . , . , . , android-arsenal, , .
Android-device-identification â . , , , ANDROID_ID, Build. , 2 , . , , .
Fingerprint-android â . 2 : getDeviceId getFingerprint. GSF_ID ANDROID_ID, , , . getFingerprint â . . , Kotlin, .
, , ANDROID_ID GSF_ID. Android, , .
Wenn Sie Fragen oder ErgĂ€nzungen haben, teilen Sie diese in den Kommentaren mit. Und das ist alles, danke fĂŒr Ihre Aufmerksamkeit!