如何通过Microsoft Store API获取唯一用户ID及插件购买历史?
针对Microsoft Store API应用内购买问题的解答
问题1:获取用户唯一标识的API
- 可通过
StoreContext.GetUserAsync()获取StoreUser对象,该对象的UserId属性是微软分配的GUID格式唯一用户标识,这是官方支持的合规用户标识方式。 - 邮箱ID属于用户隐私数据,受微软隐私政策限制,无法通过Store API直接获取,只能使用官方提供的GUID作为用户唯一标识。
示例代码片段:
var storeContext = StoreContext.GetDefault(); var storeUser = await storeContext.GetUserAsync(); string userId = storeUser.UserId; // 格式为GUID字符串
问题2:查询Addons历史拥有记录
- 目前Microsoft Store API的
GetUserCollectionAsync()仅返回用户当前活跃状态的已购Addons(未过期、未取消的),没有官方API可直接获取过期/已取消的历史Addons记录。 - 可行解决方案:
- 自行存储购买记录:每次用户完成Addons购买后,调用API获取购买凭证(如
RequestPurchaseAsync返回结果),将产品ID、购买时间、过期时间等关键信息存储到应用后端服务器或本地安全存储中,以此实现历史记录追溯。 - 配置Store Webhook:设置Microsoft Store的购买事件Webhook,当用户发生购买、续订、取消等操作时,后端会实时收到通知,可完整记录用户的Addons历史拥有轨迹。
- 自行存储购买记录:每次用户完成Addons购买后,调用API获取购买凭证(如
内容的提问来源于stack exchange,提问作者Neha
相关产品推荐
相关产品推荐

