简体   繁体   English

如何确定购买应用程序(不是应用内购买)的原始版本或日期

[英]How to determine the original build or date that app (not in-app purchase) was purchased

My app is currently a paid app. 我的应用目前是付费应用。 I would like to convert the app to a free app with IAP and grandfather (give all users who paid for the app) the IAP features for free. 我想将应用程序转换为免费的应用程序与IAP和祖父(给所有付费应用程序的用户)免费的IAP功能。 I thought I could use receipt validation to either (1) determine original purchase date of app - but this seems to be only available for IAP or (2) Use original Application Version (which appears to be the build version not the app version). 我认为我可以使用收据验证(1)确定应用程序的原始购买日期 - 但这似乎仅适用于IAP或(2)使用原始应用程序版本(似乎是构建版本而不是应用程序版本)。 However, when I test this in testflight, the original version number is always '1.0'. 但是,当我在testflight中测试时,原始版本号始终为“1.0”。 Various sources say this is a testflight issue and that the release app would correctly identify the build on the date the app was purchased. 各种消息来源称这是一个testflight问题,发布应用程序将在购买应用程序的日期正确识别构建。 https://forums.developer.apple.com/message/42107#42107 I haven't seen this addressed on stackoverflow - many of the questions on finding the app purchase date are prior to receipt validation in iOS 7 or apply to In-App purchases, not the initial purchase of the app https://forums.developer.apple.com/message/42107#42107我还没有在stackoverflow上看到这个问题 - 许多关于查找应用购买日期的问题都在iOS 7中的收据验证之前或者适用于In-应用程序购买,而不是最初购买的应用程序

I have 3 related questions to see whether I'm heading down the right track: 我有3个相关的问题,看看我是否正走向正确的轨道:
Question 1: Can I use original application version to identify users who purchase before my app was converted. 问题1:我可以使用原始应用程序版本来识别在我的应用程序转换之前购买的用户。 That is, users who purchased version 1.30 or earlier can be identified by comparing them to the latest build 2.0 and I can then grant any user whose original version number is < 2.0, free access IAP features. 也就是说,购买版本1.30或更早版本的用户可以通过将它们与最新版本2.0进行比较来识别,然后我可以授予任何原始版本号<2.0,免费访问IAP功能的用户。

Question 2: Is there any way to test the code before the app is released, eg using testflight ? 问题2:有没有办法在应用程序发布之前测试代码,例如使用testflight?

Question 3. Is there any other way to convert the app to freemium without getting existing users to repay (even when they download the app on a new device)? 问题3.有没有其他方法可以将应用程序转换为免费增值而不让现有用户偿还(即使他们在新设备上下载应用程序)?

I used Receigen to get the receipt data and test my model - Receigen notes that testing for original version number is either nil or zero but doesn't say if this is fixed when the app is released. 我使用Receigen获取收据数据并测试我的模型 - Receigen指出测试原始版本号是零还是零但是没有说明在应用程序发布时这是否已修复。

UPDATE: Apple technical support have confirmed (1) Original Application Version is the field to use to identify existing users (not original original purchase date per WWDC 2013) . 更新:Apple技术支持已确认(1)原始应用程序版本是用于识别现有用户的字段(不是每个WWDC 2013的原始购买日期)。 (2) TestFlight and Sandbox don't work as there is no application history with the current user. (2)TestFlight和Sandbox不起作用,因为当前用户没有应用程序历史记录。 Was encouraged to file a bug report (as others have already done). 被鼓励提交错误报告(正如其他人已经做过的那样)。 Even though application receipts in TestFlight all return the original_app_version as “1.0”, you should get the true version when the app goes into production. 即使TestFlight中的应用程序收据都将original_app_version返回为“1.0”,您应该在应用程序投入生产时获得真实版本。 Just hope you didn't mess up in development! 只希望你没有搞砸开发!

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM