我已经在应用内购买实现到我的首次应用的更新,也只有等待3周,有它拒绝了,原因如下:
我们发现您的应用提供了可以恢复应用程序内购买/秒,但它不包括“恢复”功能,让用户能够恢复以前购买的应用程序内购买/秒。 要恢复以前购买的应用程序内购买的产品,这将是适当的,以提供“恢复”按钮,开始当“恢复”按钮被点击的恢复过程。
现在,我想加入的navbar
按钮,在应用程序内购买可以看出/挖掘并添加以下代码将被链接到按钮我的表的右侧(上):
[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];
有人可以确认这是正确的,最有可能的所有需要? 谨以此顺利通过这段时间。 提前致谢!
亚历克斯,我一直在上周拒绝了同样的原因,这是对苹果公司希望-加入这样的还原按钮,他们没有问任何其他问题,关于这个问题之后。
当然,你不仅需要调用[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];
,但实现恢复本身太(我的意思是,将内容提供给用户)。
我用的这个变化:
//inside of an IBaction
[[SKPaymentQueue defaultQueue] addTransactionObserver:self];
[[SKPaymentQueue defaultQueue]restoreCompletedTransactions];
// Then this is called
- (void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue {
NSLog(@"%@",queue );
NSLog(@"Restored Transactions are once again in Queue for purchasing %@",[queue transactions]);
NSMutableArray *purchasedItemIDs = [[NSMutableArray alloc] init];
NSLog(@"received restored transactions: %i", queue.transactions.count);
for (SKPaymentTransaction *transaction in queue.transactions) {
NSString *productID = transaction.payment.productIdentifier;
[purchasedItemIDs addObject:productID];
NSLog (@"product id is %@" , productID);
// here put an if/then statement to write files based on previously purchased items
// example if ([productID isEqualToString: @"youruniqueproductidentifier]){write files} else { nslog sorry}
}
}
对不起,我在我的iPad上,如果这是没有意义的。
替代恢复按钮可以在一个恢复开关应用的设置包 。 它不会压倒UI和看起来像苹果对此表示欢迎(但一定要提,你有实现的力学这种方式)。
BOOL shouldRestorePurchases = [[NSUserDefaults standardUserDefaults] boolForKey:@"restorePurchasesKey"];
我已经拒绝了同样的原因。 这是由于这样的事实,你可以用相同的签名在Apple ID
在不同的iOS设备。
例如,假设我登录到test@iCloud.com
在iPad上。 当我下载你的应用程序我知道我想删除广告(比方说,如果你没有,你有你的应用内广告),所以我删除了99¢
。 一年后,我决定买一个iPhone,并登录到test@iCloud.com
该帐户,我又下载应用程式。 该广告仍然存在,不过,即使我已经纳了他们。 谁愿意支付同样的事情两次? 随着restore
的功能,我可以恢复,我对我所做的购买iPad
,并让他们对我的工作的iPhone
。
要恢复购买,你可以使用:
[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];
在此之后,您还需要提供对用户购买的内容。