我正在使用Unity3D开发通用Windows平台应用程序。我使用Windows.ApplicationModel.Store进行应用内购买。 CurrentApp.RequestProductPurchaseAsync函数自动显示一个对话框,要求用户登录商店以完成购买。
我的应用需要在本地存储一些与用户相关的数据,因此我需要一些方法来识别用户。理想情况下,我希望能够访问用于登录商店的相同Microsoft ID,因此用户只需登录一次。如果用户手动退出商店,我的应用会检测到此情况并要求他们重新登录。
这可能吗?如果是这样,怎么办呢?如果没有,还有其他选择吗?
据我所知,网络帐户管理员(https://docs.microsoft.com/en-us/windows/uwp/security/web-account-manager)登录与商店登录分开;它不能用于检索用于登录Store的Microsoft ID。 (或者我错了吗?)
答案 0 :(得分:0)
您可以使用Windows.System.User及其NonRoamableId属性。 NonRoamableId在设备上显示您的应用用户,这意味着如果用户在另一台计算机上安装该应用,则ID将会更改。
如果不完全了解您的要求(为什么您希望用户在登出时登录?)另一个选项可能是将所需数据存储到roaming or local settings。使用漫游设置,即使用户更改了计算机,您也可以访问应用已保存的设置。
或许您可以将数据存储到用户的Onedrive中。