从SKProductsRequest initWithProductIdentifiers清空自动续订iOS应用程序内购买

时间:2017-08-03 16:47:39

标签: ios react-native in-app-purchase

我已经制作了iOS应用内自动续订订阅,现在我试图让用户在React-Native应用中购买它。

我找到react-native-in-app-utils,但似乎无法加载我的产品。我有3"产品" iTunes中的(自动续订订阅)连接,但尝试使用以下命令加载它们:

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中列为连接"准备提交"。并且它们已添加到应用内购买下的应用信息中。是什么赋予了?为什么产品不会出现?

1 个答案:

答案 0 :(得分:0)

看起来这是一个行政问题,而不是技术问题。项目经理尚未完成付费应用程序协议。