在iOS上通过应用内购买销售非消耗品时,会提供restoreCompletedTransactions方法,以便您可以检索用户过去所做的所有购买,据我了解这是为了给用户提供快速方式恢复购买,例如当他们获得新设
我知道如果你打算调用restoreCompletedTransactions,那么当用户按下按钮时,是否应该自动或手动调用它是一个问题(例如,参见here).
我的问题是是否有必要调用restoreCompletedTransactions.如果我的应用程序只有一两件要销售/解锁的东西,那么让用户通过标准购买用户界面似乎是可以接受的,只要有一条说明解释说如果购买他们的东西将不会再次向用户收费已经购买.所以,假设用户在新设备上安装我的游戏.在他们的旧设备上,他们已经购买/解锁了X级.当他们到达新设备的X级时,它询问他们是否想要购买它(解释说如果他们以前购买它们将不会被收取两次费用),并且他们说是,他们现在在他们的新设备上有X级,他们只收取一次费用(当他们在旧设备上购买时).
就苹果的批准而言,这是一种处理它的犹太方式吗?我可以看到,如果他们已经购买了100件单独的物品,那么给他们一次恢复所有物品会很好.但是如果整个应用程序只有一两次解锁,我的no-restoreCompletedTransactions方法是否可以接受?
只应在用户的操作下进行恢复.你可以有一个名为Restore Previous Purchases的按钮.原因是,调用还原会显示身份验证窗口,该窗口不被视为良好的用户体验.
希望在iOS 5中,使用iCloud解决了这个问题.