Windows Phone のデバイスID, 匿名 LiveID の取得


環境: Windows Phone 7.1

http://msdn.microsoft.com/ja-jp/library/microsoft.phone.info.deviceextendedproperties.trygetvalue(v=vs.92).aspx

より、重要なところを抜粋。

Windows Phone OS 7.1 では、DeviceExtendedProperties のプロパティはほとんどが廃止されました。代わりに新しい DeviceStatus クラスを使用する必要があります。ただし、場合によっては、廃止されていない DeviceExtendedProperties のプロパティを引き続き使用できます。

DeviceStatus クラス

ApplicationCurrentMemoryUsage
現在のアプリケーションのメモリ使用量をバイト単位で返します。

パブリック プロパティApplicationMemoryUsageLimit
アプリケーション プロセスで割り当てることができるメモリの最大容量をバイト単位で返します。

パブリック プロパティApplicationPeakMemoryUsage
現在のアプリケーションの最大メモリ使用量をバイト単位で返します。

パブリック プロパティDeviceFirmwareVersion
デバイスで実行されているファームウェアのバージョンを返します。

パブリック プロパティDeviceHardwareVersion
デバイスで実行されているハードウェアのバージョンを返します。

パブリック プロパティDeviceManufacturer
デバイスの製造元の名前を返します。

パブリック プロパティDeviceName
デバイス名を返します。

パブリック プロパティDeviceTotalMemory
デバイスの物理 RAM サイズをバイト単位で返します。

パブリック プロパティIsKeyboardDeployed
ユーザーがデバイスの物理ハードウェア キーボードを開いたかどうかを示します。

パブリック プロパティIsKeyboardPresent
デバイスに物理ハードウェア キーボードが含まれるかどうかを示します。

パブリック プロパティPowerSource
デバイスが現在バッテリー電源で実行されているか、外部電源に接続されているかを示します。


DeviceExtendedProperties クラス

DeviceUniqueId

バイト配列。長さは 20 バイトです。

デバイスの一意のハッシュ コード。この値は、すべてのアプリケーションに共通する定数であり、デバイスのオペレーティング システムが新しいバージョンに更新されても変わりません。デバイス ID はデバイスの所有権が移った場合でも変更されないため、アプリケーションでこの値を使用することによってユーザーを識別することはできません。

ID_CAP_IDENTITY_DEVICE権限が必要となります。


一意のデバイス ID、製造元名、モデル名など、デバイス固有の情報を取得する方法

Getting to System Information on Windows Phone 7 より

一意のデバイス ID、製造元名、モデル名など、デバイス固有の情報を取得するには、 ID_CAP_IDENTITY_DEVICE権限が必要です。

object temp = null;
DeviceManufacturer = (DeviceExtendedProperties.TryGetValue("DeviceManufacturer", out temp)) ? (temp as string) : String.Empty;

DeviceName = (DeviceExtendedProperties.TryGetValue("DeviceName", out temp) ? (temp as string) : string.Empty);

DeviceUniqueID = (DeviceExtendedProperties.TryGetValue("DeviceUniqueID", out temp) ? (temp as byte[]) : new byte[0]);

DeviceFirmwareVersion = (DeviceExtendedProperties.TryGetValue("DeviceFirmwareVersion", out temp) ? (temp as string) : String.Empty);

DeviceHardwareVersion = (DeviceExtendedProperties.TryGetValue("DeviceHardwareVersion", out temp) ? (temp as string) : String.Empty);

DeviceTotalMemory = (long)DeviceExtendedProperties.GetValue("DeviceTotalMemory");

ApplicationCurrentMemoryUsage = (long) DeviceExtendedProperties.GetValue("ApplicationCurrentMemoryUsage");

ApplicationPeakMemoryUsage = (long) DeviceExtendedProperties.GetValue("ApplicationPeakMemoryUsage");


匿名 LiveID を取得する方法

Windows Phone 7 – How to find the device unique id windows live anonymous Id and manufacturer より

匿名Live ID を取得するには、ID_CAP_IDENTITY_USER権限が必要です。

private readonly int ANIDLength = 32;  
private readonly int ANIDOffset = 2; 

string result = string.Empty; 

object anid; 

if (UserExtendedProperties.TryGetValue("ANID", out anid))  
  {
if (anid != null && anid.ToString().Length  >=
    (ANIDLength + ANIDOffset ))
    {
      result = anid.ToString().Substring(ANIDOffset, ANIDLength);  
    }
  }

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中


%d人のブロガーが「いいね」をつけました。