我一直在(慢慢地)通过应用内购买示例工作。 我已在Store中为我的应用创建了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提交给商店,但我不想这样做,直到我充实了剩下的代码。我正在处理应用内购买代码。这会导致问题吗?
如果没有,还有什么可能导致问题。它在我的仪表板中说,应用程序内购买是'In Store'。
答案 0 :(得分:2)
您必须将商品提交到商店。他们通过认证过程,您应该收到2封电子邮件,说明&#34;您的productX已经过认证&#34;。
如果您不希望此产品出现且仅可用于Beta测试,请确保其可用性设置为&#34;在商店中隐藏此应用&#34;。
答案 1 :(得分:1)
我认为唯一可能引起混淆的是我没有 提交了实际的xapproduct到商店,但我不想 这样做,直到我充实了剩下的代码。
您正在使用Windows.Services.Store
命名空间,它不会提供可用于在测试期间模拟许可证信息的类,这与提供Windows.ApplicationModel.Store
类的CurrentAppSimulator
不同。因此,您必须发布应用程序并将其下载到开发设备以使用其许可证进行测试。
出于测试目的,此应用程序不一定是您的真实版本,而是一个满足最低Windows App Certification Kit要求的基本应用程序。此外,您可以先选择hide this app,以防止客户在测试期间看到您的应用。
有关测试指南的详细信息,请参阅 Test your in-app purchase or trial implementation 。