9

WMAppManifest.xmlに追加しました:

  • <Capability Name="ID_CAP_IDENTITY_DEVICE" />
  • <Capability Name="ID_CAP_IDENTITY_USER" />

では、なぜ私は以下から空の文字列を取得し続けるのですか?

        public static string GetWindowsLiveAnonymousID()
        {
            int ANIDLength = 32;
            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);
                }
            }

            return result;
        }

そのTryGetValueをうまく処理できないようです...誰かが手がかりを得ましたか?

4

3 に答える 3

15

これは、WindowsPhone8ではANID2と呼ばれています。

UserExtendedProperties APIは、ANIDとANID2の2つのプロパティを公開します。

  • ANIDには、Microsoft Advertising SDK forWindowsPhoneを使用するWindowsPhoneOS7.0およびWindowsPhoneOS7.1アプリからのみアクセスできます。

  • ANID2には、WindowsPhone8アプリからのアクセスできます。

于 2012-12-20T14:24:17.847 に答える
1

WinPhone8アプリの代わりに使用してください

string anid = UserExtendedProperties.GetValue("ANID2") as string;

また、それらがWMAppManifestからチェックされていることを確認してください

<Capability Name="ID_CAP_IDENTITY_DEVICE" />
<Capability Name="ID_CAP_IDENTITY_USER" />
于 2014-05-14T19:49:51.237 に答える
0

セキュリティ上の理由から、WindowsPhone8デバイスでANIDをリクエストできなくなったことを覚えているようです。同じように、W8デバイスでMACアドレスを要求することはできなくなりました。Guid.NewGuid()をローカルに保存し、その方法で識別します。

于 2012-12-20T14:27:17.330 に答える