iOS内购订阅关闭自动续订后,到期时是否会再次发送通知?
iOS订阅到期时是否会再次发送DID_CHANGE_RENEWAL_STATUS通知?
答案是不会,下面给你详细拆解逻辑:
- 当你手动关闭自动续订的瞬间,系统就会立刻触发
DID_CHANGE_RENEWAL_STATUS通知,这相当于一次性把“订阅即将到期且不再自动续订”的状态变更告知了你的App,这个状态已经完成了同步。 - 等订阅实际到期时,系统不会重复发送这个通知——毕竟续订状态早在你关闭自动续订时就已经确定了。不过你依然可以通过两种方式确认订阅是否过期:
- 本地调用
SKReceiptRefreshRequest刷新收据,解析收据里的订阅过期时间来判断当前状态; - 服务器端调用App Store Server API验证订阅信息,获取最权威的过期、续订状态数据。
- 本地调用
顺带提下沙盒环境的情况:沙盒里的订阅会自动续订最多6次,等续订次数耗尽后订阅会到期,这时候同样不会发送DID_CHANGE_RENEWAL_STATUS通知,还是得靠收据解析或服务器API来确认状态变化。
内容的提问来源于stack exchange,提问作者Khadija Tul Kubra Zaki
相关产品推荐
相关产品推荐

