现在,当用户在苹果应用程序购买中升级自动续订订阅产品时,苹果服务器会向我的开发服务器发送DID_CHANGE_RENEWAL_STATUS
消息。现在我成功地收到了消息。但我不知道该怎么做才能正确处理DID_CHANGE_RENEWAL_STATUS
消息。我阅读了文档并从网上搜索,告诉我苹果将在下一期生效新升级的订阅。收到DID_CHANGE_RENEWAL_STATUS
消息时该怎么办?
我想了一种方法,保存新升级的订阅记录,并将新订阅的记录标记为无效,直到收到来自苹果服务器的切换消息。我应该这样做吗?
现在我通过使用产品id和过期日期获得订阅产品,我必须添加另一个字段来标记新升级的产品无效。我只是想知道如何以最佳方式处理DID_CHANGE_RENEWAL_STATUS
消息。和降级自动续费产品一样,任何建议都欢迎。
此事件只是告诉您product_id
将发生更改。
正如你所说,如果是上坡/交叉坡,它会立即改变。如果是降级,它将在下一个expires_date
发生变化。
要知道是否应该更改与用户关联的当前产品,请查看latest_receipt_info
的最后一个元素(按web_order_line_item_id
排序(并检查product_id
。如果它的值与升级后的产品匹配,您应该更改,否则没有。
如果它没有改变,你会得到新产品:
- 在上坡/交叉坡的情况下:
INTERACTIVE_RENEWAL
S2S将接替DID_CHANGE_RENEWAL_STATUS
(并且您必须检查latest_receipt_info.product_id
属性,如前所述( - 在降级的情况下:由于
expires_date
将过期,您需要使用/verifyReceipt API检查订阅是否已续订。通过查看product_id
属性,您将检测到降级