0

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

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

我的代码:

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 提交给商店,但我不想这样做,直到我充实了其余的代码。我现在正在处理应用内购买代码。这会导致问题吗?

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

4

2 回答 2

2

您必须将您的产品提交到商店。他们通过了认证过程,您应该会收到两封电子邮件,说明“您的 productX 已通过认证”之类的内容。

如果您不希望此产品出现并且仅可用于 Beta 测试,请确保将其可用性设置为“在商店中隐藏此应用程序”。

这里有一些信息

于 2017-04-10T23:08:31.037 回答
1

我认为唯一可能引起混淆的是我还没有将实际的 xapproduct 提交到商店,但我不想这样做,直到我充实了其余的代码。

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

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

有关测试指南的更多详细信息,您可以参考测试您的应用内购买或试用实施

于 2017-04-11T07:23:41.457 回答