【问题标题】:How to check if auto renewal subscription have been made IOSIOS如何查看是否自动续费订阅
【发布时间】:2019-07-25 01:43:01
【问题描述】:

我开发了一个多平台应用程序,这是我第一次使用苹果应用内购买订阅。目前所有订阅过程都很好,但我想在应用程序打开时添加一个检查功能。如果续订已完成,则 Firebase 日期将更新为新的结束日期,以允许其他平台现在使用它。

我有我的功能:

func userPrivilegeAllowed(){



    if let user = Auth.auth().currentUser{
        // user is connect
        let ref = Database.database().reference()
        let userID = Auth.auth().currentUser?.uid

        ref.child("User_Subscribtion").child(userID!).observeSingleEvent(of: .value) {(snapshot) in
            let value = snapshot.value as? NSDictionary

            let expStringDate = value?["Expiry_Date"] as? String ?? "01/01/01"

            self.dateFormatter.dateStyle = DateFormatter.Style.short
            self.dateFormatter.dateFormat = "dd/MM/yy"
            let expiryDate = self.dateFormatter.date(from: expStringDate) ?? self.dateFormatter.date(from: "01/01/1990")

            self.today.dateStyle = DateFormatter.Style.short
            self.today.dateFormat = "dd/MM/yy"

            var dayBeforeExpiry = Calendar.current.dateComponents([.month, .day, .year], from: self.curentDate, to: expiryDate!)

            if dayBeforeExpiry.year! == 0 && dayBeforeExpiry.month! == 0 && dayBeforeExpiry.day! <= 0{

                self.StartBtn.isHidden = true
                self.StopBtn.isHidden = true
                self.unpaidBtn.isHidden = false

            } else if dayBeforeExpiry.year! == 0 && dayBeforeExpiry.month! == 0 && dayBeforeExpiry.day! <= 7{
                self.unpaidBtn.isHidden = true
                self.WarningSubscription.isHidden = false
            } else if dayBeforeExpiry.year! == 0 && dayBeforeExpiry.month! == 0 && dayBeforeExpiry.day! == 1{
                //Add Check if Apple payement is OK or Not !

            }

        }

    }
}

如何获取新的结束日期以更新或不更新数据库并允许或不允许用户使用该应用程序?

我现在在网上已经有一些关于这个问题的信息,但是我对IOS开发不是很熟悉,我需要更多的帮助......

感谢您的帮助

【问题讨论】:

    标签: ios swift in-app-purchase subscription


    【解决方案1】:

    为了使用户的订阅状态保持最新,您需要将购买收据存储在您的服务器上,并定期使用 Apple 刷新它以从收据文件中获取最新的到期日期。您可以在续订期临近时进行刷新,或者更频繁地进行取消/退款。

    使用您共享的代码,用户可以更改手机上的系统时间并永久访问您的订阅。您应该根据服务器上的时间检查日期。

    这是一篇很好的博文,更详细地解释了服务器端:iOS Subscriptions are Hard。您还可以查看为您管理所有这些的their service。 (免责声明:我在那里工作)

    【讨论】:

    • 感谢您提供信息,我从不使用应用内订阅,所以我会尝试按照收入猫给出的流程谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-23
    • 2016-06-04
    • 2018-01-12
    • 2018-05-19
    • 2019-07-21
    • 2017-09-10
    • 1970-01-01
    相关资源
    最近更新 更多