2012-03-04 37 views
3

我正在構建iOS應用程序,該應用程序提供我們網站已提供的服務。這是一個基於訂閱的服務,所有功能都在訂閱時啓用。爲了讓用戶在應用中註冊定期付款,我似乎必須通過蘋果的應用購買API,並自動更新訂閱。這很好,但問題是用戶通過應用程序購買的服務也必須在網站上提供。但通過演練和開發人員指南閱讀,它看起來像處理交易的唯一方法是通過應用程序本身,然後可以設置將該信息傳遞到服務器。但後來我想象這種情況:直接從服務器訪問StoreKit收據

用戶在iOS應用程序上購買訂閱,在使用該網站和iOS應用程序之間來回切換。在用戶被收費的當天以及之後的日子,他們只是使用網站,無論出於何種原因。服務器不知道他們已經被計費,所以功能被禁用。爲了讓服務器找出用戶已被Apple收費,用戶必須在他們的iphone或ipad上打開應用程序,並將其與Apple和我的服務器同步。

有沒有什麼辦法讓我的服務器直接ping蘋果,並獲得有關爲給定用戶爲我的應用程序購買的信息?我一直無法找到任何東西;兩個建議的佈局,無論是否使用服務器,都使用iOS應用程序作爲Apple的唯一溝通者,除了讓服務器驗證信息是否有效。如果服務器無法親自獲取這些信息,那麼還有什麼其他可能的解決方案?

  1. 儘量不要使用蘋果的內置支付系統,以及風險被拒(與應用程序複製這一直是推出多年的在線服務,我們不再需要使用他們的應用內購買系統呢?)
  2. 如果用戶通過Apple付款,請讓服務器在預計付款日期和功能被禁用(使問題發生得不那麼頻繁但無法解決問題)之間給予一個慷慨緩衝區
  3. 當他們的帳戶似乎過期服務器,但它並不期望,發送電子郵件給用戶一條消息,說他們必須打開應用程序,否則他們的帳戶將不會被記入購買時間(似乎是一個奇怪的,而不是真的很棒的東西不得不要求用戶做,以便使用該服務)

這是關於我迄今爲止能夠想到的所有。任何人對這些解決方案有任何建議,或瞭解其他人,或知道我可以與誰交談以嘗試解決這個問題?

+0

有點太多的信息在這裏。你能稍微知道一點嗎?否則[Programmers.SE]可能更好 – Coffee 2012-03-04 05:51:44

+1

感謝您的鏈接!我已經去註冊了。下次我會記住不同類型的問題。我會離開它,因爲它現在已經被回答了。 – 2012-03-07 18:51:50

回答

4

是的,您可以從服務器檢查用戶帳戶的狀態。有幾點注意事項:

  • 首先,自動更新訂閱保留給期刊如雜誌和報紙。如果您的應用不符合這些要求,蘋果可能會拒絕(如他們所做的那樣),並要求您使用非續訂訂閱(請閱讀:手動更新訂閱)。
  • 第二種:這種情況下,您需要在服務器上存儲您在應用中收到的所有收據。
  • 最後:我不知道您的用戶名/密碼系統是如何工作的,但用戶必須在您的應用上使用相同的憑據登錄,就像他們在您的網站上一樣。

以下是您如何檢查用戶帳戶的狀態:在服務器上存儲每個用戶至少一張收據。當您想檢查狀態時,請按照Apple的程序Verifying App Store Receipts。發給他們一張收據,他們會以最新收據和截止日期作出迴應。現在,您會在任何時候知道某人的帳戶是否爲最新帳戶。

+0

謝謝安德魯,這回答我的問題!該系統將正常工作。 Re:被拒絕,這也是一個問題。縱觀Apple文檔,他們說:「訂閱可以延長訪問內容或服務的時間,例如,您的應用程序可能每月提供財務信息或在線遊戲門戶。」我帶着希望閱讀了這篇文章,但我也聽到了你從其他來源所說的話。我想唯一的辦法是提交應用程序並查看。第2點和第3點已經是如何構建的。 – 2012-03-07 18:04:21

+0

是的,關於Apple doc報價,但我認爲該聲明適用於兩種訂閱類型。我並不是說他們不會讓你使用訂閱,我只是說他們可能會堅持使用非續訂而不是自動更新類型。這可能是一個祝福。自動續訂訂閱可能很頭疼:您無法取消訂閱,您無法分辨用戶是否在開始續訂之前啓用了「自動」功能,等等。使用非續訂訂閱,您可以手動擴展用戶的訂閱作爲獎勵,因爲您自己計算到期日期。 – Andrew 2012-03-07 21:07:51

+0

嗨,您好,先前發佈的鏈接似乎已被Apple刪除。 – 2016-11-04 12:11:44