2015-12-18 109 views
4

問題1:iOS版 - 自動再生訂閱到期

我已經閱讀了有關訂閱蘋果文檔,但我仍然不能確定是否有可能得到的到期日爲自收到沒有自動再生訂閱從iOS 9開始聯繫Apple服務器?這有道理嗎?

問題2

目前我在做什麼,以獲得自動再生訂購過期是:

  • 使用[一個NSBundle mainBundle] appStoreReceiptURL],進入收據轉換成一個基地64字符串

  • 創建一個字典,我包括這個收據數據和共享的祕密

  • 轉換本詞典成JSON字符串

  • 這個JSON字符串發送到https://sandbox.itunes.apple.com/verifyReceipt

  • 返回其收爲從App Store

  • 的答覆JSONized收到字典獲取到期日from latest_receipt_info dictionary中的expires_date_ms

我不完全確定這是否是c orrect,因爲根據文檔,無法實現App Store和設備之間的安全鏈接(我目前正在這樣做)。實際上,文檔指出我需要自己的服務器,它將與我的App Store進行通信(https://developer.apple.com/library/ios/releasenotes/General/ValidateAppStoreReceipt/Chapters/ValidateRemotely.html#//apple_ref/doc/uid/TP40010573-CH104-SW1)。

這是可接受的方法或我需要我自己的服務器?如果我需要我自己的服務器,有人可以在正確的方向引導我如何設置它?我正在使用OpenSSL使用本地驗證進行購買時,對非消耗品和可消費的應用程序內購買進行收據驗證。所以這應該是好的。

在此先感謝。

回答

2

以下是在您的應用程序中實現自動更新服務的步驟。

1)每當您的應用程序完成應用程序購買。你應該發送收據數據(在Base 64編碼)到你的服務器,它將以特定的用戶配置文件存儲(這只是舉例)

2)你需要在你的服務器上創建克隆作業。每天運行一次,用於驗證每個收據。

3)在此驗證過程中,您只需調用您在問題中提到的蘋果服務即可。

4)在每次調用中,您都會收到蘋果提供的響應,其中蘋果會提供自動續訂的所有詳細信息。如果任何用戶獲得續約服務,那麼您會在響應中找到另一個對象。其中到期日期延長。

希望這會幫助你。

+1

感謝您的回答!關於我的第一個問題,是否有可能獲得自動續訂訂閱失效日期而無需首先將收據發送給App Store進行驗證/解析?換句話說,我可以直接從收據上直接查看本地到期日期,而無需在問題2中做我正在做的事情,而是通過自己解析收據?再次感謝。 – Nokiaowner

+0

你犯了一個錯字。這不是一個克隆工作,它是cron工作:) –

+0

latest-receipt-info有一個收據信息數組。我是否需要解析所有這些數據,並使用時間戳找出哪一個是最新的? –