StoreKit 2 如何获取订阅自动续订时将使用的产品ID

问题描述 投票:0回答:1

我正在努力在我的 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) {
        // ... 
    }
}

我不知道如何访问该信息,以便我可以在他们的帐户屏幕上正确显示这些信息。如果我的用户使用的是年度产品,上周他们选择降级为月度产品,我需要向他们展示他们正在完成年度订阅,并将自动续订为月度。我不能只向他们展示他们是按年订阅的,因为他们会感到困惑,因为他们知道自己已降级为按月订阅。

swift storekit storekit2
1个回答
0
投票

啊,我错过了,因为它的名字和我想象的不一样

renewalInfo.autoRenewPreference:

https://developer.apple.com/documentation/storekit/product/subscriptioninfo/renewalinfo/3749495-autorenewpreference

我认为

autoRenewPreference
是关于他们是否选择自动续订或让订阅在期末失效。我希望它被命名为 autoRenewProductID 之类的东西来反映
currentProductID
属性,所以我的大脑跳过了它。

© www.soinside.com 2019 - 2024. All rights reserved.