如何将App Store Server Notification与应用内对应用户关联?
解决方案
- 存量通知与现有购买记录直接匹配交易ID即可:App Store Server Notification返回体中可直接提取与你存储的
transactionIdentifier对应的字段:V2版本通知解码signedPayload后,在data.transactionInfo.transactionId字段可获取该值;V1版本通知可在unified_receipt.latest_receipt_info数组的transaction_id字段获取该值,直接用该值检索你存储的购买记录即可完成匹配。 - 关联应用内用户身份:
- 现有匹配到的购买记录本身会关联你业务侧的用户标识,直接提取即可定位到对应应用内用户
- 后续优化可在用户发起购买时,将业务侧用户ID存入苹果
applicationUsername字段,该字段会在后续所有对应订阅的服务通知中原样返回,拿到通知后直接提取该字段即可直接定位到对应用户,无需再通过交易ID二次检索
- 存储优化建议:后续每笔订阅购买记录新增存储
originalTransactionIdentifier字段,该值为同个订阅生命周期内唯一不变的标识,自动续费每次续费生成的新交易ID都会携带相同的首笔交易标识,可避免因未同步续费新交易ID导致的匹配失败问题。
内容的提问来源于stack exchange,提问作者Rick Dou
相关产品推荐
相关产品推荐

