Tutoriels

Comment récupérer l’identifiant unique d’un téléphone Android

Pinterest LinkedIn Tumblr

Parfois, il est nécessaire lors du développement d’une application Android d’obtenir l’identifiant unique du smartphone Android. Cela est nécessaire dans les cas où le développeur souhaite suivre les installations de périphériques uniques de l’application et l’identifier.

Cela est également utile dans les cas où le développeur mobile Android ou iOS souhaite envoyer des messages Push à seulement quelques appareils spécifiques. Ici, il devient donc nécessaire d’avoir un UDID pour chaque appareil.

Avec Android, il existe de nombreuses alternatives à l’UDID de l’appareil. dans cet article, nous nous sommes donnés à répertorier 4 quatre méthodes différentes pour obtenir l’Identifiant unique d’un téléphone sous Android avec leurs avantages et inconvénients et toutes les autorisations nécessaires pour obtenir chaque type d’ID de l’appareil.

Quatre méthodes pour récupérer l’identifiant unique d’un téléphone

  1. IMEI: (International Mobile Equipment Identity)
  2. Android ID
  3. WLAN MAC Address string
  4. Bluetooth Address string

Par IMEI

Le numéro IMEI est une très bonne source principale pour obtenir l’ID de l’appareil. Il est unique pour chaque appareil et dépend du matériel de l’appareil. Il est donc également unique pour chaque appareil et il est permanent jusqu’à la durée de vie de l’appareil.

L’extrait de code pour obtenir l’adresse IMEI du téléphone est comme ci-dessous

TelephonyManager TelephonyMgr = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
String m_deviceId = TelephonyMgr.getDeviceId();

Pour cela, votre application nécessitera l’autorisation « android.permission.READ_PHONE_STATE » dans le fichier manifeste.

Les avantages

L’IMEI est unique pour chaque appareil. Il reste unique pour l’appareil même si le système est réinstallé ou si l’appareil est enraciné (Rooté) ou réinitialisé aux paramètres d’usine.

Les Inconvénients

L’obtention de l’identifiant unique par IMEI dépend de l’emplacement de chaque carte SIM de l’appareil, il est donc impossible d’obtenir une telle identité pour les appareils qui n’utilisent pas les cartes SIM en plus, pour les téléphones à double carte SIM, nous obtenons 2 IMEI différents pour le même appareil car il dispose de 2 emplacements.

Par Android ID

Android ID est un numéro 64 bits unique qui est généré et stocké lors du premier démarrage de l’appareil. L’Android_ID est effacé lorsque l’appareil est réinitialisé aux paramètres d’usine et un nouveau sera généré.

Le code pour obtenir Android ID est semblable à celui-ci :

String m_androidId = Secure.getString(getContentResolver(), Secure.ANDROID_ID);

Les avantages

Il s’agit d’un identifiant unique pour tous les types d’appareils (téléphones intelligents et tablettes). Pas besoin de permission.

Il restera unique sur tous les appareils et il fonctionne sur les téléphones même sans carte SIM.

Les Inconvénients

Si la version d’Android OS est mise à niveau par l’utilisateur, cela peut être modifié. L’ID est modifié si l’appareil est enraciné ou si la réinitialisation d’usine est effectuée sur l’appareil. Il existe également un problème connu avec des fabricants chinois d’appareils Android selon lequel certains appareils ont le même Android ID.

Pas l’dresse MAC ou WLAN

Nous pouvons également obtenir l’ID unique pour les téléphones Android en utilisant l’adresse MAC WLAN. L’adresse MAC est unique pour tous les appareils et fonctionne pour tous les types d’appareils.

Voici un petit extrait de code pour récupérer l’adresse MAC WLAN d’un appareil

WifiManager m_wm = (WifiManager)getSystemService(Context.WIFI_SERVICE); 
String m_wlanMacAdd = m_wm.getConnectionInfo().getMacAddress();

Votre application nécessitera l’autorisation « android.permission.ACCESS_WIFI_STATE » dans le fichier manifeste de votre application

L’avantage de l’adresse MAC WLAN

Il s’agit d’un identifiant unique pour tous les types d’appareils (téléphones intelligents et tablettes). Il reste unique même si le système est réinstallé.

L’Inconvénient

Si l’appareil n’a pas de matériel wifi, vous obtenez une adresse MAC nulle, mais généralement, la plupart des appareils Android ont du matériel wifi et il y a à peine quelques appareils sur le marché sans wifi.

Par Bluetooth

Nous pouvons également obtenir l’ID unique pour les téléphones Android à l’aide du périphérique Bluetooth. L’adresse du périphérique Bluetooth est unique pour chaque périphérique doté d’un matériel Bluetooth.

L’extrait de code pour obtenir l’adresse Bluetooth de votre téléphone

BluetoothAdapter m_BluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); 
String m_bluetoothAdd = m_BluetoothAdapter.getAddress();

Pour récupérer l’identifiant unique en utilisant le matériel Bluetooth, vous devez ajouter l’autorisation « android.permission.BLUETOOTH » dans le fichier manifeste de votre application.

Avantage

il s’agit d’un identifiant unique pour tous les types d’appareils (téléphones intelligents et tablettes). Il y a généralement un seul matériel Bluetooth dans tous les appareils et il ne change pas.

Inconvénient

Si le périphérique n’a pas de matériel Bluetooth, vous obtiendrez la valeur Null.

Ce ne sont que là quelques-unes des meilleures façons pour obtenir l’identifiant unique de l’appareil pour smartphone Android et leurs avantages et inconvénients à l’utiliser. Maintenant, c’est à vous de décider quelle méthode utiliser en fonction des exigences de développement de votre applications Android.

S’il existe d’autres meilleures méthodes pour obtenir l’UDID que celles citées ci-dessus, nous aimerions les savoir aussi. Partagez-les dans la section commentaire et aussi si y a des suggestions.

 

 

0 0 vote
Article Rating
S’abonner
Notifier de
guest
0 Commentaires
Inline Feedbacks
View all comments