获取用于登录Store的Microsoft ID

时间:2018-01-31 16:12:24

标签: c# unity3d uwp

我正在使用Unity3D开发通用Windows平台应用程序。我使用Windows.ApplicationModel.Store进行应用内购买。 CurrentApp.RequestProductPurchaseAsync函数自动显示一个对话框,要求用户登录商店以完成购买。

我的应用需要在本地存储一些与用户相关的数据,因此我需要一些方法来识别用户。理想情况下,我希望能够访问用于登录商店的相同Microsoft ID,因此用户只需登录一次。如果用户手动退出商店,我的应用会检测到此情况并要求他们重新登录。

  • 启动时,检查用户是否已登录商店。如果没有,请提示他们登录。
  • 在选择购买商品时,如果用户已登录商店,请继续使用该帐户;如果没有,请提示用户登录。
  • 在用户手动退出商店时,显示警告,并提示他们再次登录。

这可能吗?如果是这样,怎么办呢?如果没有,还有其他选择吗?

据我所知,网络帐户管理员(https://docs.microsoft.com/en-us/windows/uwp/security/web-account-manager)登录与商店登录分开;它不能用于检索用于登录Store的Microsoft ID。 (或者我错了吗?)

1 个答案:

答案 0 :(得分:0)

您可以使用Windows.System.User及其NonRoamableId属性。 NonRoamableId在设备上显示您的应用用户,这意味着如果用户在另一台计算机上安装该应用,则ID将会更改。

如果不完全了解您的要求(为什么您希望用户在登出时登录?)另一个选项可能是将所需数据存储到roaming or local settings。使用漫游设置,即使用户更改了计算机,您也可以访问应用已保存的设置。

或许您可以将数据存储到用户的Onedrive中。