Получить уникальный идентификатор устройства (UDID) под Windows Phone 8
Существует ли какой-либо уникальный идентификатор устройства (UDID) или аналогичный идентификатор, который я могу прочитать в Windows Phone 8 (WP8), который не меняется при смене оборудования, переустановке приложения и т. Д.?
В более старых версиях Windows Phone были такие идентификаторы: WP7:Состояние устройства для Windows Phone
WP7.1:DeviceStatus Class
Но они больше не работают с SDK 8.0.
Почему я спрашиваю: Идея состоит в том, что пользователь получает бесплатные кредиты при первом запуске приложения, и я хочу, чтобы пользователь просто переустанавливал приложение для получения новых бесплатных кредитов. Регистрация с помощью электронной почты или номера телефона может решить эту проблему, но если я могу, я не хочу беспокоить пользователей при первом запуске с регистрацией.
---///---РЕШЕНИЕ----------
Я могу подтвердить, что DeviceExtendedProperties.GetValue ("DeviceUniqueId") все еще работает в WP 8.0. Я немного запутался, когда прочитал следующий текст:
В ОС Windows Phone 7.0 этот класс использовался для запроса свойств устройства. В ОС Windows Phone 7.1 большинство свойств в DeviceExtendedProperties устарели, и вместо них следует использовать новый класс DeviceStatus. Однако, где это уместно, вы все равно можете использовать любое из нижеприведенных свойств, которые не рекомендуется использовать.
MSDN: класс DeviceExtendedProperties
Я могу запустить следующий код, удалить приложение, переустановить его и получить тот же идентификатор:
byte[] myDeviceID = (byte[])Microsoft.Phone.Info.DeviceExtendedProperties.GetValue("DeviceUniqueId");
string DeviceIDAsString = Convert.ToBase64String(myDeviceID);
MessageBox.Show(DeviceIDAsString);