我正在嘗試新的市場策略,因此我現在將免費提供我的0.79歐元應用程序,並通過應用程序內購買解鎖所有內容。我也不想背叛已經購買它的用戶,所以我想實施一項檢查,看看誰已經購買了該應用,不需要購買應用內支付來解鎖所有應用。iOS應用程序購買日期
我的問題是...我可以檢查應用程序何時被購買?或者也許有一個簡單的方法?
我正在嘗試新的市場策略,因此我現在將免費提供我的0.79歐元應用程序,並通過應用程序內購買解鎖所有內容。我也不想背叛已經購買它的用戶,所以我想實施一項檢查,看看誰已經購買了該應用,不需要購買應用內支付來解鎖所有應用。iOS應用程序購買日期
我的問題是...我可以檢查應用程序何時被購買?或者也許有一個簡單的方法?
你無法確定這一點,因爲沒有辦法檢查用戶是否購買了應用程序,因爲無法向操作系統詢問安裝/購買日期。
如上所述,您可以將其保存在NSUserDefaults
中,但如果用戶刪除該應用程序,則該信息將丟失。
可以將它保存在鑰匙串中,如果您刪除該應用程序,該鑰匙串不會被清除,但問題仍然存在,因爲如果iOS設備得到恢復,這些設置可能會丟失。
rckoenes解釋是正確的。我最近經歷過這樣的情況,我已經考慮了答案中提到的選項。我最終的選擇是發佈另一個應用程序擴展(如'pro'或'lite'等),而不是現有應用程序的一個版本。這將切斷處理您的應用購買狀態的所有麻煩。然後,您將擁有全付費版本的應用以及所有優質內容和一個免費版本以及應用內購買來解鎖內容。希望這會有所幫助。
我已經嘗試了2種應用程序的方式,但應用程序被拒絕,因爲「你不能這樣做,但你必須實施應用程序內購買」。順便說一句,我不喜歡有很多需要兩個相同的更新的2個應用程序... –
可能有一些遺漏。名稱應該有所不同。 2我猜,應用模型只是一個選擇問題。如果你稍微瀏覽商店,你會發現幾乎所有流行的遊戲/應用都使用相同的模型。而對於更新,您可以通過將應用程序開發爲單一而非兩個來處理它,並在某種不同的define-directives的基礎上實現您的邏輯。無論如何,這就是我處理事情的方式,會急於知道你最終會怎麼做。 – Ahmed
是的......我正在考慮一種簡單而友好的方式。無論如何感謝提示:-) –
這應該是非常簡單的。如果您知道您的新應用程序何時聯機,您只需檢查安裝日期/時間(首次運行時將日期/時間存儲在鑰匙串中)。在您的免費應用上線日期/時間之前安裝該應用的用戶可以訪問內容。如果您擔心新用戶弄亂日期/時間,請使用在線時間服務獲取實際時間。
只是爲了更新這個,它是可能的。看看在這個問題的答案 - 在收到領域之一是「原購買之日起」
A complete solution to LOCALLY validate an in-app receipts and bundle receipts on iOS 7
感謝的答案,但我需要的東西,不會弄亂用戶後刪除應用程序。我需要爲應用程序購買「免費」的應用程序,以便我可以在應用程序被刪除時恢復它。 –
它應該可以(而不是隱私侵犯)能夠訪問以前購買的應用程序版本/購買價格,但App Store在這方面極其缺乏(它甚至不支持付費升級,儘管原始的「你已經購買了此應用程序的先前版本」消息提示可能降價升級)。我有最好的建議是[提交增強請求](https://bugreport.apple.com/)。 –