我们有一个网络服务,需要通过他的设备识别用户,wp8和win8。
在电话方面,我们有UserExtendedProperties.GetValue("ANID2")
,这是匿名的微软ID。
在Windows8上,OnlineIdAuthenticator.AuthenticateUserAsync
带有UserIdentity.SafeCustomerId
和其他属性,但它们都不像ANID2。
OnlineIdAuthenticator api存在于手机上,但会抛出NotImplementedException。
有没有办法在win8和wp8上获得通用用户标识符?
由于
答案 0 :(得分:1)
我知道的最佳方式(显然也是推荐方式)是使用Azure移动服务(http://www.windowsazure.com/en-us/home/scenarios/mobile-services/)。您可以使用免费计划。 使用移动服务,您可以使用MobileServiceClient(http://msdn.microsoft.com/en-us/library/microsoft.windowsazure.mobileservices.mobileserviceclient.aspx)为每个用户获取唯一ID(基于MS帐户)。
此代码获取用户ID:
MobileServiceClient client = new MobileServiceClient(serviceUri);
MobileServiceUser user = await client.LoginAsync(MobileServiceAuthenticationProvider.MicrosoftAccount);
/* The user ID contains the provider name and the ID seperated by a colon */
var userId = user.UserId.Split(':').Last();
您可以在此处找到更多信息:http://msdn.microsoft.com/en-us/library/jj863454.aspx 和SDK在这里:http://www.windowsazure.com/en-us/develop/mobile/developer-tools/