是否有一种简单的方法可以在 App Store 上检查用户的订阅状态,或者唯一的方法是进行收据和订阅验证?

Posted

技术标签:

【中文标题】是否有一种简单的方法可以在 App Store 上检查用户的订阅状态,或者唯一的方法是进行收据和订阅验证?【英文标题】:Is there an easy way to check the status of the user's Subscription on the App Store, or the only way is to do a receipt and Subscription validation? 【发布时间】:2019-01-31 01:51:21 【问题描述】:

有谁知道在应用加载时检查用户是否已经购买订阅的简单方法?

我只需要检查用户是否已经购买了订阅,没有别的。看起来很简单,但实际上并非如此,因为我需要验证收据并检查订阅日期......订阅验证技术似乎不是一件容易的事,我没有找到好的教程或好的指南描述了如何逐步实现它。 I've read Apple documentation here 是否有任何简单的本地收据验证和订阅验证技术来检查用户是否订阅?

也许有人知道快速完成它的框架或方法?任何帮助表示赞赏。

使用:Swift 4、Xcode 9.4

【问题讨论】:

你可以关注这个。 youtube.com/watch?v=o3hJ0rY1NNw&t=2280s 和 raywenderlich.com/5456-in-app-purchase-tutorial-getting-started 感谢 Rob,但这些教程仅展示了如何实现应用内购买。我知道该怎么做。我对如何在不使用用户默认值的情况下检查订阅状态感兴趣。本地收据验证和订阅验证以检查用户是否购买了它 【参考方案1】:

RevenueCat SDK 为此提供了一个很好的开箱即用解决方案。

我喜欢这种方法的原因不止两个:

验证收据服务器端(无需我设置服务器) 检查带有服务器时间戳的“活动”订阅,因此不能通过更改设备时钟来欺骗 缓存结果,因此速度超快且离线工作

这个问题还有更多细节:https://***.com/a/55404121/3166209

归结为:

subscriptionStatus  (subscribed) in
    if subscribed 
        // Show that great pro content
    

【讨论】:

【参考方案2】:

我正在使用 IAPHelper https://github.com/JonasTillges/IAPHelper

它真的很容易使用!

IAPHelper.verifyPurchase(with: IAPHelper.proSubscription, sharedSecret: IAPHelper.sharedSecret, type: .autoRenewable)

在 IAPHelper.swift 中,您可以为 .purchased .expired 和 .notpurchased 设置 UserDefaults

【讨论】:

此解决方案使用SwiftyStoreKit,如果我想将第三方代码添加到我的应用程序中,我会直接导入该框架。它还使用不推荐的“buy.itunes.apple.com/verifyReceipt”。 为什么不推荐? ?【参考方案3】:

好的,这就是你的答案。我也遵循了同样的教程,它帮助了我。我验证了收据并确认已付款。请参阅下面的链接。希望对您有所帮助。

In App Purchase in Swift, with Receipt Validation

【讨论】:

鼓励链接到外部资源,但请在链接周围添加上下文,以便您的其他用户了解它是什么以及为什么存在。始终引用重要链接中最相关的部分,以防目标站点无法访问或永久离线。

以上是关于是否有一种简单的方法可以在 App Store 上检查用户的订阅状态,或者唯一的方法是进行收据和订阅验证?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用参数制作ios App Store链接?

是否可以从 Lion 上传到 App Store?

未通过 iOS App Store 完成的按月订阅收费

一种加快在苹果app store中上架的方法

是否有一种简单的方法可以在对象级别上记住(和刷新)Python上的属性?

我的应用可以提供“在 App Store 中更新”链接吗?