应用程序被杀死时取消应用程序内购买过程
Cancel InApp Purchase process when app is killed
当 iOS 应用程序即将终止时,是否可以取消 in-app-purchase
?我处于用户启动 in-app-purchase
进程并同时终止应用程序的情况。我们可以在下面的代码中恢复 InApp 购买吗?
- (void)applicationWillTerminate:(UIApplication *)application
In-App Purchasing Programming Guide
中描述了购买过程
当你的应用程序被杀死时会发生什么取决于你在购买过程中的位置。
如果尚未提交付款请求,则您无需执行任何操作;不会向用户收费,也不会记录任何交易,您也不需要采取任何进一步的行动。
如果您已提交付款请求但用户尚未授权付款(通过密码或 TouchID 授权付款的提示由 iOS 在您的应用程序外部显示)或者否交易将被记录,或者交易可能会以 "failed" 状态报告给您的交易观察员。无论哪种方式,用户都不会被收费,您也不需要采取任何进一步的行动。
如果用户已授权交易但交易尚未提交给您的交易观察者,或者您的应用程序尚未调用 finishTransaction
那么交易将被重新提交给下次执行您的应用程序时,您的交易观察员。这就是为什么在您的应用程序逻辑中完成购买(解锁功能、增加用户余额或其他)之前,您的应用程序不调用 finishTransaction
很重要
因此,总而言之,没有取消购买流程的方法,如果您已正确实施交易观察器和购买逻辑,则无论如何都没有必要。
当 iOS 应用程序即将终止时,是否可以取消 in-app-purchase
?我处于用户启动 in-app-purchase
进程并同时终止应用程序的情况。我们可以在下面的代码中恢复 InApp 购买吗?
- (void)applicationWillTerminate:(UIApplication *)application
In-App Purchasing Programming Guide
中描述了购买过程当你的应用程序被杀死时会发生什么取决于你在购买过程中的位置。
如果尚未提交付款请求,则您无需执行任何操作;不会向用户收费,也不会记录任何交易,您也不需要采取任何进一步的行动。
如果您已提交付款请求但用户尚未授权付款(通过密码或 TouchID 授权付款的提示由 iOS 在您的应用程序外部显示)或者否交易将被记录,或者交易可能会以 "failed" 状态报告给您的交易观察员。无论哪种方式,用户都不会被收费,您也不需要采取任何进一步的行动。
如果用户已授权交易但交易尚未提交给您的交易观察者,或者您的应用程序尚未调用
finishTransaction
那么交易将被重新提交给下次执行您的应用程序时,您的交易观察员。这就是为什么在您的应用程序逻辑中完成购买(解锁功能、增加用户余额或其他)之前,您的应用程序不调用finishTransaction
很重要
因此,总而言之,没有取消购买流程的方法,如果您已正确实施交易观察器和购买逻辑,则无论如何都没有必要。