是否有一种可接受的方式来判断用户是否使用Microsoft帐户而不是本地帐户登录到Windows通用应用程序?Windows Universal - 如何检查用户是否登录到Microsoft帐户?
我试图实施应用内购买,如果CurrentApp :: GetUnfulfilledConsumables()是从本地帐户中调用的,我已经遇到了麻烦。引发异常“特定帐户不存在”。
网络上的一些人正在使用Live SDK来尝试初始化用户的凭据,这对非Microsoft帐户将失败。通过这种方式,他们有一个迂回的方式来计算出用户是否已登录。(https://social.msdn.microsoft.com/Forums/en-US/f6946851-b495-45f6-95a4-eb3c2a004c0e/live-sdk-v53-how-to-tell-the-difference-between-a-user-logged-in-with-a-microsoft-account-and?forum=messengerconnect)
但我想知道是否有更好,更干净的方式来检测用户是否登录到Microsoft帐户或一个本地帐户,而不必为了一个函数调用而集成整个SDK。
感谢您的帮助。
我希望能够在打电话购买API之前进行安全检查。如果我发现更接近我所寻找的东西,我一定会回来。 谢谢你的建议。 – Kylaaa
如何对'try..catch'内的'CurrentApp :: GetUnfulfilledConsumables()'进行静默调用,看它是否引发异常。如果没有,那么你很好地启用你的应用程序内购买用户界面。如果它引发异常,则应用内购买无效,您可以禁用UI。 –
最终,我的应用程序的购买流程只有两个入口点:CurrentApp :: PurchaseProduct()和CurrentApp :: GetUnfulfilledConsumables()。 Microsoft处理用户未登录到PurchaseProduct()的帐户的情况。所以最终,你的解决方案解决了我的问题,即使不是我希望的方式。 如果调用抛出一个字符串值等于“-2147023579”的HResult异常,我们知道这是因为“该特定帐户不存在”。 谢谢雷蒙德。 – Kylaaa