Skip to content

Commit

Permalink
move trackColdRestart to its own method and update usage string
Browse files Browse the repository at this point in the history
  • Loading branch information
emawby committed Nov 18, 2021
1 parent f5c58fb commit 6f5f945
Showing 1 changed file with 17 additions and 13 deletions.
30 changes: 17 additions & 13 deletions iOS_SDK/OneSignalSDK/Source/OneSignal.m
Original file line number Diff line number Diff line change
Expand Up @@ -1715,23 +1715,27 @@ + (BOOL)shouldRegisterNow {
// Depending on the results of our tracking we will change this case
// from a tracking request to return true
if (delta < minTimeThreshold && appId && !_registerUserFinished && !_trackedColdRestart) {
[OneSignal onesignal_Log:ONE_S_LL_VERBOSE message:@"shouldRegisterNow:coldRestart"];
// Set to true even if it doesn't pass the sample check
_trackedColdRestart = true;
// Sample /track calls to avoid hitting our endpoint too hard
int randomSample = arc4random_uniform(100);
if (randomSample == 99) {
NSString *osUsageData = [NSString stringWithFormat:@"lib-name=OneSignal-iOS-SDK,lib-version=%@,lib-event=cold_restart", ONESIGNAL_VERSION];
[[OneSignalClient sharedClient] executeRequest:[OSRequestTrackV1 trackUsageData:osUsageData appId:appId] onSuccess:^(NSDictionary *result) {
[OneSignal onesignal_Log:ONE_S_LL_VERBOSE message:@"shouldRegisterNow:trackColdRestart: successfully tracked cold restart"];
} onFailure:^(NSError *error) {
[OneSignal onesignal_Log:ONE_S_LL_ERROR message:[NSString stringWithFormat:@"shouldRegisterNow:trackColdRestart: Failed to track cold restart: %@", error.localizedDescription]];
}];
}
[OneSignal trackColdRestart];
}
return delta >= minTimeThreshold;
}

+ (void)trackColdRestart {
[OneSignal onesignal_Log:ONE_S_LL_VERBOSE message:@"trackColdRestart"];
// Set to true even if it doesn't pass the sample check
_trackedColdRestart = true;
// Sample /track calls to avoid hitting our endpoint too hard
int randomSample = arc4random_uniform(100);
if (randomSample == 99) {
NSString *osUsageData = [NSString stringWithFormat:@"kind=sdk, version=%@, source=iOS_SDK, name=cold_restart, lockScreenApp=false", ONESIGNAL_VERSION];
[[OneSignalClient sharedClient] executeRequest:[OSRequestTrackV1 trackUsageData:osUsageData appId:appId] onSuccess:^(NSDictionary *result) {
[OneSignal onesignal_Log:ONE_S_LL_VERBOSE message:@"trackColdRestart: successfully tracked cold restart"];
} onFailure:^(NSError *error) {
[OneSignal onesignal_Log:ONE_S_LL_ERROR message:[NSString stringWithFormat:@"trackColdRestart: Failed to track cold restart: %@", error.localizedDescription]];
}];
}
}

+ (void)registerUserAfterDelay {
[OneSignal onesignal_Log:ONE_S_LL_VERBOSE message:@"registerUserAfterDelay"];
[NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(registerUser) object:nil];
Expand Down

0 comments on commit 6f5f945

Please sign in to comment.