找不到 UWP 应用的订阅加载项

Subscription Add-ons for UWP app are not found

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

市场:241

可见性:Public 受众 - 使项目可用但无法在 Microsoft Store 中发现并且:仅限直接 Link:具有直接link .....

计划:该产品将尽快提供给客户。

基本价格:免费

免费试用:限时 30 天。

然后我为该应用程序添加了不同的订阅插件,如下所示:

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

订阅期:每月

免费试用:一个月

市场:在 241 个市场可用

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

发布:尽快发布

底价:免费(所以我可以不用购买就可以测试)

其他订阅配置如下:

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

免费试用:没有免费试用

市场:在 241 个市场可用

可见性:Public - 隐藏在 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 收到的 link 从 App Store 下载应用程序,并在我的开发机器上 运行 应用程序的应用程序商店版本。此过程基于 Microsoft 的说明,该说明指示应如何设置以进行测试。)

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

var tobj_ProductInfo =  await context.GetStoreProductForCurrentAppAsync();

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

如果我在 Visual Studio 中的项目与应用程序商店中的应用程序没有关联,我相信我不会得到这些信息。

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

更新!!!好吧,微软终于承认他们的商店存在缺陷,并且在调用计费 API 时没有返回所需/记录的信息。据监视我的票的人说,他们正在努力解决问题。一旦他们发布了修复程序,我将 post 放在这里让每个人都知道。

再次更新!! 我不知道发生了什么,但现在我正在从商店取回所有 add-on 产品。我现在注意到的一件有趣的事情(请参阅下面的代码了解我所指的内容)是在下面的代码中 - queryresults 仍将在调试器中显示为没有值。但是,当您遍历产品集合时,add-on 产品就在那里。

        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...
        }

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