2011-11-07 112 views
23

我有一個關於iOS的自動再生訂閱iOS的沙箱環境自動續訂訂閱

以下問題一)就會自動更新訂閱真正的自動更新在沙箱環境?問題似乎是訂閱不會自動續訂,儘管文檔說即使在沙箱環境中它也應該發生6次。

二)我們需要調用restoreCompletedTransactions獲得新的收據自動延長訂閱,或者是-paymentQueue:updatedTransactions:方法,通過iOS的自動叫什麼名字? (我想它會自動調用'launch'&'旋出背景'不確定)

c)您是如何處理多個設備上的相同訂閱的?這可以通過restoreCompletedTransactions來處理,但調用它會提示用戶密碼,所以每次啓動應用程序時都不方便。

回答

26

a)自動更新的訂閱是在沙箱環境不一致。有時訂閱會在結束之前更新多次(約5次)。其他時間根本不會更新。

B)(iOS6的交易收據)您不需要調用restoreCompletedTransactions檢查訂閱如果你存儲以前的收據(最好在服務器上)的狀態。只需將任何訂閱收據存儲爲該用戶,並將其提交給App Store進行驗證。他們會回覆latest_receipt_info,包括expires_date,您可以使用它來確定當前的訂閱狀態。

c)您應該提示新用戶「恢復以前的購買」,在此時您調用restoreCompletedTransactions。然後將這些收據之一(最好從您的服務器)提交給App Store進行驗證,以獲取有關交易的解碼詳細信息。在收據信息中查找鑰匙original_transaction_id。這將始終包含此用戶首次與您開始訂閱時的ID。如果您將此ID與系統中的其他人進行比較,您應該能夠確定哪些設備共享Apple帳戶。 (由於Apple不允許您查看用戶的Apple ID,因此這是識別跨多個設備的帳戶的最佳方式)。

這個問題類似: iOS auto-renew expired at the end of current subscription period

+0

刪除,並添加新的答案 – AndyRyan

7

要添加到此似乎蘋果的文檔中的線被誤解

更新發生在更快的速度,並自動再生訂閱續訂每天最多六次。這使您可以測試應用程序如何處理訂閱續訂,訂閱失效以及包含間隙的訂閱歷史記錄。

這似乎意味着所有訂閱每天只會更新6次。取消前每個訂閱都會更新6次。這讓我想了一會兒。

這也似乎是在24小時內。在給定的時間不刷新。例如,我在上午11點訂閱了一個沒有續約的訂閱。我在下午2點再次做了一次,更新了6次。