2010-04-04 55 views
4

App Store中當前版本的應用程序是免費的,功能非常有限。應用內購買可解鎖其他所有內容。從免費應用程序中刪除應用程序內購買並提高價格

我已決定刪除應用程序內購買,只是使應用程序的成本價格相同的In-App Purchase的那樣。但是,如果我現在進行更新,那些擁有免費版本但尚未支付應用程序內購買費用的用戶將獲得完整版本的免費更新。

我已刪除了我的單例類,PurchaseManager的所有痕跡,從應用程序,所以,在這一點,當我建立/運行,所有的功能被解鎖。在這一點上,我如何確保免費版用戶不會只是更新到完整版?

也許有一種方法可以測試應用程序是通過更新還是通過購買獲得的?這樣,如果是通過更新,我會看看它是否是免費版本,不包含IAP,然後強制用戶購買IAP繼續播放。

任何想法?

+0

是不是可以指定更新價格?因此,如果您想更新(完整版),您必須付費。 – dododedodonl 2010-04-04 19:12:49

+0

然後,爲第一個版本的應用內購買付費的用戶將不得不再次支付更新費用。我試圖避免這種情況。 – 2010-04-04 19:24:36

回答

1

確保在第一個版本中設置了用戶默認值。如果objectForKey:返回nil,那麼它從來沒有設置,這意味着第一個版本從未運行。在這種情況下,我將YES設置爲用戶默認是否購買了應用內購買。

以上只運行了一次,這保證了演示的用戶繼續使用演示,直到他們購買了應用程序內購買(與第二版遊戲相同的價格),並且完整版的用戶從v1.0開始就有了完整的版本。

+1

有趣的方法。因此,您將保留所有IAP功能,但僅向未升級的免費版用戶顯示。唯一的缺點是必須在未來的版本中支持IAP。至於只存在於第一個版本中的NSUserDefaults值,我想一個簡單的解決方案是在後續版本中重命名一些默認值。因此,較新版本的應用程序將使用「username2」而不是「username」,並且如果定義了「username」,則顯然用戶擁有較早的版本。 – 2010-06-11 15:15:13

+1

我認爲這是關於你能做的最好的。雖然這並非萬無一失。如果有人從手機上卸載應用程序,然後安裝更新(我相信)你NSUserDefault的設置將會消失。它看起來像一個新的購買,所以用戶將獲得所有功能。同樣的問題,如果他們添加第二個電話的帳戶。 – Axeva 2011-03-09 14:28:46

0

不那麼容易。推出一個小的更新您當前的應用程序,並記錄所有那些誰獲得了應用程序激活的設備ID。

發佈博客在您的網站要求用戶在他們的設備ID和電子郵件發送的重新imbursing的應用程序內購買的成本。您可以從收集的設備ID進行交叉驗證。

我知道這很痛苦。大多數首先在Cydia上發佈應用程序然後在應用程序商店正式發佈應用程序的人都這樣做了例如,snapture。

+1

因爲蘋果公司需要30%的支出,所以這樣做會損失很多錢。我不會推薦這個。 – iwasrobbed 2011-04-17 17:18:05

相關問題