2011-05-16 65 views
2

我想在我的應用中添加應用內購買功能。iPhone:應用內購買查詢

我的應用程序包含許多功能。在免費版本中,我的應用程序的某些功能將可訪問,並禁用某些功能。

我想要做的是,我想要啓用所有的功能,一旦用戶支付完整版本的我的應用程序。

如何在iOS鑰匙串中存儲標誌?

我該怎麼做?

是否有任何示例或良好的鏈接?

回答

3

的方法有很多,你可以做到這一點:

  • 使用自己的服務器,一旦應用程序被成功地購買了傳遞內容。
  • 使用iOS鑰匙串存儲一些標誌。

我會在這裏談論第二點。我會假設你無法獲得你自己的服務器。

最簡單的方法就是像往常一樣將「已禁用」功能編入您的應用。但是在某處存儲標誌,比如說一個名爲「contentHasBeenPurchased」的標誌。你可以在任何地方存儲此標誌;在一個plist中,在NSUserDefaults中,但這些是不安全的方式來存儲你的國旗,因爲越獄應用程序可以輕鬆訪問你的應用程序的沙箱。這些方法對於非越獄用戶來說是安全的,大多數情況下......有一些軟件可以讓你訪問iOS文件系統並從那裏編輯plist。所以是的,將這個特定的標誌存儲在plist或NSUserDefaults當然不是一個好主意。

因此,您將這個標誌「contentHasBeenPurchased」存儲在iOS鑰匙串中,因爲它是加密的。如果你不知道如何使用iOS鑰匙串,學習起來有點複雜,但它肯定會在不久的將來得到回報。在鑰匙串中擁有標誌後,只需檢查其值是真還是假來啓用購買的內容即可。當用戶購買應用程序時,只需將該標誌設置爲true,即可開始使用。

+0

@ Sergio:但我很困惑,如果用戶購買完整版本的應用程序,然後用戶關閉應用程序。我如何知道它的購買或不?基本上,我正在瞄準非消耗品。 – Devang 2011-05-16 05:44:30

+0

那麼,如果你不願意做任何國旗檢查,那麼你永遠不會真正知道用戶是否購買了應用程序。因此,您需要做的一切就是在用戶購買應用程序後更改標誌,並在下次應用程序再次打開時進行檢查。希望我正確回答你的新問題。 – 2011-05-16 06:02:28

+0

@Sergio:好主意!以及你如何給iOS keychain選項。它是否也同樣起作用(設置標誌並檢查它)?如果你能分享的話,還有任何好的鏈接。 – Devang 2011-05-16 06:09:46