1. 一入 IAP 深似海

作者: 高老师很忙

在做 IAP 的时候,我们通常会给 SKMutablePayment 对象的 applicationUsername 传入一个值,比如说用户ID的哈希值,等交易成功后,通过 transaction.payment.applicationUsername 与之前传入的值进行对比校验。

最近发现,交易成功回调返回的 transaction.payment.applicationUsername 有可能返回空,并且测试阶段很难发现。解决办法就是增加异常处理逻辑,当 transaction.payment.applicationUsername 返回空的时候,要加入一些业务相关的逻辑判断。例如,你的 applicationUsername 传入的是用户ID相关的信息,当 transaction.payment.applicationUsername 返回为空的时候,就要增加判断发生购买行为和收到回调时是否是同一个用户的逻辑,或者根据你具体的业务而定补充逻辑。

Last updated