9

我们已将免费的 UWP 应用发布到 Microsoft Store,其中包含非消耗性升级插件。由于最近向公众推出了新的订阅计费模式,我们计划通过在下一个版本中添加订阅计划来利用它。

我们还想在我们的后端查看和管理用户拥有的附加组件,并且有相关文档可以做到这一点。我们密切关注它,但最终——例如,在尝试为用户获取订阅时——我们总是得到一个空的响应:{ "items": [] }.

这是我们一步一步简要地做的事情:

  1. 在 Azure Active Directory 中创建了新的应用注册。
  2. 通过合作伙伴仪表板将应用注册的标识符与我们的应用相关联。
  3. 为以下受众 URI 创建了三个 Azure Active Directory (AAD) 令牌:

  4. 代表我们的测试 Microsoft 帐户通过调用StoreContext.GetCustomerCollectionsIdAsyncStoreContext.GetCustomerPurchaseIdAsync分别从我们应用程序中的客户端代码创建用于收集和购买 API 的 Microsoft Store ID 密钥。为了生成每个密钥,我们使用了步骤 3 中对应的 AAD 令牌。

  5. 为用户请求的产品/订阅(使用步骤 3 中的授权 AAD 令牌和步骤 4 中的商店 ID 密钥)。

所以我们得到了200 "OK"回应,但列表总是的,这非常令人失望,实际上对我们来说是一个主要的阻塞问题。

我们还可以通过“订单历史记录”确认我们上述测试 Microsoft 帐户拥有至少一个持久附加组件和一个订阅。可以通过调用客户端应用程序中的 APIStoreContext.GetUserCollectionAsyncStoreContext.GetAppLicenseAsyncAPI 来检查相同的结果——确实有一种非消耗性产品和一种订阅。

我在官方论坛上发布了同样的问题,但不确定我们是否会很快得到回复,所以决定也在这里发布。请注意,论坛上也发布了类似的问题,但从线程中不清楚它是否已解决。

有没有人设法从他们的后端服务获得用户购买?我们将不胜感激任何指导,这也可以使它对我们有用。

更新(2018.08.29):

所以我们在这个问题上取得了一些进展。我们创建了新的非免费(0.99 美元)订阅插件,购买了它并为用户请求订阅。令人惊讶的是,响应中出现了一个新项目!

值得一提的是,同一用户已经拥有多个免费订阅,但没有一个在响应列表中。而且我从未在文档中看到任何关于免费订阅限制的提及,说它们不会包含在退回的项目中。

无论如何,订阅的问题已部分解决,现在我们无法通过“查询产品”API获取任何非消耗性耐用附加组件的信息,无论其价格等级如何——这也是一个主要问题,因此进一步调查是需要。

4

1 回答 1

3

最后似乎我们解决了这个问题!

非消耗性耐用产品和订阅的场景略有不同,但它们都与附加属性中关于个人数据收集的新要求问题有关,如下所示:

在此处输入图像描述

以下是您需要做的:

  1. 如果您很久以前提交了一个非消耗性耐用插件,您需要创建一个新的提交,选择上述问题的任何答案并将其提交给认证。一旦您的产品更新版本在商店中,请尝试请求用户收集产品 - 它现在应该包含在响应中。
  2. 如果您创建订阅附加组件,看起来您必须对问题选择“是”并提供隐私政策 URL,否则它将永远不会出现在对“用户订阅”的响应中。另请注意,根据我们的经验,与非消耗性耐用产品相比,生效需要更长的时间——认证完成后最多 24 小时左右。

好的,现在好了,但是我就是不明白为什么微软没有在文档中直接提到这些要求,导致很多天都在沮丧中迷失……</p>

于 2018-08-31T09:47:36.730 回答