forked from organicmaps/organicmaps
[alohalytics][ios] Minor renaming.
This commit is contained in:
parent
755f6ef5c9
commit
28c48b0541
1 changed files with 22 additions and 21 deletions
|
@ -206,15 +206,15 @@ static void LogSystemInformation(NSString * userAgent) {
|
|||
// Returns <unique id, true if it's the very-first app launch>.
|
||||
static std::pair<std::string, bool> InstallationId() {
|
||||
bool firstLaunch = false;
|
||||
NSUserDefaults * userDataBase = [NSUserDefaults standardUserDefaults];
|
||||
NSString * installationId = [userDataBase objectForKey:@"AlohalyticsInstallationId"];
|
||||
NSUserDefaults * ud = [NSUserDefaults standardUserDefaults];
|
||||
NSString * installationId = [ud objectForKey:@"AlohalyticsInstallationId"];
|
||||
if (installationId == nil) {
|
||||
CFUUIDRef uuid = CFUUIDCreate(kCFAllocatorDefault);
|
||||
// All iOS IDs start with I:
|
||||
installationId = [@"I:" stringByAppendingString:(NSString *)CFBridgingRelease(CFUUIDCreateString(kCFAllocatorDefault, uuid))];
|
||||
CFRelease(uuid);
|
||||
[userDataBase setValue:installationId forKey:@"AlohalyticsInstallationId"];
|
||||
[userDataBase synchronize];
|
||||
[ud setValue:installationId forKey:@"AlohalyticsInstallationId"];
|
||||
[ud synchronize];
|
||||
firstLaunch = true;
|
||||
}
|
||||
return std::make_pair([installationId UTF8String], firstLaunch);
|
||||
|
@ -370,31 +370,32 @@ static BOOL gIsFirstSession = NO;
|
|||
.SetServerUrl([serverUrl UTF8String])
|
||||
.SetStoragePath(StoragePath());
|
||||
|
||||
NSUserDefaults * ud = [NSUserDefaults standardUserDefaults];
|
||||
// Calculate some basic statistics about installations/updates/launches.
|
||||
NSUserDefaults * userDataBase = [NSUserDefaults standardUserDefaults];
|
||||
NSString * installedVersion = [userDataBase objectForKey:kInstalledVersionKey];
|
||||
NSString * installedVersion = [ud objectForKey:kInstalledVersionKey];
|
||||
BOOL shouldSendUpdatedSystemInformation = NO;
|
||||
// Do not generate $install event for old users who did not have Alohalytics installed but already used the app.
|
||||
const BOOL appWasNeverInstalledAndLaunchedBefore = (NSOrderedAscending == [[Alohalytics buildDate] compare:[Alohalytics installDate]]);
|
||||
if (installationId.second && appWasNeverInstalledAndLaunchedBefore && installedVersion == nil) {
|
||||
gIsFirstSession = YES;
|
||||
instance.LogEvent("$install", [Alohalytics bundleInformation:version]);
|
||||
[userDataBase setValue:version forKey:kInstalledVersionKey];
|
||||
[ud setValue:version forKey:kInstalledVersionKey];
|
||||
// Also store first launch date for future use.
|
||||
if (nil == [userDataBase objectForKey:kFirstLaunchDateKey]) {
|
||||
[userDataBase setObject:[NSDate date] forKey:kFirstLaunchDateKey];
|
||||
if (nil == [ud objectForKey:kFirstLaunchDateKey]) {
|
||||
[ud setObject:[NSDate date] forKey:kFirstLaunchDateKey];
|
||||
}
|
||||
[userDataBase synchronize];
|
||||
[ud synchronize];
|
||||
shouldSendUpdatedSystemInformation = YES;
|
||||
} else {
|
||||
if (installedVersion == nil || ![installedVersion isEqualToString:version]) {
|
||||
instance.LogEvent("$update", [Alohalytics bundleInformation:version]);
|
||||
[userDataBase setValue:version forKey:kInstalledVersionKey];
|
||||
[ud setValue:version forKey:kInstalledVersionKey];
|
||||
// Also store first launch date for future use, if Alohalytics was integrated only in this update.
|
||||
if (nil == [userDataBase objectForKey:kFirstLaunchDateKey]) {
|
||||
[userDataBase setObject:[NSDate date] forKey:kFirstLaunchDateKey];
|
||||
if (nil == [ud objectForKey:kFirstLaunchDateKey]) {
|
||||
[ud setObject:[NSDate date] forKey:kFirstLaunchDateKey];
|
||||
}
|
||||
[userDataBase synchronize];
|
||||
[ud synchronize];
|
||||
shouldSendUpdatedSystemInformation = YES;
|
||||
}
|
||||
}
|
||||
|
@ -474,10 +475,10 @@ static BOOL gIsFirstSession = NO;
|
|||
gSessionStartTime = nil;
|
||||
Stats & instance = Stats::Instance();
|
||||
instance.LogEvent("$applicationWillResignActive", std::to_string(seconds));
|
||||
NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults];
|
||||
seconds += [defaults integerForKey:kTotalSecondsInTheApp];
|
||||
[defaults setInteger:seconds forKey:kTotalSecondsInTheApp];
|
||||
[defaults synchronize];
|
||||
NSUserDefaults * ud = [NSUserDefaults standardUserDefaults];
|
||||
seconds += [ud integerForKey:kTotalSecondsInTheApp];
|
||||
[ud setInteger:seconds forKey:kTotalSecondsInTheApp];
|
||||
[ud synchronize];
|
||||
if (instance.DebugMode()) {
|
||||
ALOG("Total seconds spent in the app:", seconds);
|
||||
}
|
||||
|
@ -524,13 +525,13 @@ static BOOL gIsFirstSession = NO;
|
|||
}
|
||||
|
||||
+ (NSDate *)firstLaunchDate {
|
||||
NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults];
|
||||
NSDate * date = [defaults objectForKey:kFirstLaunchDateKey];
|
||||
NSUserDefaults * ud = [NSUserDefaults standardUserDefaults];
|
||||
NSDate * date = [ud objectForKey:kFirstLaunchDateKey];
|
||||
if (!date) {
|
||||
// Non-standard situation: this method is called before calling setup. Return current date.
|
||||
date = [NSDate date];
|
||||
[defaults setObject:date forKey:kFirstLaunchDateKey];
|
||||
[defaults synchronize];
|
||||
[ud setObject:date forKey:kFirstLaunchDateKey];
|
||||
[ud synchronize];
|
||||
}
|
||||
return date;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue