2

我的应用程序中会弹出一个自定义警报视图,询问用户是否愿意购买我的应用程序内购买项目之一。在警报视图中,我还列出了从与其关联的 SKProduct 派生的应用内购买的价格。

问题是,现在我想更改应用内购买的价格,但是当应用在应用委托中启动时我正在收集产品数据,那么我应该怎么做呢?(应用程序委托是否仅在用户第一次启动应用程序时启动?)。

每次显示对话框,是否需要查询苹果重新加载产品数据?听起来真的很没效率...

碰巧的是,如果您更新应用内购买的价格,SKProductsRequestDelegate 是否会收到警报,以便自动更新您的产品?

有没有人对这种情况有很好的解决方案?

4

1 回答 1

0

似乎解决这种情况的最佳方法是在应用程序启动时加载产品,并在每次应用程序激活时重新加载产品。在应用程序委托中实现以下方法可以解决问题:

- (void) applicationWillEnterForeground:(UIApplication *)application
{
    [self loadProducts];
}

- (void) loadProducts
{
    self.productsRequest = [[SKProductsRequest alloc] initWithProductIdentifiers: [NSSet setWithObjects: MyProduct1, MyProduct2 nil]];
    self.productsRequest.delegate = self;
    [self.productsRequest start];
}
于 2013-10-18T22:58:31.503 回答