[Tips and Tricks] Identificar un dispositivo Windows 8.

Introducción

En determinadas ocasiones desearemos que cierta opción solo aparezca una vez por dispositivo. Por ejemplo, si deseamos realizar ventas dentro de una aplicación (in-app purchases).

¿Cómo controlamos estas situaciones?

Identificar un dispositivo único

Dentro del namespace Windows.System.Profile contamos con métodos para poder obtener un HardwareToken del dispositivo.

Utilizaremos el método HardwareIdentification.GetPackageSpecificToken(null). La clase contiene una serie de propiedades muy interesantes:

var packageSpecificToken =  Windows.System.Profile.HardwareIdentification.getPackageSpecificToken(null);
var hardwareId = packageSpecificToken.id;
var signature = packageSpecificToken.signature;
var certificate = packageSpecificToken.certificate;

Nos interesa la propiedad id (hardwareId). Es de tipo Windows.Storage.Stream.ibuffer. Utilizaremos un DataReader para poder obtener un array de bytes que podamos transformar a un simple string:

var dataReader = Windows.Storage.Streams.DataReader.FromBuffer(hardwareId);
byte[] bytes = new byte[hardwareId.Length];
dataReader.ReadBytes(bytes);

Tras obtener el array de bytes lo convertimos a un string:

string id = BitConverter.ToString(bytes);

NOTA: Cuidado. El valor obtenido puede llegar a cambiar si se realizan cambios a nivel de hardware en el dispositivo.

Más información

2 pensamientos en “[Tips and Tricks] Identificar un dispositivo Windows 8.

    • Si, podríamos conseguir algo similar. Por ejemplo:

      object uniqueID;
      if (Microsoft.Phone.Info.DeviceExtendedProperties.TryGetValue(“DeviceUniqueID”, out uniqueID) == true)
      {
      byte[] id = (byte[])uniqueID;
      string deviceID = Convert.ToBase64String(id);
      }

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s