我正在努力在我的 iOS 应用程序中实现新的 StoreKit 2 api。我为我的用户提供自动续订订阅服务。我有很多不同的产品级别,每个级别都有按年或按月收费的选项。
假设一个用户有一个按年自动续订的订阅,支付到 2024 年 4 月。在 2023 年 9 月,他们决定降级为包月产品。他们的年度产品会一直保留到到期为止,然后当订阅在 2024 年 4 月自动续订时,它将改为每月续订。
我如何查看他们降级到的产品 ID?当我查看 renewalInfo 结构时,它会给我关于他们是否会续约、何时会续约的信息,它会给我他们的
currentProductId
... 但我需要 next 产品 ID。他们降级为每月一次。当他们对年度产品的订阅到期时,他们将续订为不同的(每月)产品。
if let status = try? await self.subscriptionProducts.first?.subscription?.status.first {
if let renewalInfo = try? self.checkVerified(status.renewalInfo) {
// ...
}
}
我不知道如何访问该信息,以便我可以在他们的帐户屏幕上正确显示这些信息。如果我的用户使用的是年度产品,上周他们选择降级为月度产品,我需要向他们展示他们正在完成年度订阅,并将自动续订为月度。我不能只向他们展示他们是按年订阅的,因为他们会感到困惑,因为他们知道自己已降级为按月订阅。
啊,我错过了,因为它的名字和我想象的不一样
renewalInfo.autoRenewPreference:
我认为
autoRenewPreference
是关于他们是否选择自动续订或让订阅在期末失效。我希望它被命名为 autoRenewProductID 之类的东西来反映 currentProductID
属性,所以我的大脑跳过了它。