所以我正确实施了我的In App Purchase,但我有一个问题。一旦我解锁了我的应用中的某个功能,例如横幅或标签,我就不知道在关闭应用后让它停留在屏幕上。
当我重新打开应用程序时,我必须再次单击购买按钮并完成整个过程以恢复它。
如何让购买的商品保持在线状态而不是再次完成此过程?
答案 0 :(得分:3)
有很多方法可以解决这个问题。最简单的解决方案是使用NSUserDefaults
。这样的事情应该让你开始朝着正确的方向前进:
// this goes in the success callback of the IAP code.
if(purchaseWasSuccessful) {
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setBool:YES forKey:@"IAP_ITEM_1_PURCHASED"];
}
然后,当您启动应用时,或者在显示购买内容的特定视图控制器的viewWillAppear
方法中,您可以执行以下操作:
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
if([userDefaults boolForKey:@"IAP_ITEM_1_PURCHASED"]){
// You know the item was purchased, so display your purchase here.
}
// Or, the inverse is just as easy:
if([userDefaults boolForKey:@"IAP_ITEM_1_PURCHASED"] == NO){
// You know the item has NOT been purchased,
// so display your banner to prompt them here.
}