2013-03-28 91 views
5

我有一個iPhone應用程序,還具有自動更新產品作爲應用程序內購買。這些產品將在未來1年內訂購我們的服務。我們希望在下一個版本中從我們的應用中刪除整個應用內購買和自動更新產品。從iPhone應用程序中刪除自動更新訂閱

要做到這一點,我們刪除我們的應用程序內的註冊選項,所以沒有新的用戶應該能夠註冊。現在我們想要禁用所有現有用戶的自動續訂。

我該如何做到這一點?在iTunes Connect中刪除我們的應用程序的應用程序內產品是否足夠?用戶是否會收到此通知?

回答

9

據蘋果公司(見WWDC 2011 Session 510在應用內購買iOS和OS X,在48:55標誌),你可以做一個開發商的唯一的東西,以防止訂閱自動更新是:

  • 提高價格。
  • 從iTunes連接中刪除自動更新的IAP產品。

在這兩種情況下,通知郵件都會發送給訂閱者,但不是立即發送。談話說蘋果在每年(每年)訂閱續訂前10天檢查並在當時發送電子郵件。但是,它並沒有記錄在任何地方,所以我會將其視爲實現細節。

我已經使用我自己的(每月)應用多次完成了後者(刪除產品),並且它看起來像廣告一樣工作。

一個重要的提示:如果您的應用程序是一個報亭應用,它必須有至少一個自動更新訂閱。如果你刪除了最後一個,應用程序將從App Store中刪除。已經購買它的用戶仍然可以使用它,並且可以從應用商店的「以前購買」部分下載副本,但是沒有新的副本會顯示在App Store中正確購買。

+1

如果產品從iTunes連接中刪除,用戶仍可以恢復正在運行的訂閱嗎? – 2014-10-23 13:14:40

-1

這將取決於你實現了你的系統。您是否從自己的服務器檢查收據(並提供數據/服務),還是直接在Apple的服務器中直接在應用程序中執行?

在iTunes Connect可以立即或在未來某一時間停止銷售產品,有效的。我懷疑這足以阻止更新訂閱。 (記住,你可以在沙盒縮短時間表進行測試。)但是,如果沒有:

  • 如果您使用自己的服務器來驗證收據,去使驗證步驟失敗給它一個不正確的共享密鑰。這意味着訂閱有效性將返回爲false(儘管出於「錯誤」原因),因此您的客戶將無法續訂。

  • 如果你的應用程序中做到這一點,生成一個新的共享祕密,因此現有結構中的一個不正確。然後,如上所述。

  • 如果可以的話,我建議發送一個通知給你的當前用戶,通知他們這個變化,並建議他們改變,讓他們知道將來'失敗',但沒關係。

+0

謝謝!然而,測試產品的移除是不可能的,沙箱只能訪問生產產品。然而蘋果在續約時應該怎麼做 - 他們不能銷售不存在的產品。我認爲唯一的可能性就是在實時數據上進行測試。 – j0nes 2013-04-05 07:02:14

+0

爲什麼不爲沙箱環境創建測試產品(類似於您提交1.0版本之前)?當然,你可以創建一個新的訂閱產品,但不提交它發佈,並測試? 我很確定你需要做的是從銷售中刪除產品,而不是完全刪除它。刪除它可能會對仍然訂閱的人產生不利後果 - 例如,收據驗證失敗並在過渡期間鎖定合法用戶。 – Freney 2013-04-05 07:38:35

相關問題