繁体   English   中英

如何在Windows Phone 8上获得WP7风格的ANID?

[英]How to get WP7-style ANID on Windows Phone 8?

我有一个Windows Phone 7应用程序,它依赖于ANID在远程服务器上存储用户数据。 现在我正在准备它的Windows Phone 8版本。 当用户下载此更新时,之前的WP7应用程序版本将被这个新的WP8版本取代。

但是存在一个很大的问题:在WP8中有ANID2而不是ANID。 我知道如何将ANID转换为ANID2( 在C#上将Windows Phone ANID转换为ANID2转换? )。 但我需要整个ANID。 在WP7中,ANID看起来像:“A = 2E23ACF364795673CD7EBB58FFFFFFFF&E = f48&W = 3”。 我提取32个字符的值(2E23ACF364795673CD7EBB58FFFFFFFF)并将其用作UID(我听说剩余部分可能会被更改,但32个ID将始终相同)。

所以我可以在远程服务器上即时将AN7从WP7版本转换为ANID2,但我没有全部44个字母 - 只有32个字母。

我可能会将WP7版本更新为另一个将整个ANID发送到服务器的WP7版本,但是我不能依赖这样一个事实:所有人都会更新他们的应用程序,将他们的数据保存到服务器然后在wp8版本将会再次更新他们的应用程序可用。

所以我的问题是:

  • 有没有办法在WP8应用程序中获得WP7风格的ANID值(可能通过反射或c ++)?

  • 可以将ANID转换为仅具有32个字符的uid部分的ANID2吗?

  • 有没有办法找出特定的ANID2是否对应现有的32个字符的ANID部分?

  • 如果我们知道开发人员GUID,如何将ANID2反向转换为ANID?

  • 用户可以选择要安装的版本(如果WP7和WP8版本可用)?


更新

到目前为止,我的解决方法是为用户提供wp8版本wp7实用工具,该工具从ANID生成ANID2并将该对存储到远程数据库。 然后获得wp8版本更新的用户可以继续使用他的wp7应用程序配置文件。 虽然我仍在寻找更好的解决方案。

顺便说一句,我刚刚意识到:虽然我们试图遵循MSFT“单屏幕”的意识形态,并试图让我们的用户同时访问所有MSFT设备上的数据,但是MSFT让我们保持并以某种方式同步三个是非常愚蠢的(!!!)一个用户登录他的wp7,wp8和具有相同实时ID的Windows 8设备的不同ID! MSFT不希望我们如此看到这个实时id,它给了我们三个不同的无限表示。 可笑,伙计们!

唯一的方法是在问题中描述:在主应用程序的wp8版本中发布带有链接的隐藏实用程序。 实用程序本身是一个可以访问ANID的wp7二进制文件,使用dev GUID可以生成ANID2。 它将两个值都发送到服务器,并且用户自带ANID2服务器检查字典并找到相应的ANID。 不那么简单但很容易。 希望它可以帮助某人。

我会在第一次启动应用程序时使用GUID创建,将其存储在隔离存储中并使用它。 它不会涵盖卸载/重新安装方案,但无论如何这都是一个非常小的百分比。

顺便说一句,用户只能从商店获得最新版本,因此他/她不能选择旧版本(WP7手机只会获得wp7版本的课程,但wp8用户将始终从商店获得最新版本)

这可能听起来有点幼稚,可能你已经考虑过了,是的,这只是你的核心问题的答案,是否有可能单独的Windows Phone 8应用程序指向ANID2实现,可能是另一个远程终点,有一段时间,直到MS自己杀死早期(WP7)平台:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM