2010-09-27 118 views
8

我正在開發一個應用程序,用戶可以在該應用程序中訂閱要在特定時間段內使用的功能。 訂閱期在我們自己的服務器上得到驗證,此後用戶需要購買新訂閱。iPhone應用內購買訂閱是否支付續訂費用?

現在我對蘋果的警報感到困惑:在「您想購買一個...」之後 - 警報會出現另一個註釋,即用戶已經爲訂閱付費並且如果他想要更新!

這是否真的會導致新的付款?

+0

我不太明白你的問題。 您是否創建第二個提醒? – Emil 2010-09-27 17:39:31

+0

不,警報來自蘋果。 – Sebrassi 2010-09-28 07:35:48

+0

警報來自Apple,但您的CODE會觸發它。見下面我的答案。 – Olie 2010-09-29 18:33:39

回答

3

蘋果公司要求您提供自己的購買用戶界面,或者類似於AppStore或提醒。在用戶向您確認購買之後,您的應用會提交SKPayment,這將導致SDK驗證用戶的商店標識以及他們支付的金額(我相信這是您所指的第二個對話框)。

任何時候用戶通過iTunes給你錢,那裏是一個iTunes對話框的地方。蘋果不希望開發人員跳過這一步,並從毫無戒心的用戶處獲得免費的資金。解決方案是圍繞它進行設計:您知道對話即將到來,所以不要先爲用戶提供冗餘對話框。許多應用程序使用帶有「購買」按鈕的信息頁來解決這個問題 - 而不是兩個購買對話框,他們將看到一個購買信息頁面,按下按鈕,然後獲得Apple SDK購買對話框。

如果您需要訂閱服務,則需要在iTunes Connect 中將項目設置爲訂閱,而不是消耗品或非消耗品。一旦你創建了一個IAP項目,你不能改變它的類型,所以在創建時選擇正確。訂閱並不像耗材那樣處理,即使它們基本上只是基於時間的消耗品。 Apple會強制執行不同的措辭,以便與用戶進行通信,即某個用戶在某個特定日期到期,另一個用戶在某些非時間資源用完後即失效。

您需要在自己的服務器上跟蹤訂閱購買(以檢查收據並消除盜版),並且您的應用程序應該在適當的時間提示續訂。就應用商店而言,更新訂閱將重新購買訂閱,因此,您會看到SDK會向用戶發出一些對話,要求他們驗證購買。目前還沒有「自動更新訂閱」選項。這些原因是許多開發人員提供多月訂閱的原因。

0

您可以測試不會導致實際付款的沙箱中的所有應用內購買(IAP)內容。

此外,您的應用程序如何處理各種交易將決定何時出現「您想購買......」對話框。

很顯然,一旦用戶購買訂閱,您應該保存該文件(閱讀:NSUserDefaults),如果全部付清,則不要放置「您想購買」警報。

如果這不能回答你的問題,也許問一些更具體的問題。特別是,您執行的IAP相關代碼會觸發「您想購買嗎?」警報;所以你必須根據你對用戶訂閱付款的知識來做/不做。

1

您似乎預計Apple Store會知道用戶訂閱何時過期。它不是。因此,如果您願意,您的應用程序可以隨時更新訂閱,即使每隔1分鐘,Apple Store也會認爲這是有效的續訂。您的應用程序(或可能是您的服務器)必須執行記帳,驗證用戶最近一次成功的訂閱事務是多久以前,如果不夠快,則只需跳過訂閱付款事務。

相關問題