购买/恢复In App Purchase单按钮。 (检查以前是否购买过)

时间:2013-11-09 10:50:54

标签: ios in-app-purchase restore

我目前正在实施应用程序内购买,并且刚刚阅读了一些帖子,说明需要“恢复购买”按钮,否则苹果将拒绝应用。

我不想在我的UI设计中添加第二个按钮。

所以我的问题是......

有没有办法检查用户之前是否已购买应用内商品。在删除并重新安装应用程序之前?

显然NSUserDefaults会在删除时删除,所以我不能使用它。

if (//*CHECK IF PREVIOUSLY PURCHASED*) {

    [[SKPaymentQueue defaultQueue] addTransactionObserver:self];
    [[SKPaymentQueue defaultQueue] restoreCompletedTransactions];

} else {

    SKPayment *payment = [SKPayment paymentWithProduct:product];
    [[SKPaymentQueue defaultQueue] addPayment:payment];

}

2 个答案:

答案 0 :(得分:3)

如果用户没有真正输入他们的详细信息,他们就无法知道他们是否购买了该物品。因此,您需要一个按钮来调用购买/恢复操作。

如果您没有恢复按钮,Apple将拒绝您的应用程序。我亲自了解!

如果您反对使用两个按钮,您只需制作一个按钮即可检查以前的购买,如果它没有返回任何内容,则将其更改为购买按钮。但是,那个用户体验不太好。

在设计用户界面时设置正常的“购买”按钮,然后在应用的“设置”部分放置恢复按钮。这些按钮不需要彼此相邻,我可以看到这是大多数应用程序使用的模式。

旁注

如果您有服务器端实施,并且您的应用程序使用某种登录标识用户,您可以跟踪他们的购买服务器端,当他们再次登录并且他们之前购买的项目可以触发恢复过程时,如果我记得虽然用户仍然需要输入他们的Apple ID才能通过此过程进行恢复。

答案 1 :(得分:0)

在App购买中,用户不会在应用程序中购买任何内容用户单击“还原购买”以显示警告消息