-->

在应用程序内购买恢复按钮(In app purchases restore Button)

2019-06-25 11:45发布

我已经在应用内购买实现到我的首次应用的更新,也只有等待3周,有它拒绝了,原因如下:

我们发现您的应用提供了可以恢复应用程序内购买/秒,但它不包括“恢复”功能,让用户能够恢复以前购买的应用程序内购买/秒。 要恢复以前购买的应用程序内购买的产品,这将是适当的,以提供“恢复”按钮,开始当“恢复”按钮被点击的恢复过程。

现在,我想加入的navbar按钮,在应用程序内购买可以看出/挖掘并添加以下代码将被链接到按钮我的表的右侧(上):

 [[SKPaymentQueue defaultQueue]   restoreCompletedTransactions];

有人可以确认这是正确的,最有可能的所有需要​​? 谨以此顺利通过这段时间。 提前致谢!

Answer 1:

亚历克斯,我一直在上周拒绝了同样的原因,这是对苹果公司希望-加入这样的还原按钮,他们没有问任何其他问题,关于这个问题之后。

当然,你不仅需要调用[[SKPaymentQueue defaultQueue] restoreCompletedTransactions]; ,但实现恢复本身太(我的意思是,将内容提供给用户)。



Answer 2:

我用的这个变化:

//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上,如果这是没有意义的。



Answer 3:

替代恢复按钮可以在一个恢复开关应用的设置包 。 它不会压倒UI和看起来像苹果对此表示欢迎(但一定要提,你有实现的力学这种方式)。

BOOL shouldRestorePurchases = [[NSUserDefaults standardUserDefaults] boolForKey:@"restorePurchasesKey"];


Answer 4:

我已经拒绝了同样的原因。 这是由于这样的事实,你可以用相同的签名在Apple ID在不同的iOS设备。

例如,假设我登录到test@iCloud.com在iPad上。 当我下载你的应用程序我知道我想删除广告(比方说,如果你没有,你有你的应用内广告),所以我删除了99¢ 。 一年后,我决定买一个iPhone,并登录到test@iCloud.com该帐户,我又下载应用程式。 该广告仍然存在,不过,即使我已经纳了他们。 谁愿意支付同样的事情两次? 随着restore的功能,我可以恢复,我对我所做的购买iPad ,并让他们对我的工作的iPhone

要恢复购买,你可以使用:

[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];

在此之后,您还需要提供对用户购买的内容。



文章来源: In app purchases restore Button