1

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

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

所以我的问题是...

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

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

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

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

} else {

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

}
4

2 回答 2

3

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

是的,如果您没有恢复按钮,Apple 将拒绝您的申请。我知道第一手资料!

如果你反对有两个按钮,你可以只做一个按钮来检查以前的购买,如果它什么都不返回,那么将其更改为购买按钮。但是,是的,用户体验不太好。

在设计 UI 时使用普通的购买按钮,然后在应用程序的“设置”部分放置一个恢复按钮。这些按钮不需要彼此相邻,据我所知,这是大多数应用程序使用的模式。

边注

如果您有服务器端实现并且您的应用程序使用某种登录来识别用户,您可以跟踪他们的购买服务器端,当他们再次登录并且他们以前购买过物品时,您可以触发恢复过程,如果我没记错的话用户仍然需要输入他们的 Apple ID 才能通过此过程进行恢复。

于 2013-11-09T11:38:38.960 回答
0

在应用内购买,用户不会在应用内购买任何东西在这种情况下,用户点击恢复购买,它想要显示一条警报消息

于 2014-06-04T10:04:10.227 回答