2014-03-19 108 views
0

我正在開發iOS應用程序的獲利模型,並且需要一些關於相關技術問題的幫助。iOS應用程序購買後的免費訂閱

當前的應用程序工作流程如下:用戶執行一些需要大量使用雲資源(我正在爲其支付)的操作。這些資源非常昂貴,所以我不希望我的用戶免費加載它們。我可以在這樣的情況假設有兩個可能的選擇:

  • 在AppStore的應用程序是免費的,提供了非常有限的功能,用戶必須購買應用(其實自動再生訂閱)以訪問雲資源。
  • 該應用程序不是免費的,當用戶購買應用程序時,他們可以免費訂閱第一個應用程序。 30天 - 之後,他們必須每月支付。

我知道如何實現第一個解決方案,但第二個解決方案存在問題。 我怎麼知道用戶只是買了我的應用程序(不重新安裝它)?有沒有辦法做到這一點?

回答

1

您的第二種選擇的一種方法可能是應用程序在首次啓動時向您的服務註冊當前設備。如果(以及當)該設備以前已被註冊,則拒絕訪問雲功能。 UIDevices identifierForVendor將足以完成此任務。

這仍然允許用戶在自己擁有的其他設備上第二次使用免費月,或者如果他切換到新設備。

作爲一種替代方案,您可以要求用戶爲您的服務設置一個帳戶,但當然無法阻止用戶創建多個帳戶。

這兩種方法的組合可能能夠減少誤用,但不可能完全抑制這種嘗試。

如果你需要儘可能地濫用規則,你可能需要堅持你的第一個方法。對於第二種選擇,您可能想嘗試將假帳戶/輔助設備的潛在損失計入您的定價方案。

但是,對於您的問題的底線答案是:您無法確定用戶是否已將應用程序重新安裝在設備上安裝應用程序之外的設備上。

編輯: 原來我錯過了一個事實,即identifierforVendor返回的值將不會持續。不幸的是,這意味着您需要堅持您的第一種方法或依靠用戶需要註冊的賬戶系統。第二個想法可能是更好的方法 - 取決於用戶將能夠存儲在雲中的內容種類,用戶可能不願意使用多個帳戶,因爲雲中的數據與帳戶相關聯。因此,多個賬戶實際上可能不是問題(就像保留多個Dropbox賬戶不切實際)。

所以你的問題的答案實際上是:你不能分辨用戶是否重新安裝你的應用程序。

+0

Toastor,謝謝你的偉大答案。 –

+0

據我所知,當用戶刪除我的應用程序,然後再次將其安裝在同一設備上時,identifierForVendor會發生變化,是的?因此我認爲我應該堅持第一種方法。 –

+1

不客氣! – Toastor

相關問題