gpt4 book ai didi

iphone - Apple 因恢复 IAP 而拒绝了我的 App

转载 作者:可可西里 更新时间:2023-11-01 03:09:03 26 4
gpt4 key购买 nike

我有一个恢复按钮。问题是,如果他们没有进行恢复,并且他们尝试购买某件元素,而他们已经购买了该元素,我需要告诉他们他们已经购买了它并且不执行购买。所以我需要一种方法来知道他们购买了哪些项目,而无需进行恢复。每当用户尝试购买时,我都会先尝试进行恢复,但苹果拒绝了我的应用程序。他们说在显示“确认应用程序内购买”对话框之前无法进行恢复。

请帮我找到正确的方法。

提前致谢。

最佳答案

您可以将这些数据保存在 NSUserDefaults 中.而且您不需要显示一个提示,说明商品已购买。如果它是非消费品,苹果会显示警告说他们已经购买了该商品!

编辑:

1) 您需要在 View 中添加 3 个按钮

  • 购买按钮
  • 恢复按钮
  • 演示版

如果您的应用支持应用内购买,则需要为用户提供恢复选项。否则 Apple 将拒绝您的应用。

2) 如果用户按下购买按钮,请不要检查用户是否已经购买了您的应用。因为 Apple 不会为同一种非消耗品向用户收取两次费用。因此,只需浏览您的购买代码,如果用户已经购买了它,Apple 的 StoreKit 框架将调用它的委托(delegate)方法

- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions

SKPaymentTransactionStatePurchased

交易状态。这样您就可以向他展示登录屏幕。

3) 如果用户按下恢复按钮,只需使用您的恢复代码即可

[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];

和第二步一样,它将调用具有相同事务状态的委托(delegate)方法。因此,您可以向用户显示登录页面。

4) 如果用户按下演示版按钮,向他展示演示版。

5) 如果用户购买了您的应用程序,删除了它,如果他重新安装了它,则将他视为新用户。向他展示这 3 个按钮,用户可以恢复购买,然后您可以向他展示登录页面。

6) 如果您确实需要跟踪该应用程序是否是在确切的设备上购买的,那么您可以使用钥匙串(keychain)来存储您的数据,因为即使应用程序被卸载或删除,钥匙串(keychain)项目也不会被删除。这个 API 会有很大帮助 link , 看看

可以引用苹果的documentation关于钥匙串(keychain)数据

关于iphone - Apple 因恢复 IAP 而拒绝了我的 App,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16398641/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com