2016-10-05 15 views
2

我們在我們的應用中支持訂閱,現在用戶可以通過他們的ios設備上的settings-> manage subscriptions按鈕來更改訂閱。如何識別用戶在管理 - >設置中更改了訂閱?

我們如何才能找出有關應用程序中的這些變化?

我期待在SKPaymentQueue中看到有關此更改的事務,或者在驗證收據時看到它的指示,但是當我從一個訂閱級別更改爲另一個訂閱級別時(在同一訂閱組中),我找不到任何內容。

storeKit上的Apple文檔(https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/StoreKitGuide/Chapters/Subscriptions.html#//apple_ref/doc/uid/TP40008267-CH7-SW6)提到了取消訂單,但沒有更改訂閱。 用戶如何更改訂閱時可以通知應用程序(客戶端或服務器端)?

回答

1

通過Validating Receipts With the App Store每月定期的基礎之前用戶計劃進行更新,你可以檢查產品標識

所購買的項目的產品標識。

ASN.1字段類型1702

ASN.1字段值UTF8字符串

JSON字段名稱PRODUCT_ID

JSON字段值的字符串

該值相當於 的productIdentifier財產SKPayment存儲在交易的付款屬性中的對象。

+0

讓我知道你是否想要在應用內驗證收據的進一步幫助。 –

+0

謝謝你的回答! productIdentifier仍然顯示爲原始ID,而不是用戶切換到的新ID。我在過期日期附近不知道(我需要再等幾天),因爲我希望這些更改很快在應用中生效。只是爲了確保 - 我正在討論切換屬於同一產品組的產品ID。如果他們在不同的羣體,你建議的將會起作用。 – little

+0

無論訂閱是在同一組還是來自不同組,它都將始終具有唯一的product_id,因此您可以識別它們。而且沙盒測試不太好。並且您需要將每個訂閱用戶的到期日期保存在您的服務器數據庫中,並根據收據進行更新,因爲用戶可以隨時跳過/取消和續訂訂閱。在我們的應用程序中,我們還設置了所有此過程。 –