2016-05-29 59 views
4

我的應用程序目前是付費應用程序。我想將應用程序轉換爲免費的應用程序,包括IAP和祖父(讓所有支付應用程序的用戶)免費使用IAP功能。我認爲我可以使用收據驗證來(1)確定應用程序的原始購買日期 - 但這似乎只適用於IAP或(2)使用原始應用程序版本(似乎是構建版本而不是應用程序版本)。但是,當我在testflight中測試此版本時,原始版本號始終爲'1.0'。各種消息稱,這是一個測試飛行問題,並且發佈應用程序會在應用程序購買日期正確識別構建。 https://forums.developer.apple.com/message/42107#42107我還沒有看到這在stackoverflow解決 - 許多關於尋找應用程序購買日期的問題是在iOS 7收到驗證之前或適用於應用程序內購買,而不是應用程序的初始購買如何確定購買應用程序(不是應用程序內購買)的原始版本或日期

我有3個相關問題,以查看我是否正在走向正確的軌道:
問題1:我可以使用原始應用程序版本來識別在我的應用程序轉換之前購買的用戶。也就是說,購買1.30或更低版本的用戶可以通過將其與最新版本2.0進行比較來識別,然後我可以授予任何原始版本號爲< 2.0的用戶免費訪問IAP功能。

問題2:在應用程序發佈之前是否有任何測試代碼的方法,例如:使用testflight?

問題3.是否有任何其他方式將應用程序轉換爲免費增值而沒有獲得現有用戶的回報(即使他們將應用程序下載到新設備上)?

我使用Receigen獲取收據數據並測試我的模型 - Receigen注意到原始版本號的測試是零或零,但並不表示在應用程序發佈時這是否已修復。

回答

6

更新:Apple技術支持已確認(1)原始應用程序版本是用於識別現有用戶的字段(不是每個WWDC 2013的原始原始購買日期)。 (2)TestFlight和Sandbox不起作用,因爲沒有當前用戶的應用程序歷史記錄。被鼓勵提交錯誤報告(正如其他人已經完成的那樣)。即使TestFlight中的應用程序收據都將「original_app_version」返回爲「1.0」,但應用程序投入生產時應該會得到真正的版本。只是希望你沒有陷入發展!

+0

你能提供你如何做到這一點的代碼? – strangetimes

+0

我最終購買了第三方應用程序來爲iOS生成Receigen的收據驗證代碼 - 這很容易集成到Xcode中。我將它用於收據驗證(應用程序和應用程序內購買)並確定應用程序收據的原始應用程序版本(捆綁版本)。然後,我可以將用戶的原始捆綁軟件版本與用於付費用戶的捆綁軟件版本進行比較,以確定用戶最初是否購買了該應用。該網站(http://receigen.etiemble.com/)爲您提供了所有這些示例代碼。 – user3000868