Objective c 应用内购买没有还原按钮会导致拒绝
我正在实施一个应用程序,使用应用程序内购买非消耗品,但被苹果拒绝,原因是: 我们发现您的应用程序提供了可以恢复的应用内购买,但它不包括“恢复”功能,允许用户恢复以前购买的应用内购买 要恢复以前购买的应用程序内购买产品,最好提供“恢复”按钮,并在点击“恢复”按钮时启动恢复过程 有关还原交易和验证店铺收据的更多信息,请参阅 没有链接可供参考,我已经实施了:Objective c 应用内购买没有还原按钮会导致拒绝,objective-c,ios,xcode,in-app-purchase,Objective C,Ios,Xcode,In App Purchase,我正在实施一个应用程序,使用应用程序内购买非消耗品,但被苹果拒绝,原因是: 我们发现您的应用程序提供了可以恢复的应用内购买,但它不包括“恢复”功能,允许用户恢复以前购买的应用内购买 要恢复以前购买的应用程序内购买产品,最好提供“恢复”按钮,并在点击“恢复”按钮时启动恢复过程 有关还原交易和验证店铺收据的更多信息,请参阅 没有链接可供参考,我已经实施了: -(void)paymentQueue:(SKPaymentQueue*)队列更新事务:(NSArray*)事务 与 skpaymentTran
-(void)paymentQueue:(SKPaymentQueue*)队列更新事务:(NSArray*)事务
与
skpaymentTransactionStates已还原
案例
但我没有实施:
`restoreCompletedTransactions` or `paymentQueueRestoreCompletedTransactionsFinished`
这些方法是否是批准应用内购买所必需的,或者确切的问题是什么
谢谢使用以下内容还原用户从您的应用程序购买的产品ID
- (void) checkPurchasedItems
{
[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];
}// Call This Function
//Then this delegate Function Will be fired
- (void) paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue
{
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];
}
}
PurchasedItemId将包含用户购买的所有产品ID。。您可以在显示完所有这些产品后,按下按钮调用此功能,以便用户再次下载。这是必要的功能吗,我以前在任何应用程序上都没有看到此选项实际上是的。。有很多应用程序实现了这个选项,我在我所有的应用程序中都使用了它。根据苹果的报告,你可以看到他们需要它,以防你使用应用内购买。谢谢,它解决了我的问题。对于其他人来说,如果你不提供恢复功能,苹果将拒绝你的应用程序。这是他们的新策略。这与Apple对于这个函数的文档一样,“在所有可恢复的事务都被支付队列处理之后,这个方法被调用。在这个方法中,你的应用程序不需要做任何事情。”从中查看文档