我有一个自定义提醒视图,在我的应用中弹出,询问用户是否愿意购买我的应用内购买之一。在警报视图中,我还列出了应用程序购买的价格,该价格来自与之关联的SKProduct。
问题是,现在我想改变应用程序内购买的价格,但是当应用程序代理中启动应用程序时,我正在收集产品数据,那么我该怎么做呢? (应用程序委派是否仅在用户首次启动应用程序时启动?)。
每次显示对话框时,是否需要查询Apple以重新加载产品数据?这听起来效率很低......
如果您更新其中一个应用内购买的价格,SKProductsRequestDelegate是否会收到提醒,以便自动更新您的产品?
有没有人能够很好地解决这种情况?
似乎解决这种情况的最佳方法是在应用程序启动时加载产品,并在每次应用程序变为活动状态时重新加载产品。在app delegate中实现以下方法可以解决问题:
- (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];
}