WindowsPhone DeviceInfo Helper

O namespace Microsoft.Phone.Info é usado para recuperar informações sobre o dispositivo e informações de identificador anônimo sobre o usuário.

public enum DeviceKey
{
DeviceName,
DeviceUniqueId,
DeviceManufacturer,
ApplicationCurrentMemoryUsage,
ApplicationPeakMemoryUsage,
DeviceFirmwareVersion,
DeviceHardwareVersion,
DeviceTotalMemory
}

DeviceName
O nome do dispositivo. Não existe um formato padrão para esta string. Este valor pode estar vazio.

DeviceUniqueId
Um hash exclusivo para o dispositivo. Este valor será constante em todos os aplicativos e não mudará se o telefone for atualizado com uma nova versão do sistema operacional. Os aplicativos não devem usar isso para identificar usuários porque a ID do dispositivo permanecerá inalterada mesmo se a propriedade do dispositivo for transferida.

DeviceManufacturer
O nome do fabricante do dispositivo. Não existe um formato padrão para esta string. Recomendamos que o mesmo valor seja usado por todos os dispositivos de um fabricante, mas isso não é obrigatório. Este valor pode estar vazio.

ApplicationCurrentMemoryUsage
O uso de memória do aplicativo atual em bytes.

ApplicationPeakMemoryUsage
O pico de uso da memória do aplicativo atual em bytes.

DeviceFirmwareVersion
A versão do firmware em execução no dispositivo. Esta não é a mesma que a versão do sistema operacional, que pode ser recuperada usando System.Environment . Este valor pode estar vazio.

DeviceHardwareVersion
A versão de hardware em execução do dispositivo. Esta não é a mesma que a versão do sistema operacional, que pode ser recuperada usando System.Environment. Este valor pode estar vazio.

DeviceTotalMemory
O tamanho físico da RAM do dispositivo em bytes. Esse valor será menor que a quantidade real de memória do dispositivo, mas pode ser usado para determinar os requisitos de consumo de memória.

Como obter propriedades estendidas do dispositivo.

public static string GetDeviceInfo(DeviceKey key)
{
string result = string.Empty;
object deviceInfo;

if (DeviceExtendedProperties
.TryGetValue(key.ToString(),
out deviceInfo))
{
result
= deviceInfo.ToString();
}
return result;
}

Como obter um identificador anônimo.

public static string GetAnonymousID()
{
string anID = UserExtendedProperties
.GetValue("ANID") as string;
return anID.Substring(2, 32);
}

Uso

string deviceName = DeviceInfoHelper
.GetDeviceInfo(DeviceInfoHelper
.DeviceKey.DeviceName);

Referência: MSDN e http://ben.ferit.im