推迟App Store推广IAP请求时弹出提醒的技术实现问询
苹果Promoted In-App Purchases代理方法处理指南
如果你正在集成苹果全新的「Promoted In-App Purchases」系统,那SKPaymentTransactionObserver中的paymentQueue:shouldAddStorePayment:forProduct:代理方法绝对是你要重点搞定的核心逻辑——毕竟它直接决定了从App Store跳转过来的购买请求该怎么处理。
先给你理清楚这个方法的两种返回值对应的行为:
返回
true的处理逻辑:
当你返回true时,这笔交易就会直接进入应用内的交易队列,接下来你只需要按照常规IAP流程,完成购买验证、商品交付、交易收尾这些步骤即可,用户的购买体验会是连贯的。返回
false的后果:
官方文档明确说明:返回true则在应用内继续交易,返回false则推迟或取消交易。
如果直接返回
false,用户这边的直观感受就是购买流程被中断了——从App Store跳转到你的应用后,购买请求没有继续推进,甚至可能会看到系统弹出的“购买已取消”类提示(具体文案会随iOS版本略有差异)。而且这笔交易不会进入你的应用的交易队列,后续也无法恢复这个未完成的请求,相当于直接放弃了这次购买机会。
这里额外提个小建议:如果你的应用需要先让用户完成某些操作(比如登录账号)才能处理购买,别直接返回false,最好先把SKPayment对象保存下来,等用户完成前置操作后,再手动调用SKPaymentQueue.default().add(payment)来触发交易,这样能避免用户流失,体验也更顺畅。
内容的提问来源于stack exchange,提问作者Dan Fabulich
相关产品推荐
相关产品推荐

