From aad94f0eea58fd2a82d5ca90bfa3ff48be145532 Mon Sep 17 00:00:00 2001 From: Obaied Date: Fri, 12 May 2017 14:13:08 +0200 Subject: [PATCH 1/5] Submodule updates --- ext/Android/sdk | 2 +- ext/iOS/sdk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ext/Android/sdk b/ext/Android/sdk index 587dd375..981667cd 160000 --- a/ext/Android/sdk +++ b/ext/Android/sdk @@ -1 +1 @@ -Subproject commit 587dd375954881c9f441136b43ccb4bb306070cf +Subproject commit 981667cd4b227b446c39722deba86e578258dfb5 diff --git a/ext/iOS/sdk b/ext/iOS/sdk index a90e8a23..686d8c77 160000 --- a/ext/iOS/sdk +++ b/ext/iOS/sdk @@ -1 +1 @@ -Subproject commit a90e8a23e62d2018a31d1d54290181cf9c34dc1f +Subproject commit 686d8c771d3778e8b0cf2558e1299af945df2dda From 7236aa417e445446a8b897cf13e3410b64dac11f Mon Sep 17 00:00:00 2001 From: Obaied Date: Fri, 12 May 2017 16:00:48 +0200 Subject: [PATCH 2/5] Append to CHANGELOG --- CHANGELOG.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8ea38877..22ffafc1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,17 @@ +### Version 4.11.3 (xx May 2017) +#### Added +- **[IOS][AND]** Added check if `sdk_click` package response contains attribution information. +- **[IOS][AND]** Added sending of attributable parameters with every `sdk_click` package. + +#### Changed +- **[IOS][AND]** Replaced `assert` level logs with `warn` level. + +#### Native SDKs +- **[iOS]** [iOS@v4.11.4][ios_sdk_v4.11.4] +- **[AND]** [Android@v4.11.4][android_sdk_v4.11.4] + +--- + ### Version 4.11.2 (24th April 2017) #### Added - **[iOS]** Added nullability annotations to public headers for Swift 3.0 compatibility. @@ -80,8 +94,10 @@ [ios_sdk_v4.10.3]: https://github.com/adjust/ios_sdk/tree/v4.10.3 [ios_sdk_v4.11.0]: https://github.com/adjust/ios_sdk/tree/v4.11.0 [ios_sdk_v4.11.3]: https://github.com/adjust/ios_sdk/tree/v4.11.3 +[ios_sdk_v4.11.4]: https://github.com/adjust/ios_sdk/tree/v4.11.4 [android_sdk_v4.10.4]: https://github.com/adjust/android_sdk/tree/v4.10.4 [android_sdk_v4.11.0]: https://github.com/adjust/android_sdk/tree/v4.11.0 [android_sdk_v4.11.1]: https://github.com/adjust/android_sdk/tree/v4.11.1 [android_sdk_v4.11.3]: https://github.com/adjust/android_sdk/tree/v4.11.3 +[android_sdk_v4.11.4]: https://github.com/adjust/android_sdk/tree/v4.11.4 From c7ce04438eeb31bc1c56673977a9cb8ce3837f5b Mon Sep 17 00:00:00 2001 From: Obaied Date: Fri, 12 May 2017 16:01:11 +0200 Subject: [PATCH 3/5] Update version to 4.11.3 --- VERSION | 2 +- index.js | 2 +- package.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/VERSION b/VERSION index 4f89fb96..e9fdaa8c 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -4.11.2 +4.11.3 diff --git a/index.js b/index.js index a13eb9e1..8e020b64 100755 --- a/index.js +++ b/index.js @@ -111,7 +111,7 @@ var AdjustConfig = function(appToken, environment) { this.appToken = appToken; this.environment = environment; - this.sdkPrefix = "react_native4.11.2"; + this.sdkPrefix = "react_native4.11.3"; this.logLevel = null; this.eventBufferingEnabled = null; diff --git a/package.json b/package.json index 3f6da9b0..ee7f598f 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "react-native-adjust", "description": "Adjust React Native SDK", - "version": "4.11.2", + "version": "4.11.3", "main": "index.js", "author": "adjust GmbH", "license": "MIT", From 4b1f3186b8d13871da19f6e0c245270da954395a Mon Sep 17 00:00:00 2001 From: uerceg Date: Mon, 15 May 2017 16:22:36 +0200 Subject: [PATCH 4/5] Native libraries update --- android/libs/adjust-android.jar | Bin 148093 -> 151058 bytes ios/Adjust/ADJActivityHandler.h | 1 + ios/Adjust/ADJActivityHandler.m | 103 ++++++++++++++++++++++------- ios/Adjust/ADJAdjustFactory.h | 3 +- ios/Adjust/ADJAdjustFactory.m | 7 +- ios/Adjust/ADJAttributionHandler.h | 2 + ios/Adjust/ADJAttributionHandler.m | 16 +++++ ios/Adjust/ADJConfig.m | 33 +++------ ios/Adjust/ADJLogger.h | 3 +- ios/Adjust/ADJLogger.m | 20 +++++- ios/Adjust/ADJPackageBuilder.h | 3 +- ios/Adjust/ADJPackageBuilder.m | 37 +++++++---- ios/Adjust/ADJResponseData.h | 3 + ios/Adjust/ADJResponseData.m | 8 +++ ios/Adjust/ADJSdkClickHandler.h | 7 +- ios/Adjust/ADJSdkClickHandler.m | 23 +++++-- ios/Adjust/ADJUtil.m | 2 +- ios/Adjust/Adjust.h | 2 +- 18 files changed, 198 insertions(+), 75 deletions(-) diff --git a/android/libs/adjust-android.jar b/android/libs/adjust-android.jar index 1230eee1220f79b9c6c7b68dde35cd1a8009eb6a..db49d181b62363a1c617ed6aa98f48a5760ab96f 100644 GIT binary patch delta 64092 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 MgPW#?{wg3PC delta 61644 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 EKff~+C;$Ke diff --git a/ios/Adjust/ADJActivityHandler.h b/ios/Adjust/ADJActivityHandler.h index e3a10252..9164abef 100644 --- a/ios/Adjust/ADJActivityHandler.h +++ b/ios/Adjust/ADJActivityHandler.h @@ -52,6 +52,7 @@ sessionParametersActionsArray:(NSArray*)sessionParametersActionsArray - (void)finishedTracking:(ADJResponseData *)responseData; - (void)launchEventResponseTasks:(ADJEventResponseData *)eventResponseData; - (void)launchSessionResponseTasks:(ADJSessionResponseData *)sessionResponseData; +- (void)launchSdkClickResponseTasks:(ADJSdkClickResponseData *)sdkClickResponseData; - (void)launchAttributionResponseTasks:(ADJAttributionResponseData *)attributionResponseData; - (void)setEnabled:(BOOL)enabled; - (BOOL)isEnabled; diff --git a/ios/Adjust/ADJActivityHandler.m b/ios/Adjust/ADJActivityHandler.m index 636408f9..75d10595 100644 --- a/ios/Adjust/ADJActivityHandler.m +++ b/ios/Adjust/ADJActivityHandler.m @@ -238,6 +238,12 @@ - (void)finishedTracking:(ADJResponseData *)responseData { return; } + // redirect sdk_click responses to attribution handler to check for attribution information + if ([responseData isKindOfClass:[ADJSdkClickResponseData class]]) { + [self.attributionHandler checkSdkClickResponse:(ADJSdkClickResponseData*)responseData]; + return; + } + // check if it's an event response if ([responseData isKindOfClass:[ADJEventResponseData class]]) { [self launchEventResponseTasks:(ADJEventResponseData*)responseData]; @@ -261,6 +267,14 @@ - (void)launchSessionResponseTasks:(ADJSessionResponseData *)sessionResponseData }]; } +- (void)launchSdkClickResponseTasks:(ADJSdkClickResponseData *)sdkClickResponseData { + [ADJUtil launchInQueue:self.internalQueue + selfInject:self + block:^(ADJActivityHandler * selfI) { + [selfI launchSdkClickResponseTasksI:selfI sdkClickResponseData:sdkClickResponseData]; + }]; +} + - (void)launchAttributionResponseTasks:(ADJAttributionResponseData *)attributionResponseData { [ADJUtil launchInQueue:self.internalQueue selfInject:self @@ -399,27 +413,14 @@ - (void)setDeviceToken:(NSData *)deviceToken { }]; } -- (void)setIadDate:(NSDate *)iAdImpressionDate withPurchaseDate:(NSDate *)appPurchaseDate { - if (iAdImpressionDate == nil) { - [self.logger debug:@"iAdImpressionDate not received"]; - return; - } - - [self.logger debug:@"iAdImpressionDate received: %@", iAdImpressionDate]; - - - double now = [NSDate.date timeIntervalSince1970]; - ADJPackageBuilder *clickBuilder = [[ADJPackageBuilder alloc] - initWithDeviceInfo:self.deviceInfo - activityState:self.activityState - config:self.adjustConfig - createdAt:now]; - - clickBuilder.purchaseTime = appPurchaseDate; - clickBuilder.clickTime = iAdImpressionDate; - - ADJActivityPackage *clickPackage = [clickBuilder buildClickPackage:@"iad"]; - [self.sdkClickHandler sendSdkClick:clickPackage]; +- (void)setIadDate:(NSDate *)iAdImpressionDate + withPurchaseDate:(NSDate *)appPurchaseDate +{ + [ADJUtil launchInQueue:self.internalQueue + selfInject:self + block:^(ADJActivityHandler * selfI) { + [selfI setIadDateI:selfI iAdImpressionDate:iAdImpressionDate withPurchaseDate:appPurchaseDate]; + }]; } - (void)setAttributionDetails:(NSDictionary *)attributionDetails @@ -485,6 +486,10 @@ - (void)sendIad3ClickPackage:(ADJActivityHandler *)selfI attributionDetails:(NSDictionary *)attributionDetails { double now = [NSDate.date timeIntervalSince1970]; + if (selfI.activityState != nil) { + double lastInterval = now - selfI.activityState.lastActivity; + selfI.activityState.lastInterval = lastInterval; + } ADJPackageBuilder *clickBuilder = [[ADJPackageBuilder alloc] initWithDeviceInfo:selfI.deviceInfo activityState:selfI.activityState @@ -493,7 +498,7 @@ - (void)sendIad3ClickPackage:(ADJActivityHandler *)selfI clickBuilder.attributionDetails = attributionDetails; - ADJActivityPackage *clickPackage = [clickBuilder buildClickPackage:@"iad3"]; + ADJActivityPackage *clickPackage = [clickBuilder buildClickPackage:@"iad3" sessionParameters:selfI.sessionParameters]; [selfI.sdkClickHandler sendSdkClick:clickPackage]; } @@ -716,7 +721,8 @@ - (void)initI:(ADJActivityHandler *)selfI startsSending:[selfI toSendI:selfI sdkClickHandlerOnly:NO]]; - selfI.sdkClickHandler = [ADJAdjustFactory sdkClickHandlerWithStartsPaused:[selfI toSendI:selfI + selfI.sdkClickHandler = [ADJAdjustFactory sdkClickHandlerWithStartsPaused:selfI + startsSending:[selfI toSendI:selfI sdkClickHandlerOnly:YES]]; [[UIDevice currentDevice] adjSetIad:selfI triesV3Left:kTryIadV3]; @@ -930,6 +936,21 @@ - (void)launchSessionResponseTasksI:(ADJActivityHandler *)selfI self.internalState.sessionResponseProcessed = YES; } +- (void)launchSdkClickResponseTasksI:(ADJActivityHandler *)selfI + sdkClickResponseData:(ADJSdkClickResponseData *)sdkClickResponseData { + [selfI updateAdidI:selfI adid:sdkClickResponseData.adid]; + + BOOL toLaunchAttributionDelegate = [selfI updateAttributionI:selfI attribution:sdkClickResponseData.attribution]; + + // try to update and launch the attribution changed delegate + if (toLaunchAttributionDelegate) { + [selfI.logger debug:@"Launching attribution changed delegate"]; + [ADJUtil launchInMainThread:selfI.adjustDelegate + selector:@selector(adjustAttributionChanged:) + withObject:sdkClickResponseData.attribution]; + } +} + - (void)launchAttributionResponseTasksI:(ADJActivityHandler *)selfI attributionResponseData:(ADJAttributionResponseData *)attributionResponseData { [selfI updateAdidI:selfI adid:attributionResponseData.adid]; @@ -1034,6 +1055,9 @@ - (void)appWillOpenUrlI:(ADJActivityHandler *)selfI } double now = [NSDate.date timeIntervalSince1970]; + double lastInterval = now - selfI.activityState.lastActivity; + selfI.activityState.lastInterval = lastInterval; + ADJPackageBuilder *clickBuilder = [[ADJPackageBuilder alloc] initWithDeviceInfo:selfI.deviceInfo activityState:selfI.activityState @@ -1044,7 +1068,7 @@ - (void)appWillOpenUrlI:(ADJActivityHandler *)selfI clickBuilder.clickTime = [NSDate date]; clickBuilder.deeplink = [url absoluteString]; - ADJActivityPackage *clickPackage = [clickBuilder buildClickPackage:@"deeplink"]; + ADJActivityPackage *clickPackage = [clickBuilder buildClickPackage:@"deeplink" sessionParameters:selfI.sessionParameters]; [selfI.sdkClickHandler sendSdkClick:clickPackage]; } @@ -1133,6 +1157,37 @@ - (void)setDeviceTokenI:(ADJActivityHandler *)selfI [selfI.packageHandler sendFirstPackage]; } +- (void)setIadDateI:(ADJActivityHandler *)selfI + iAdImpressionDate:(NSDate *)iAdImpressionDate + withPurchaseDate:(NSDate *)appPurchaseDate +{ + if (iAdImpressionDate == nil) { + [self.logger debug:@"iAdImpressionDate not received"]; + return; + } + + [self.logger debug:@"iAdImpressionDate received: %@", iAdImpressionDate]; + + double now = [NSDate.date timeIntervalSince1970]; + if (selfI.activityState != nil) { + double lastInterval = now - selfI.activityState.lastActivity; + selfI.activityState.lastInterval = lastInterval; + } + + ADJPackageBuilder *clickBuilder = [[ADJPackageBuilder alloc] + initWithDeviceInfo:self.deviceInfo + activityState:self.activityState + config:self.adjustConfig + createdAt:now]; + + clickBuilder.purchaseTime = appPurchaseDate; + clickBuilder.clickTime = iAdImpressionDate; + + ADJActivityPackage *clickPackage = [clickBuilder buildClickPackage:@"iad" sessionParameters:selfI.sessionParameters]; + [self.sdkClickHandler sendSdkClick:clickPackage]; +} + + #pragma mark - private - (BOOL)isEnabledI:(ADJActivityHandler *)selfI { diff --git a/ios/Adjust/ADJAdjustFactory.h b/ios/Adjust/ADJAdjustFactory.h index 8889efc3..02a6a9fb 100644 --- a/ios/Adjust/ADJAdjustFactory.h +++ b/ios/Adjust/ADJAdjustFactory.h @@ -24,7 +24,8 @@ + (id)activityHandlerWithConfig:(ADJConfig *)adjustConfig sessionParametersActionsArray:(NSArray*)sessionParametersActionsArray deviceToken:(NSData*)deviceToken; -+ (id)sdkClickHandlerWithStartsPaused:(BOOL)startsSending; ++ (id)sdkClickHandlerWithStartsPaused:(id)activityHandler + startsSending:(BOOL)startsSending; + (id)logger; + (double)sessionInterval; diff --git a/ios/Adjust/ADJAdjustFactory.m b/ios/Adjust/ADJAdjustFactory.m index 06a1022c..a2de8f73 100644 --- a/ios/Adjust/ADJAdjustFactory.m +++ b/ios/Adjust/ADJAdjustFactory.m @@ -122,13 +122,14 @@ + (ADJBackoffStrategy *)sdkClickHandlerBackoffStrategy { startsSending:startsSending]; } -+ (id)sdkClickHandlerWithStartsPaused:(BOOL)startsSending ++ (id)sdkClickHandlerWithStartsPaused:(id)activityHandler + startsSending:(BOOL)startsSending { if (internalSdkClickHandler == nil) { - return [ADJSdkClickHandler handlerWithStartsSending:startsSending]; + return [ADJSdkClickHandler handlerWithActivityHandler:activityHandler startsSending:startsSending]; } - return [internalSdkClickHandler initWithStartsSending:startsSending]; + return [internalSdkClickHandler initWithActivityHandler:activityHandler startsSending:startsSending]; } + (BOOL)testing { diff --git a/ios/Adjust/ADJAttributionHandler.h b/ios/Adjust/ADJAttributionHandler.h index ea73e90c..b460c63b 100644 --- a/ios/Adjust/ADJAttributionHandler.h +++ b/ios/Adjust/ADJAttributionHandler.h @@ -18,6 +18,8 @@ - (void)checkSessionResponse:(ADJSessionResponseData *)sessionResponseData; +- (void)checkSdkClickResponse:(ADJSdkClickResponseData *)sdkClickResponseData; + - (void)checkAttributionResponse:(ADJAttributionResponseData *)attributionResponseData; - (void)getAttribution; diff --git a/ios/Adjust/ADJAttributionHandler.m b/ios/Adjust/ADJAttributionHandler.m index a38f438c..5f506f8b 100644 --- a/ios/Adjust/ADJAttributionHandler.m +++ b/ios/Adjust/ADJAttributionHandler.m @@ -74,6 +74,15 @@ - (void)checkSessionResponse:(ADJSessionResponseData *)sessionResponseData { }]; } +- (void)checkSdkClickResponse:(ADJSdkClickResponseData *)sdkClickResponseData { + [ADJUtil launchInQueue:self.internalQueue + selfInject:self + block:^(ADJAttributionHandler* selfI) { + [selfI checkSdkClickResponseI:selfI + sdkClickResponseData:sdkClickResponseData]; + }]; +} + - (void)checkAttributionResponse:(ADJAttributionResponseData *)attributionResponseData { [ADJUtil launchInQueue:self.internalQueue selfInject:self @@ -110,6 +119,13 @@ - (void)checkSessionResponseI:(ADJAttributionHandler*)selfI [selfI.activityHandler launchSessionResponseTasks:sessionResponseData]; } +- (void)checkSdkClickResponseI:(ADJAttributionHandler*)selfI + sdkClickResponseData:(ADJSdkClickResponseData *)sdkClickResponseData { + [selfI checkAttributionI:selfI responseData:sdkClickResponseData]; + + [selfI.activityHandler launchSdkClickResponseTasks:sdkClickResponseData]; +} + - (void)checkAttributionResponseI:(ADJAttributionHandler*)selfI attributionResponseData:(ADJAttributionResponseData *)attributionResponseData { [selfI checkAttributionI:selfI responseData:attributionResponseData]; diff --git a/ios/Adjust/ADJConfig.m b/ios/Adjust/ADJConfig.m index 9417606a..78f883c0 100644 --- a/ios/Adjust/ADJConfig.m +++ b/ios/Adjust/ADJConfig.m @@ -15,7 +15,6 @@ @interface ADJConfig() @property (nonatomic, weak) id logger; -@property (nonatomic, assign) BOOL allowSuppressLogLevel; @end @@ -48,10 +47,13 @@ - (id)initWithAppToken:(NSString *)appToken self = [super init]; if (self == nil) return nil; - self.allowSuppressLogLevel = allowSuppressLogLevel; self.logger = ADJAdjustFactory.logger; // default values - [self setLogLevel:ADJLogLevelInfo environment:environment]; + if (allowSuppressLogLevel && [ADJEnvironmentProduction isEqualToString:environment]) { + [self setLogLevel:ADJLogLevelSuppress environment:environment]; + } else { + [self setLogLevel:ADJLogLevelInfo environment:environment]; + } if (![self checkEnvironment:environment]) return self; if (![self checkAppToken:appToken]) return self; @@ -69,25 +71,12 @@ - (void)setLogLevel:(ADJLogLevel)logLevel { } - (void)setLogLevel:(ADJLogLevel)logLevel - environment:(NSString *)environment{ - if ([environment isEqualToString:ADJEnvironmentProduction]) { - if (self.allowSuppressLogLevel) { - _logLevel = ADJLogLevelSuppress; - } else { - _logLevel = ADJLogLevelAssert; - } - } else { - if (!self.allowSuppressLogLevel && - logLevel == ADJLogLevelSuppress) { - _logLevel = ADJLogLevelAssert; - } else { - _logLevel = logLevel; - } - } - [self.logger setLogLevel:self.logLevel]; + environment:(NSString *)environment +{ + [self.logger setLogLevel:logLevel + isProductionEnvironment:[ADJEnvironmentProduction isEqualToString:environment]]; } - - (void)setDelegate:(NSObject *)delegate { BOOL hasResponseDelegate = NO; BOOL implementsDeeplinkCallback = NO; @@ -151,10 +140,10 @@ - (BOOL)checkEnvironment:(NSString *)environment return NO; } if ([environment isEqualToString:ADJEnvironmentSandbox]) { - [self.logger assert:@"SANDBOX: Adjust is running in Sandbox mode. Use this setting for testing. Don't forget to set the environment to `production` before publishing"]; + [self.logger warnInProduction:@"SANDBOX: Adjust is running in Sandbox mode. Use this setting for testing. Don't forget to set the environment to `production` before publishing"]; return YES; } else if ([environment isEqualToString:ADJEnvironmentProduction]) { - [self.logger assert:@"PRODUCTION: Adjust is running in Production mode. Use this setting only for the build that you want to publish. Set the environment to `sandbox` if you want to test your app!"]; + [self.logger warnInProduction:@"PRODUCTION: Adjust is running in Production mode. Use this setting only for the build that you want to publish. Set the environment to `sandbox` if you want to test your app!"]; return YES; } [self.logger error:@"Unknown environment '%@'", environment]; diff --git a/ios/Adjust/ADJLogger.h b/ios/Adjust/ADJLogger.h index a5a79c11..20be0d95 100644 --- a/ios/Adjust/ADJLogger.h +++ b/ios/Adjust/ADJLogger.h @@ -27,7 +27,7 @@ typedef enum { * * @param logLevel Level of the logs to be displayed. */ -- (void)setLogLevel:(ADJLogLevel)logLevel; +- (void)setLogLevel:(ADJLogLevel)logLevel isProductionEnvironment:(BOOL)isProductionEnvironment; /** * @brief Prevent log level changes. @@ -53,6 +53,7 @@ typedef enum { * @brief Print warn logs. */ - (void)warn:(nonnull NSString *)message, ...; +- (void)warnInProduction:(nonnull NSString *)message, ...; /** * @brief Print error logs. diff --git a/ios/Adjust/ADJLogger.m b/ios/Adjust/ADJLogger.m index 002e7ef7..f31ad1ec 100644 --- a/ios/Adjust/ADJLogger.m +++ b/ios/Adjust/ADJLogger.m @@ -14,6 +14,7 @@ @interface ADJLogger() @property (nonatomic, assign) ADJLogLevel loglevel; @property (nonatomic, assign) BOOL logLevelLocked; +@property (nonatomic, assign) BOOL isProductionEnvironment; @end @@ -25,17 +26,21 @@ - (id)init { if (self == nil) return nil; //default values - self.logLevelLocked = NO; _loglevel = ADJLogLevelInfo; + self.logLevelLocked = NO; + self.isProductionEnvironment = NO; return self; } -- (void)setLogLevel:(ADJLogLevel)logLevel { +- (void)setLogLevel:(ADJLogLevel)logLevel +isProductionEnvironment:(BOOL)isProductionEnvironment +{ if (self.logLevelLocked) { return; } _loglevel = logLevel; + self.isProductionEnvironment = isProductionEnvironment; } - (void)lockLogLevel { @@ -43,36 +48,47 @@ - (void)lockLogLevel { } - (void)verbose:(NSString *)format, ... { + if (self.isProductionEnvironment) return; if (self.loglevel > ADJLogLevelVerbose) return; va_list parameters; va_start(parameters, format); [self logLevel:@"v" format:format parameters:parameters]; } - (void)debug:(NSString *)format, ... { + if (self.isProductionEnvironment) return; if (self.loglevel > ADJLogLevelDebug) return; va_list parameters; va_start(parameters, format); [self logLevel:@"d" format:format parameters:parameters]; } - (void)info:(NSString *)format, ... { + if (self.isProductionEnvironment) return; if (self.loglevel > ADJLogLevelInfo) return; va_list parameters; va_start(parameters, format); [self logLevel:@"i" format:format parameters:parameters]; } - (void)warn:(NSString *)format, ... { + if (self.isProductionEnvironment) return; + if (self.loglevel > ADJLogLevelWarn) return; + va_list parameters; va_start(parameters, format); + [self logLevel:@"w" format:format parameters:parameters]; +} +- (void)warnInProduction:(nonnull NSString *)format, ... { if (self.loglevel > ADJLogLevelWarn) return; va_list parameters; va_start(parameters, format); [self logLevel:@"w" format:format parameters:parameters]; } - (void)error:(NSString *)format, ... { + if (self.isProductionEnvironment) return; if (self.loglevel > ADJLogLevelError) return; va_list parameters; va_start(parameters, format); [self logLevel:@"e" format:format parameters:parameters]; } - (void)assert:(NSString *)format, ... { + if (self.isProductionEnvironment) return; if (self.loglevel > ADJLogLevelAssert) return; va_list parameters; va_start(parameters, format); [self logLevel:@"a" format:format parameters:parameters]; diff --git a/ios/Adjust/ADJPackageBuilder.h b/ios/Adjust/ADJPackageBuilder.h index f7471c30..b4eab24c 100644 --- a/ios/Adjust/ADJPackageBuilder.h +++ b/ios/Adjust/ADJPackageBuilder.h @@ -41,7 +41,8 @@ sessionParameters:(ADJSessionParameters *)sessionParameters isInDelay:(BOOL)isInDelay; -- (ADJActivityPackage *)buildClickPackage:(NSString *)clickSource; +- (ADJActivityPackage *)buildClickPackage:(NSString *)clickSource + sessionParameters:(ADJSessionParameters *)sessionParameters; - (ADJActivityPackage *)buildInfoPackage:(NSString *)infoSource; diff --git a/ios/Adjust/ADJPackageBuilder.m b/ios/Adjust/ADJPackageBuilder.m index cf3b26e5..15224ad8 100644 --- a/ios/Adjust/ADJPackageBuilder.m +++ b/ios/Adjust/ADJPackageBuilder.m @@ -51,17 +51,11 @@ - (id)initWithDeviceInfo:(ADJDeviceInfo *)deviceInfo - (ADJActivityPackage *)buildSessionPackage:(ADJSessionParameters *)sessionParameters isInDelay:(BOOL)isInDelay { - NSMutableDictionary *parameters = [self defaultParameters]; - - [ADJPackageBuilder parameters:parameters setInt:0 forKey:@"tce"]; - [ADJPackageBuilder parameters:parameters setString:[ADJUtil getUpdateTime] forKey:@"app_updated_at"]; - [ADJPackageBuilder parameters:parameters setString:[ADJUtil getInstallTime] forKey:@"installed_at"]; - [ADJPackageBuilder parameters:parameters setDuration:self.activityState.lastInterval forKey:@"last_interval"]; - [ADJPackageBuilder parameters:parameters setString:self.adjustConfig.defaultTracker forKey:@"default_tracker"]; - + NSMutableDictionary *parameters; if (!isInDelay) { - [ADJPackageBuilder parameters:parameters setDictionary:sessionParameters.callbackParameters forKey:@"callback_params"]; - [ADJPackageBuilder parameters:parameters setDictionary:sessionParameters.partnerParameters forKey:@"partner_params"]; + parameters = [self attributableParameters:sessionParameters]; + } else { + parameters = [self attributableParameters:nil]; } ADJActivityPackage *sessionPackage = [self defaultActivityPackage]; @@ -123,8 +117,10 @@ - (ADJActivityPackage *)buildEventPackage:(ADJEvent *)event return eventPackage; } -- (ADJActivityPackage *)buildClickPackage:(NSString *)clickSource { - NSMutableDictionary *parameters = [self idsParameters]; +- (ADJActivityPackage *)buildClickPackage:(NSString *)clickSource + sessionParameters:(ADJSessionParameters *)sessionParameters +{ + NSMutableDictionary *parameters = [self attributableParameters:sessionParameters]; [ADJPackageBuilder parameters:parameters setString:clickSource forKey:@"source"]; [ADJPackageBuilder parameters:parameters setDictionary:self.deeplinkParameters forKey:@"params"]; @@ -199,6 +195,23 @@ - (NSMutableDictionary *)idsParameters { return parameters; } +- (NSMutableDictionary *)attributableParameters:(ADJSessionParameters *)sessionParameters { + NSMutableDictionary *parameters = [self defaultParameters]; + + [ADJPackageBuilder parameters:parameters setInt:0 forKey:@"tce"]; + [ADJPackageBuilder parameters:parameters setString:[ADJUtil getUpdateTime] forKey:@"app_updated_at"]; + [ADJPackageBuilder parameters:parameters setString:[ADJUtil getInstallTime] forKey:@"installed_at"]; + [ADJPackageBuilder parameters:parameters setDuration:self.activityState.lastInterval forKey:@"last_interval"]; + [ADJPackageBuilder parameters:parameters setString:self.adjustConfig.defaultTracker forKey:@"default_tracker"]; + + if (sessionParameters != nil) { + [ADJPackageBuilder parameters:parameters setDictionary:sessionParameters.callbackParameters forKey:@"callback_params"]; + [ADJPackageBuilder parameters:parameters setDictionary:sessionParameters.partnerParameters forKey:@"partner_params"]; + } + + return parameters; +} + - (NSMutableDictionary *)defaultParameters { NSMutableDictionary *parameters = [NSMutableDictionary dictionary]; diff --git a/ios/Adjust/ADJResponseData.h b/ios/Adjust/ADJResponseData.h index 8199ba8b..2d74f34a 100644 --- a/ios/Adjust/ADJResponseData.h +++ b/ios/Adjust/ADJResponseData.h @@ -51,6 +51,9 @@ @end +@interface ADJSdkClickResponseData : ADJResponseData +@end + @interface ADJEventResponseData : ADJResponseData @property (nonatomic, copy) NSString *eventToken; diff --git a/ios/Adjust/ADJResponseData.m b/ios/Adjust/ADJResponseData.m index c876e1cf..2363daca 100644 --- a/ios/Adjust/ADJResponseData.m +++ b/ios/Adjust/ADJResponseData.m @@ -40,6 +40,9 @@ + (id)buildResponseData:(ADJActivityPackage *)activityPackage { case ADJActivityKindSession: responseData = [[ADJSessionResponseData alloc] init]; break; + case ADJActivityKindClick: + responseData = [[ADJSdkClickResponseData alloc] init]; + break; case ADJActivityKindEvent: responseData = [[ADJEventResponseData alloc] initWithActivityPackage:activityPackage]; break; @@ -124,6 +127,10 @@ - (id)copyWithZone:(NSZone *)zone { @end +@implementation ADJSdkClickResponseData + +@end + @implementation ADJEventResponseData + (ADJEventResponseData *)responseDataWithActivityPackage:(ADJActivityPackage *)activityPackage { @@ -208,3 +215,4 @@ - (NSString *)description { } @end + diff --git a/ios/Adjust/ADJSdkClickHandler.h b/ios/Adjust/ADJSdkClickHandler.h index dcc779c2..3f8c63bc 100644 --- a/ios/Adjust/ADJSdkClickHandler.h +++ b/ios/Adjust/ADJSdkClickHandler.h @@ -8,10 +8,12 @@ #import #import "ADJActivityPackage.h" +#import "ADJActivityHandler.h" @protocol ADJSdkClickHandler -- (id)initWithStartsSending:(BOOL)startsSending; +- (id)initWithActivityHandler:(id)activityHandler + startsSending:(BOOL)startsSending; - (void)pauseSending; - (void)resumeSending; @@ -22,6 +24,7 @@ @interface ADJSdkClickHandler : NSObject -+ (id)handlerWithStartsSending:(BOOL)startsSending; ++ (id)handlerWithActivityHandler:(id)activityHandler + startsSending:(BOOL)startsSending; @end diff --git a/ios/Adjust/ADJSdkClickHandler.m b/ios/Adjust/ADJSdkClickHandler.m index 2adb3058..de38bd59 100644 --- a/ios/Adjust/ADJSdkClickHandler.m +++ b/ios/Adjust/ADJSdkClickHandler.m @@ -23,17 +23,21 @@ @interface ADJSdkClickHandler() @property (nonatomic, assign) BOOL paused; @property (nonatomic, strong) NSMutableArray *packageQueue; @property (nonatomic, strong) NSURL *baseUrl; +@property (nonatomic, weak) id activityHandler; @end @implementation ADJSdkClickHandler -+ (id)handlerWithStartsSending:(BOOL)startsSending ++ (id)handlerWithActivityHandler:(id)activityHandler + startsSending:(BOOL)startsSending { - return [[ADJSdkClickHandler alloc] initWithStartsSending:startsSending]; + return [[ADJSdkClickHandler alloc] initWithActivityHandler:activityHandler + startsSending:startsSending]; } -- (id)initWithStartsSending:(BOOL)startsSending +- (id)initWithActivityHandler:(id)activityHandler + startsSending:(BOOL)startsSending { self = [super init]; if (self == nil) return nil; @@ -41,12 +45,13 @@ - (id)initWithStartsSending:(BOOL)startsSending self.internalQueue = dispatch_queue_create(kInternalQueueName, DISPATCH_QUEUE_SERIAL); self.logger = ADJAdjustFactory.logger; - self.paused = !startsSending; [ADJUtil launchInQueue:self.internalQueue selfInject:self block:^(ADJSdkClickHandler * selfI) { - [selfI initI:selfI]; + [selfI initI:selfI + activityHandler:activityHandler + startsSending:startsSending]; }]; return self; } @@ -87,11 +92,16 @@ - (void)teardown { self.backoffStrategy = nil; self.packageQueue = nil; self.baseUrl = nil; + self.activityHandler = nil; } #pragma mark - internal - (void)initI:(ADJSdkClickHandler *)selfI +activityHandler:(id)activityHandler +startsSending:(BOOL)startsSending { + selfI.activityHandler = activityHandler; + selfI.paused = !startsSending; selfI.backoffStrategy = [ADJAdjustFactory sdkClickHandlerBackoffStrategy]; selfI.packageQueue = [NSMutableArray array]; selfI.baseUrl = [NSURL URLWithString:ADJUtil.baseUrl]; @@ -138,7 +148,10 @@ - (void)sendNextSdkClickI:(ADJSdkClickHandler *)selfI [selfI.logger error:@"Retrying sdk_click package for the %d time", retries]; [selfI sendSdkClick:sdkClickPackage]; + return; } + + [selfI.activityHandler finishedTracking:responseData]; }]; [selfI sendNextSdkClick]; diff --git a/ios/Adjust/ADJUtil.m b/ios/Adjust/ADJUtil.m index 9fe73638..a4eda1d9 100644 --- a/ios/Adjust/ADJUtil.m +++ b/ios/Adjust/ADJUtil.m @@ -31,7 +31,7 @@ static NSString *userAgent = nil; -static NSString * const kClientSdk = @"ios4.11.3"; +static NSString * const kClientSdk = @"ios4.11.4"; static NSString * const kDeeplinkParam = @"deep_link="; static NSString * const kSchemeDelimiter = @"://"; static NSString * const kDefaultScheme = @"AdjustUniversalScheme"; diff --git a/ios/Adjust/Adjust.h b/ios/Adjust/Adjust.h index 974fb69a..3ca9b626 100644 --- a/ios/Adjust/Adjust.h +++ b/ios/Adjust/Adjust.h @@ -2,7 +2,7 @@ // Adjust.h // Adjust // -// V4.11.3 +// V4.11.4 // Created by Christian Wellenbrock on 2012-07-23. // Copyright (c) 2012-2014 adjust GmbH. All rights reserved. // From 5778b33a21815e5c012bd3320778e6a8fc0b804d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Uglje=C5=A1a=20Erceg?= Date: Mon, 15 May 2017 16:23:57 +0200 Subject: [PATCH 5/5] Update CHANGELOG.md --- CHANGELOG.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 22ffafc1..0bdfced2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,10 @@ -### Version 4.11.3 (xx May 2017) +### Version 4.11.3 (15th May 2017) #### Added -- **[IOS][AND]** Added check if `sdk_click` package response contains attribution information. -- **[IOS][AND]** Added sending of attributable parameters with every `sdk_click` package. +- **[iOS][AND]** Added check if `sdk_click` package response contains attribution information. +- **[iOS][AND]** Added sending of attributable parameters with every `sdk_click` package. #### Changed -- **[IOS][AND]** Replaced `assert` level logs with `warn` level. +- **[iOS][AND]** Replaced `assert` level logs with `warn` level. #### Native SDKs - **[iOS]** [iOS@v4.11.4][ios_sdk_v4.11.4]