StoreKit:可以故意保留未完成的交易吗?

时间:2015-06-16 00:39:38

标签: ios transactions storekit

我正在开发iOS应用,目前我正在努力制定如何管理应用内购买的策略:

Android具有很好的功能,它可以在设备上本地缓存产品所有权信息,因此可以检查所有权,而无需提示用户输入密码。另一方面,iOS无法在不要求用户登录的情况下恢复购买,因此Apple特别不鼓励在Restoring Purchased Products documentation(第一段的最后一句)的app-launch中进行所有权检查。

现在,从技术上讲,你可以让iOS提供相同的"所有权缓存"对于Android所做的非消耗品,只需要从不调用finishTransaction:,除非交易失败。这样,在每次应用启动时,只要您拨打addTransactionObserver:,就会获得没有用户登录请求的自有产品列表。

显然,我也可以使用类似NSUserDefaults之类的东西来提供此缓存,但这样做会更多,只会增加更多机会在实施所有权跟踪时出错。而且由于我需要处理来自事务观察者的随机报告的事务,所以我基本上必须实现上述想法,然后使用NSUserDefaults等再次复制其功能。

因此我的问题:以这种方式(错误地)使用未完成的交易是否可行?他们会自动过期吗?苹果可能拒绝我的应用程序,如果他们发现这是我正在做的事情?这个想法是否有任何负面影响(可靠性,性能,内存/存储浪费)?

0 个答案:

没有答案