mirror of
https://github.com/UrbanApps/Armchair.git
synced 2026-04-25 10:18:44 +02:00
Merge pull request #51 from Navideck-fotis/reset-counters
Created public method to reset counters
This commit is contained in:
@@ -295,6 +295,14 @@ The `reviewURLString()` function is the review URL string, generated by substitu
|
|||||||
`ratingConditionsHaveBeenMet()` returns true when all of the setup conditions to display a prompt have been met.
|
`ratingConditionsHaveBeenMet()` returns true when all of the setup conditions to display a prompt have been met.
|
||||||
|
|
||||||
Armchair.ratingConditionsHaveBeenMet() -> Bool
|
Armchair.ratingConditionsHaveBeenMet() -> Bool
|
||||||
|
|
||||||
|
`resetUsageCounters()` resets app usage counters. Calling this method resets UseCount, SignificantEventCount and FirstUseDate (daysUntilPrompt).
|
||||||
|
|
||||||
|
Armchair.resetUsageCounters()
|
||||||
|
|
||||||
|
`resetAllCounters()` resets all counters. Calling thid method resets every value tracked by Armachair.
|
||||||
|
|
||||||
|
Armchair.resetAllCounters()
|
||||||
|
|
||||||
##### iOS Only Functions
|
##### iOS Only Functions
|
||||||
|
|
||||||
|
|||||||
@@ -302,6 +302,36 @@ public func debugEnabled(debugEnabled: Bool) {
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Reset all counters manually. This resets UseCount, SignificantEventCount and FirstUseDate (daysUntilPrompt)
|
||||||
|
*/
|
||||||
|
public func resetUsageCounters() {
|
||||||
|
StandardUserDefaults().setObject(NSNumber(double: NSDate().timeIntervalSince1970), forKey: keyForArmchairKeyType(ArmchairKey.FirstUseDate))
|
||||||
|
StandardUserDefaults().setObject(NSNumber(integer: 1), forKey: keyForArmchairKeyType(ArmchairKey.UseCount))
|
||||||
|
StandardUserDefaults().setObject(NSNumber(integer: 0), forKey: keyForArmchairKeyType(ArmchairKey.SignificantEventCount))
|
||||||
|
StandardUserDefaults().synchronize()
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Reset all values tracked by Armchair to initial state.
|
||||||
|
*/
|
||||||
|
public func resetAllCounters() {
|
||||||
|
let currentVersionKey = keyForArmchairKeyType(ArmchairKey.CurrentVersion)
|
||||||
|
let trackingVersion: String? = StandardUserDefaults().stringForKey(currentVersionKey)
|
||||||
|
let bundleVersionKey = kCFBundleVersionKey as String
|
||||||
|
let currentVersion = NSBundle.mainBundle().objectForInfoDictionaryKey(bundleVersionKey) as? String
|
||||||
|
|
||||||
|
StandardUserDefaults().setObject(trackingVersion, forKey: keyForArmchairKeyType(ArmchairKey.PreviousVersion))
|
||||||
|
StandardUserDefaults().setObject(StandardUserDefaults().objectForKey(keyForArmchairKeyType(ArmchairKey.RatedCurrentVersion)), forKey: keyForArmchairKeyType(ArmchairKey.PreviousVersionRated))
|
||||||
|
StandardUserDefaults().setObject(StandardUserDefaults().objectForKey(keyForArmchairKeyType(ArmchairKey.DeclinedToRate)), forKey: keyForArmchairKeyType(ArmchairKey.PreviousVersionDeclinedToRate))
|
||||||
|
StandardUserDefaults().setObject(currentVersion, forKey: currentVersionKey)
|
||||||
|
resetUsageCounters()
|
||||||
|
StandardUserDefaults().setObject(NSNumber(bool: false), forKey: keyForArmchairKeyType(ArmchairKey.RatedCurrentVersion))
|
||||||
|
StandardUserDefaults().setObject(NSNumber(bool: false), forKey: keyForArmchairKeyType(ArmchairKey.DeclinedToRate))
|
||||||
|
StandardUserDefaults().setObject(NSNumber(double: 0), forKey: keyForArmchairKeyType(ArmchairKey.ReminderRequestDate))
|
||||||
|
StandardUserDefaults().synchronize()
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
@@ -976,18 +1006,7 @@ public class Manager : ArmchairManager {
|
|||||||
|
|
||||||
} else if tracksNewVersions {
|
} else if tracksNewVersions {
|
||||||
// it's a new version of the app, so restart tracking
|
// it's a new version of the app, so restart tracking
|
||||||
userDefaultsObject?.setObject(trackingVersion, forKey: keyForArmchairKeyType(ArmchairKey.PreviousVersion))
|
resetAllCounters()
|
||||||
userDefaultsObject?.setObject(userDefaultsObject?.objectForKey(keyForArmchairKeyType(ArmchairKey.RatedCurrentVersion)), forKey: keyForArmchairKeyType(ArmchairKey.PreviousVersionRated))
|
|
||||||
userDefaultsObject?.setObject(userDefaultsObject?.objectForKey(keyForArmchairKeyType(ArmchairKey.DeclinedToRate)), forKey: keyForArmchairKeyType(ArmchairKey.PreviousVersionDeclinedToRate))
|
|
||||||
|
|
||||||
userDefaultsObject?.setObject(currentVersion, forKey: currentVersionKey)
|
|
||||||
userDefaultsObject?.setObject(NSNumber(double: NSDate().timeIntervalSince1970), forKey: keyForArmchairKeyType(ArmchairKey.FirstUseDate))
|
|
||||||
userDefaultsObject?.setObject(NSNumber(integer: 1), forKey: keyForArmchairKeyType(ArmchairKey.UseCount))
|
|
||||||
userDefaultsObject?.setObject(NSNumber(integer: 0), forKey: keyForArmchairKeyType(ArmchairKey.SignificantEventCount))
|
|
||||||
userDefaultsObject?.setObject(NSNumber(bool: false), forKey: keyForArmchairKeyType(ArmchairKey.RatedCurrentVersion))
|
|
||||||
userDefaultsObject?.setObject(NSNumber(bool: false), forKey: keyForArmchairKeyType(ArmchairKey.DeclinedToRate))
|
|
||||||
userDefaultsObject?.setObject(NSNumber(double: 0), forKey: keyForArmchairKeyType(ArmchairKey.ReminderRequestDate))
|
|
||||||
|
|
||||||
debugLog("Reset Tracking Version to: \(trackingVersion!)")
|
debugLog("Reset Tracking Version to: \(trackingVersion!)")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user