[FIXED] Bestmöglicher Weg, um die Geräte-ID in Android zu erhalten

Ausgabe

Ich frage mich nur, was das Beste wäre, um die Geräte-ID zu erhalten. Ich habe 2 Optionen, entweder ich verwende den folgenden Code, der eine Laufzeitberechtigung benötigen würde android.permission.READ_PHONE_STATE

private String android_id = Secure.getString(getContext().getContentResolver(),
                                                        Secure.ANDROID_ID); 

Oder

Zweitens habe ich die Option einer UUID, die keine Laufzeitberechtigung benötigt, aber zur Identifizierung Benutzerdaten (wie E-Mail oder Telefon) zugeordnet werden muss.

String uniqueID = UUID.randomUUID().toString();

Irgendwelche Vorschläge, welche zu verwenden sind und warum, würden geschätzt.

Vielen Dank

Lösung

ANDROID-ID:

Beim ersten Start eines Geräts wird ein Zufallswert generiert und gespeichert. Dieser Wert ist über Settings.Secure.ANDROID_ID verfügbar. Es ist eine 64-Bit-Zahl, die für die Lebensdauer eines Geräts konstant bleiben sollte. ANDROID_ID scheint eine gute Wahl für eine eindeutige Gerätekennung zu sein, da sie für Smartphones und Tablets verfügbar ist.

Probleme:
Der Wert kann sich jedoch ändern, wenn das Gerät auf die Werkseinstellungen zurückgesetzt wird.
Es gibt auch einen bekannten Fehler bei einem beliebten Mobiltelefon eines Herstellers, bei dem jede Instanz dieselbe ANDROID_ID hat. Natürlich ist die Lösung nicht 100 % zuverlässig.

UUID:

Da die Anforderung für die meisten Anwendungen darin besteht, eine bestimmte Installation und kein physisches Gerät zu identifizieren, ist es eine gute Lösung, eine eindeutige ID für einen Benutzer zu erhalten, wenn die UUID-Klasse verwendet wird.

Probleme:
Die Methode UUID.randomUUID() generiert eine eindeutige Kennung für eine bestimmte Installation.
Sie müssen diesen Wert nur speichern und Ihr Benutzer wird beim nächsten Start Ihrer Anwendung identifiziert. Sie können auch versuchen, diese Lösung mit dem Android Backup-Dienst zu verknüpfen, um die Informationen für den Benutzer verfügbar zu halten, auch wenn er Ihre Anwendung auf einem anderen Gerät installiert.

FAZIT:

Das Identifizieren eines bestimmten Geräts auf Android ist keine einfache Sache. Es gibt viele gute Gründe, das zu vermeiden. Die beste Lösung besteht wahrscheinlich darin, eine bestimmte Installation mithilfe der UUID-Lösung zu identifizieren. Wenn Sie jedoch ein bestimmtes Gerät unbedingt physisch identifizieren möchten, können Sie versuchen, die ANDROID_ID-Lösung zu verwenden. Nicht 100% zuverlässig, aber besser als eine andere Lösung.


Beantwortet von –
Gowrishankar


Antwort geprüft von –
David Marino (FixError Volunteer)

0 Shares:
Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like