是否有必要在iOS上启动时验证/刷新应用商店收据?

Tom*_*ing 15 app-store ios receipt-validation

收据验证的Apple文档表示在发布后立即执行收据验证.这相当于检查返回路径中的数据,如果不存在则[[NSBundle mainBundle] appStoreRecieptURL]刷新SKReceiptRefreshRequest,并验证它.上述文档引用了iOS和macOS.

它在iOS上真的有必要吗?如果是这样,为什么?是阻止用户在越狱设备上使用我的应用程序,还是没有从应用程序商店购买它(在这种情况下,我可能不关心我的应用程序是免费的)?或者它是否会对恢复或验证应用内购买等其他操作产生影响?例如,收据数据是否已经存在以验证应用内购买的交易?

注意:我没有使用应用内订阅.我有应用内购买,但在验证并记录购买服务器端后,我不使用它们的收据.

hol*_*lex 9

不需要这样做,这只是可选的,可以在iOS7 +上完成,如果你有兴趣这样做的话.

简而言之,实施验证纯粹是一个财务决策,即使您验证配方,也建议您不要在发生故障时禁用内容,因为验证可能在标准环境中随时失败(例如,在没有连接的情况下),以及这种过度反应可能会破坏消费者的体验.


总而言之,当你被允许在失败的情况下禁用内容时,无论出于何种原因,在OSX中进行验证都是有意义的.但是如果你觉得你的消费者比你的收入更多,或者被盗内容的数量远超过你的保证金,那么在iOS上也可能是值得的.


注意:通常,您可以在Apple的文档中阅读有关收据验证的技术细节的更多信息.