Skip to content

访问当前订阅权利

检查用户的当前订阅权利是订阅管理的核心。 你可以通过 Transaction.currentEntitlements 属性轻松实现这一点。 这是一个强大的工具,让你能够即时了解用户的订阅状态。 🚀

这个属性会返回一个包含所有当前有效订阅的数组。 想象一下,你正在构建一个高级内容平台,你需要知道用户是否已订阅。 currentEntitlements 就是你的答案!

遍历订阅以验证状态

获取到 currentEntitlements 数组后,下一步就是遍历它。 你需要检查每个 Entitlement 对象,以确定其是否代表一个活跃的订阅。 这通常涉及检查订阅的 productIDofferID

例如,你可以筛选出特定产品或服务的所有有效订阅。 这种方法确保你只关注与你的应用功能相关的订阅。 这是一个非常精确的验证过程。

swift
for await verificationResult in Transaction.currentEntitlements {
    switch verificationResult {
    case .verified(let entitlement):
        // 检查 entitlement.productID 和其他属性
        print("已验证的权利:\(entitlement.productID)")
    case .unverified(let unverifiedTransaction, let verificationError):
        // 处理未验证的交易
        print("未验证的交易:\(unverifiedTransaction.productID), 错误:\(verificationError)")
    }
}

处理订阅状态的逻辑

一旦你确定了用户的订阅权利,就可以根据这些信息解锁相应的功能。 这可能包括:

  • 解锁高级内容: 比如独家文章或视频。
  • 移除广告: 提供无广告的体验。
  • 启用额外功能: 比如云存储或高级编辑工具。

记住,用户体验至关重要。 确保你的应用能够流畅地根据订阅状态调整其界面和功能。 你的用户会因此感到惊喜! ✨

持续监听订阅变化

订阅状态可能会随时改变,例如用户取消订阅或续订。 因此,持续监听 Transaction.updates 至关重要。 当有新的交易或状态更新时,currentEntitlements 会自动反映这些变化。

通过这种方式,你的应用始终保持最新状态,确保用户始终拥有正确的访问权限。 这是一个动态且响应迅速的系统。 保持警惕,你的应用将永远领先一步! 🏆

本站使用 VitePress 制作