【发布时间】:2017-08-03 16:47:39
【问题描述】:
我制作了一个 iOS 应用内自动续订订阅,现在我正在尝试允许用户在 React-Native 应用中购买它。
我找到了react-native-in-app-utils,但似乎无法加载我的产品。我在 iTunes 连接中有 3 个“产品”(自动更新订阅),但尝试加载它们:
var products = [
'com.xxxx.app.monthly',
'com.xxxx.app.6months',
'com.xxxx.app.year',
];
InAppUtils.loadProducts(products, (error, products) => {
console.log('products:', products);
});
只记录“产品:[]”。
再深入一点,我在执行查询的 Objective-c 代码中添加了一些额外的日志记录,它看起来像:
NSLog(@"loading products %@", productIdentifiers);
if([SKPaymentQueue canMakePayments]){
SKProductsRequest *productsRequest = [[SKProductsRequest alloc]
initWithProductIdentifiers:[NSSet setWithArray:productIdentifiers]];
productsRequest.delegate = self;
_callbacks[RCTKeyForInstance(productsRequest)] = callback;
[productsRequest start];
} else {
callback(@[@"not_available"]);
}
然后在回调中:
NSLog(@"products response %@", response.products);
products = [NSMutableArray arrayWithArray:response.products];
NSMutableArray *productsArrayForJS = [NSMutableArray array];
for(SKProduct *item in response.products) {
NSDictionary *product = @{
...
这将按预期记录带有我的产品 ID 的“加载产品”。但随后“产品响应()”......空响应。
这些产品在 iTunes connect 中列为“准备提交”。它们已被添加到应用内购买下的应用信息中。是什么赋予了?为什么产品不显示?
【问题讨论】:
-
您是否提交了 iTunes 付费产品的合同?
-
是的。那应该已经完成了。
-
您是否在每个订阅的 iTunes 连接中选中了“已清除销售”框?
标签: ios react-native in-app-purchase