Existe-t-il un identifiant unique de périphérique (UDID) ou un identifiant similaire que je peux lire sur Windows Phone 8 (WP8) et qui ne change pas avec les changements de matériel, la réinstallation d'applications, etc.
Dans les anciennes versions de Windows Phone, de tels identifiants existaient : WP7 : État du dispositif pour Windows Phone
WP7.1 : Classe DeviceStatus
Mais ils ne fonctionnent plus avec le SDK 8.0.
Pourquoi je demande : L'idée est qu'un utilisateur obtient des crédits gratuits au premier démarrage de l'application et je veux éviter que l'utilisateur réinstalle l'application pour obtenir de nouveaux crédits gratuits. Un enregistrement avec une adresse e-mail ou un numéro de téléphone pourrait résoudre ce problème, mais si je peux, je ne veux pas déranger les utilisateurs au premier démarrage avec un enregistrement.
---///---SOLUTION----------
Je peux confirmer que DeviceExtendedProperties.GetValue("DeviceUniqueId") fonctionne toujours dans WP 8.0. J'ai été un peu confus lorsque j'ai lu le texte suivant :
Dans Windows Phone OS 7.0, cette classe était utilisée pour interroger les propriétés spécifiques au périphérique. Dans Windows Phone OS 7.1, la plupart des propriétés de la classe DeviceExtendedProperties ont été supprimées et la nouvelle classe DeviceStatus doit être utilisée à la place. Cependant, lorsque cela est approprié, vous pouvez utiliser l'une des propriétés ci-dessous qui ne sont pas dépréciées.
MSDN:Classe DeviceExtendedProperties (propriétés étendues du dispositif)
Je peux exécuter le code suivant, supprimer l'application et la réinstaller et obtenir le même identifiant :
byte[] myDeviceID = (byte[])Microsoft.Phone.Info.DeviceExtendedProperties.GetValue("DeviceUniqueId");
string DeviceIDAsString = Convert.ToBase64String(myDeviceID);
MessageBox.Show(DeviceIDAsString);