Windows 通用应用 - 应用内购买

Windows Universal App - In App Purchases

我一直在(缓慢地)完成应用内购买示例。 我在应用商店中为我的应用创建了 2 个应用内购买。我已将 Visual Studio 链接到该应用程序。当我输入请求我的应用内购买的回调函数时,我终于没有遇到任何错误。

错误:它说有 0 个产品,而应该有 2 个。

我的代码:

var ProductsARR = [];

var storeContext = Windows.Services.Store.StoreContext.getDefault();
var productKinds = ["Consumable", "Durable", "UnmanagedConsumable"];
storeContext.getAssociatedStoreProductsAsync(productKinds).then(function (addOns) {
    var i;
    if (addOns.extendedError) {
        if (addOns.extendedError === (0x803f6107 | 0)) {
            alert("This sample has not been properly configured.");
        } else {
            // The user may be offline or there might be some other server failure.
            alert("ExtendedError: " + addOns.extendedError.toString());
        }
    } else if (addOns.products.size === 0) {
        alert("No configured Add-ons found for this Store Product.");
    } else {
        for (i = 0; i < addOns.products.size;i++){
            var item = {
                title: addOns.products[i].title,
                price: addOns.products[i].price.formattedPrice,
                inCollection: addOns.products[i].isInUserCollection,
                productKind: addOns.products[i].productKind,
                storeId: addOns.products[i].storeId
            };

            ProductsARR .push(item);
        }
    }
});

是什么导致它认为有 2 个应用内购买却没有?

我认为唯一可能引起混淆的是我还没有将实际的 xapproduct 提交到商店,但在充实其余代码之前我不想这样做。我现在正在处理应用内购买代码。这会导致问题吗?

如果不是,还有什么可能导致问题。它在我的仪表板中显示应用内购买是 'In Store'.

您必须向商店提交您的产品。他们通过了认证流程,您应该会收到 2 封电子邮件,内容类似于 "Your productX has been certified".

如果您不希望此产品出现并且仅可用于 Beta 测试,请确保将其可用性设置为 "Hide this app in the Store"。

Here's some info.

The only thing I think could be causing confusion is I have not submitted the actual xapproduct to the store yet, but I do not want to do that until I have fleshed out the rest of the code.

您正在使用 Windows.Services.Store 命名空间,它不提供可用于在测试期间模拟许可证信息的 class,不像 Windows.ApplicationModel.Store 提供 CurrentAppSimulator class 。因此,您必须发布该应用程序并将其下载到您的开发设备以使用其许可证进行测试。

出于测试目的,此应用不需要是您的真实版本,而是满足最低 Windows 应用认证工具包要求的基本应用。此外,您可以选择先 hide this app 以防止客户在测试期间看到您的应用。

更多详细测试指导,可参考Test your in-app purchase or trial implementation