【问题标题】:Subscription Add-ons for UWP app are not found未找到 UWP 应用的订阅加载项
【发布时间】:2020-11-28 04:17:19
【问题描述】:

我有一个在 Microsoft App Store 中配置如下的应用:

市场:241

可见性:公众受众 - 使项目在 Microsoft Store 中可用但不可发现,并且:仅直接链接:任何具有直接链接的客户.....

时间表:此产品将尽快提供给客户。

基本价格:免费

免费试用:限时 30 天。

然后,我为该应用程序提供了不同的订阅附加组件,如下所示:

我的 30 天订阅配置如下(只是看看它是否与其他订阅有所不同)

订阅期:每月

免费试用:一个月

市场:可用于 241 个市场

可见性:公开 - 可以显示在父产品的 Microsoft Store 列表中。 (请注意,这是此订阅与其他订阅的不同之处。)

发布:尽快

基本价格:免费(因此我无需购买即可进行测试)

其他订阅配置如下:

订阅期:3个月、6个月或12个月

免费试用:没有免费试用

市场:可用于 241 个市场

可见性:公开 - 隐藏在 Microsoft Store 中,并且:仅可在父应用内购买。

发布:尽快

基本价格:免费(因此我无需购买即可进行测试)

以下是合作伙伴中心的概览屏幕

挑战在于,当我尝试为我的应用获取可用的附加组件时,什么都没有返回。下面是我正在运行的代码:

private StoreContext UWPStoreContext;
UWPStoreContext = StoreContext.GetDefault();

string[] productKinds = { "Consumable", "Durable", "UnmanagedConsumable" };
List<String> filterList = new List<string>(productKinds);

StoreProductQueryResult queryResult = await UWPStoreContext.GetAssociatedStoreProductsAsync(productKinds);

查询结果如下所示:

我确定我只是有一些配置错误,但似乎无法弄清楚是什么。我期望发生的是 queryResults 将包含我的四个订阅,其中包含来自商店的信息。

任何帮助将不胜感激。

**** 更新 ****

我 99% 确定我已将 Visual Studio 中的应用与应用商店中的应用相关联。 (我通过 VS 菜单选项进行了关联 - 然后通过从 App Store 收到的链接从 App Store 下载了该应用程序,并在我的开发机器上运行了该应用程序的 App Store 版本。此过程基于来自的说明微软指出应该如何设置测试。)

另外 - 我正在使用代码行获取应用程序信息:

var tobj_ProductInfo =  await context.GetStoreProductForCurrentAppAsync();

在 tobj_ProductInfo 对象中,我看到以下信息:

如果我在 Visual Studio 中的项目未与应用商店中的应用相关联,我认为我不会获得此信息。

【问题讨论】:

  • 能否请您使用here 中仅定义耐用的代码?
  • @RoyLi-MSFT 这与我使用的代码完全相同(您可以在上面的示例中看到它。无论如何,当我将示例代码放入并运行它时,我得到了完全相同的结果。调用 await context.GetAssociatedStoreProductsAsync(new string[] { "Durable" }); 的结果对象为 null,并且没有返回任何产品。
  • 您能提交一份没有试用期的订阅吗?
  • @RoyLi-MSFT - 请看帖子。我已经有三个订阅没有试用期 - 3,6 个月和 12 个月的订阅没有试用期。
  • @GeorgeMCeaserJr 在我的情况下,基于订阅的附加组件将作为持久附加组件返回。

标签: uwp in-app-purchase subscription add-on


【解决方案1】:

所以 -- 通过我打开的支持票证,我现在收到的信息是,实际上不支持通过 App Store 中的应用购买附加订阅。我的票号是 120081121001365,这就是所有这些都应该记录的地方。我希望没有其他人像我一样在 Microsoft 订阅上浪费时间。

更新!!!最后,微软承认他们的商店存在缺陷,并且在调用计费 API 时没有返回所需/记录的信息。据监控我的票的人说,他们正在努力修复它。一旦他们发布了修复程序,我将在此处发布,以便所有人都知道。

再次更新!! 我不知道发生了什么,但现在我从商店拿回了我所有的附加产品。我现在注意到的一件有趣的事情(请参阅下面的代码了解我所指的内容)是在下面的代码中 - 查询结果仍将显示为在调试器中没有值。但是,当您循环浏览产品集合时,附加产品就在那里。

        string[] productKinds = { "Durable", "Consumable", "UnmanagedConsumable" };
        List<String> filterList = new List<string>(productKinds);

        StoreProductQueryResult queryResult = await context.GetAssociatedStoreProductsAsync(filterList);

        if (queryResult.ExtendedError != null)
        {
            // The user may be offline or there might be some other server failure.
            is_Result = $"ExtendedError: {queryResult.ExtendedError.Message}";
            return;
        }

        foreach (KeyValuePair<string, StoreProduct> item in queryResult.Products)
        {
            // Access the Store product info for the add-on.
            StoreProduct product = item.Value;

            // Use members of the product object to access listing info for the add-on...
        }

我希望这对其他人有帮助。

【讨论】:

    猜你喜欢
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-23
    • 1970-01-01
    • 2016-11-23
    • 1970-01-01
    • 2022-08-16
    相关资源
    最近更新 更多