我正在尝试为当前客户实现从付费模式到免费增值模式的无缝过渡,但在从收据中获取original_application_version 时遇到问题。
我的应用程序仅适用于 iOS 7,您可能知道,Apple 在 iOS 7 中引入了统一收据,如上所述,该收据应包含有关用户原始购买的信息。所以我的想法如下:
1. 解码收据。
2. 检查原始购买是否在此新的免费增值版本之前进行。
3. 如果是 - 解锁所有 IAP。
如文档中所述,收据应具有“原始应用程序版本”字段(“最初购买的应用程序的版本。”)。也有说法是“在沙箱环境下,该字段的值始终为‘1.0’”。但由于某种原因,我的情况并非如此。
所以,我的问题是:有人有幸获得这个值吗?
我尝试使用 DHAppleReceiptParser (https://github.com/DarkHorseComics/DHAppleReceiptParser) 和 RMStore (https://github.com/robotmedia/RMStore)来解析收据,两者都为我提供了该字段的空值。我也在 ASN.1 字段类型 19 中寻找这个值,也许还有另一个字段可以用于我的目的?
这可能是与 iTunes/Apple 帐户相关的沙盒怪癖,特别是当它发生在各种库中时。我也会尝试https://github.com/rmaddy/VerifyStoreReceiptiOS,为了更加安全。
从“设置”中注销也可能有帮助。
另外,测试生产案例。从 App Store 安装当前版本,然后安装新版本并查看是否original_application_version
字段仍然为零。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)