我正在尝试让 IAP 与 Appcelerator Titanium 3.1 一起使用。我有所有的签名/证书/配置文件/合同工作。我得到了一个无效的产品 ID,并解决了这个问题。现在,调用 requestProducts() 时,产品数组只是简单地返回空。
当我请求Products('valid_product')
Response: {"type":"callback","products":[{}],"source":{},"success":true}
当我请求Products('invalid_product')
Response: {"products":[],"type":"callback","source":{},"invalid":["invalid_product"],"success":true}
请注意,当我请求有效产品时(在此应用程序的 IAP 下的 itunesconnect 中设置),我没有返回无效产品,我只是为产品数组获取了一个空字符串。
为什么会发生这种情况?我已经为处于“等待审核”状态以及“准备提交”状态的 IAP 产品进行了尝试。我还没有提交二进制文件供审查。
任何帮助将不胜感激。
问候,丹尼尔
编辑,下面发布的代码
function requestProduct(identifier, success) {
showLoading();
Storekit.requestProducts([identifier], function (evt) {
hideLoading();
Ti.API.info('ReqProduct:' + JSON.stringify(evt));
if (!evt.success) {
alert('ERROR: We failed to talk to Apple!');
}
else if (evt.invalid) {
alert('ERROR: We requested an invalid product!');
}
else {
alert('success. product: ' + JSON.stringify(evt.products[0]));
success(evt.products[0]);
}
});
}
调用上述函数如下:
var product;
requestProduct('22credits', function(data) {
Ti.API.info(JSON.stringify(data));
product = data;
});