feat: Add methods to check enabled subscriptions

This commit is contained in:
Andrea Busi
2020-11-15 15:40:44 +01:00
parent be8fd7f4b5
commit 2ab07b7010
2 changed files with 24 additions and 4 deletions
@@ -65,11 +65,23 @@ public class EQNPurchaseUtility: NSObject {
/// Check if user has bought pro app version
/// Pro version is enabled also if a yearly subscription is enabled
@objc public static func isProVersionEnabled() -> Bool {
var hasProVersion = false
VersioneProProducts.Identifier.identifierForProVersion.forEach { (identifier) in
hasProVersion = hasProVersion || UserDefaults.standard.bool(forKey: identifier)
VersioneProProducts.Identifier.identifierForProVersion.reduce(false) { (result, identifier) -> Bool in
return result || UserDefaults.standard.bool(forKey: identifier)
}
}
/// Check if user has bought Top 10k subscription
@objc public static func isTop10kEnabled() -> Bool {
VersioneProProducts.Identifier.identifiersForTop10k.reduce(false) { (result, identifier) -> Bool in
return result || UserDefaults.standard.bool(forKey: identifier)
}
}
/// Check if user has bought Top 100k subscription
@objc public static func isTop100kEnabled() -> Bool {
VersioneProProducts.Identifier.identifiersForTop100k.reduce(false) { (result, identifier) -> Bool in
return result || UserDefaults.standard.bool(forKey: identifier)
}
return hasProVersion
}
/// Remove saved in-app purchases flags.
@@ -54,6 +54,14 @@ public struct VersioneProProducts {
Subscription100kYearly, Subscription100kYearlyDiscounted
]
static let identifiersForTop10k: Set<ProductIdentifier> = [
Subscription10kMonthly, Subscription10kYearly, Subscription10kYearlyDiscounted
]
static let identifiersForTop100k: Set<ProductIdentifier> = [
Subscription100kMonthly, Subscription100kYearly, Subscription100kYearlyDiscounted
]
static let identifierForSubscriptions: Set<ProductIdentifier> = [
Subscription10kMonthly, Subscription100kMonthly,
Subscription10kYearly, Subscription10kYearlyDiscounted,