【发布时间】:2017-08-22 21:30:32
【问题描述】:
在带有应用内购买的 iOS 中,有必要通过订阅验证收据。是否也需要验证消耗品的收据?
【问题讨论】:
标签: ios in-app-purchase receipt-validation in-app-subscription
在带有应用内购买的 iOS 中,有必要通过订阅验证收据。是否也需要验证消耗品的收据?
【问题讨论】:
标签: ios in-app-purchase receipt-validation in-app-subscription
不,您不需要验证消耗品的收据。
您也不需要验证订阅收据。这里重要的是您可以恢复正在运行的订阅;但为此您可以使用购买 ID。
一如既往地确保 100% 确保您在告诉 iOS 购买成功之前已向用户提供了所支付的费用!
(您想在服务器上保留与购买相关的信息还有很多其他考虑因素,但这不是您要问的。)
【讨论】:
需要,不。推荐,是的。
所有购买;消耗品、非消耗品和订阅容易受到欺诈性攻击。通常通过 iap 破解程序或网络欺骗。验证收据可以缓解这个问题。
您可以在应用程序中本地验证收据(请参阅Validating Receipts Locally),但它仍然容易被破解。
防止欺诈的最安全方法是执行服务器端验证,将收据发送到您的服务器,然后将其发送给 Apple(请参阅Validating Receipts With the App Store)。
但是,不要在应用程序本身中通过应用商店验证收据。欺骗网络请求并返回肯定(有效)结果真的很容易。
如果您发现 Apple 报告中的实际购买与应用内购买分析之间存在很大差异(假设您有这种差异),您可能需要投资于服务器端验证,否则,如果这不是问题,别担心。
【讨论】: