diff --git a/Adjust.podspec b/Adjust.podspec index 6684a7790..8699e70fb 100644 --- a/Adjust.podspec +++ b/Adjust.podspec @@ -1,14 +1,14 @@ Pod::Spec.new do |s| s.name = "Adjust" - s.version = "4.0.0" + s.version = "4.0.1" s.summary = "This is the iOS SDK of adjust. You can read more about it at http://adjust.com." s.homepage = "http://adjust.com" s.license = { :type => 'MIT', :file => 'MIT-LICENSE' } s.author = { "Christian Wellenbrock" => "welle@adjust.com" } - s.source = { :git => "https://github.com/adjust/ios_sdk.git", :tag => "v4.0.0" } + s.source = { :git => "https://github.com/adjust/ios_sdk.git", :tag => "v4.0.1" } s.platform = :ios, '4.3' s.framework = 'SystemConfiguration' s.weak_framework = 'AdSupport', 'iAd' - s.source_files = 'Adjust/*.{h,m}', 'Adjust/AIAdditions/*.{h,m}' + s.source_files = 'Adjust/*.{h,m}', 'Adjust/ADJAdditions/*.{h,m}' s.requires_arc = true end diff --git a/Adjust.xcodeproj/project.pbxproj b/Adjust.xcodeproj/project.pbxproj index 6a121d7cb..e03bf5512 100644 --- a/Adjust.xcodeproj/project.pbxproj +++ b/Adjust.xcodeproj/project.pbxproj @@ -506,7 +506,6 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 7.1; - ONLY_ACTIVE_ARCH = YES; OTHER_CFLAGS = "-DADJUST_NO_IDA"; SDKROOT = iphoneos; }; diff --git a/Adjust/ADJActivityHandler.m b/Adjust/ADJActivityHandler.m index ba5d06cc5..cb88ebadf 100644 --- a/Adjust/ADJActivityHandler.m +++ b/Adjust/ADJActivityHandler.m @@ -158,8 +158,8 @@ - (void)setIadDate:(NSDate *)iAdImpressionDate withPurchaseDate:(NSDate *)appPur if (iAdImpressionDate != nil || appPurchaseDate != nil) { ADJPackageBuilder *clickBuilder = [[ADJPackageBuilder alloc] initWithDeviceInfo:self.deviceInfo - andActivityState:self.activityState - andConfig:self.adjustConfig]; + activityState:self.activityState + config:self.adjustConfig]; [clickBuilder setClickTime:iAdImpressionDate]; [clickBuilder setPurchaseTime:appPurchaseDate]; @@ -247,12 +247,12 @@ - (void)initInternal:(ADJConfig *)adjustConfig { - (id) buildAttributionHandler { ADJPackageBuilder *attributionBuilder = [[ADJPackageBuilder alloc] initWithDeviceInfo:self.deviceInfo - andActivityState:self.activityState - andConfig:self.adjustConfig]; + activityState:self.activityState + config:self.adjustConfig]; ADJActivityPackage *attributionPackage = [attributionBuilder buildAttributionPackage]; id attributionHandler = [ADJAdjustFactory attributionHandlerForActivityHandler:self - withMaxDelay:nil - withAttributionPackage:attributionPackage]; + withMaxDelay:nil + withAttributionPackage:attributionPackage]; return attributionHandler; } @@ -312,8 +312,8 @@ - (void)startInternal { self.activityState.lastActivity = now; [self writeActivityState]; [self.logger info:@"Processed Subsession %d of Session %d", - self.activityState.subsessionCount, - self.activityState.sessionCount]; + self.activityState.subsessionCount, + self.activityState.sessionCount]; } if (self.attribution == nil || self.activityState.askingAttribution) { @@ -353,8 +353,8 @@ - (void)eventInternal:(ADJEvent *)event // create and populate event package ADJPackageBuilder *eventBuilder = [[ADJPackageBuilder alloc] initWithDeviceInfo:self.deviceInfo - andActivityState:self.activityState - andConfig:self.adjustConfig]; + activityState:self.activityState + config:self.adjustConfig]; ADJActivityPackage *eventPackage = [eventBuilder buildEventPackage:event]; [self.packageHandler addPackage:eventPackage]; @@ -399,8 +399,8 @@ - (void) appWillOpenUrlInternal:(NSURL *)url { ADJPackageBuilder *clickBuilder = [[ADJPackageBuilder alloc] initWithDeviceInfo:self.deviceInfo - andActivityState:self.activityState - andConfig:self.adjustConfig]; + activityState:self.activityState + config:self.adjustConfig]; clickBuilder.deeplinkParameters = adjustDeepLinks; clickBuilder.attribution = attribution; @@ -409,8 +409,8 @@ - (void) appWillOpenUrlInternal:(NSURL *)url { } - (BOOL) trySetAttributionDeeplink:(ADJAttribution *)attribution - withKey:(NSString *)key - withValue:(NSString*)value { + withKey:(NSString *)key + withValue:(NSString*)value { if ([key isEqualToString:@"tracker"]) { attribution.trackerName = value; @@ -491,8 +491,8 @@ - (void)readAttribution { - (void)transferSessionPackage { ADJPackageBuilder *sessionBuilder = [[ADJPackageBuilder alloc] initWithDeviceInfo:self.deviceInfo - andActivityState:self.activityState - andConfig:self.adjustConfig]; + activityState:self.activityState + config:self.adjustConfig]; ADJActivityPackage *sessionPackage = [sessionBuilder buildSessionPackage]; [self.packageHandler addPackage:sessionPackage]; [self.packageHandler sendFirstPackage]; @@ -503,9 +503,9 @@ - (void)transferSessionPackage { - (void)startTimer { if (self.timer == nil) { self.timer = [ADJTimer timerWithInterval:kTimerInterval - leeway:kTimerLeeway - queue:self.internalQueue - block:^{ [self timerFired]; }]; + leeway:kTimerLeeway + queue:self.internalQueue + block:^{ [self timerFired]; }]; } [self.timer resume]; } @@ -578,7 +578,7 @@ - (BOOL) checkTransactionId:(NSString *)transactionId { [self.logger verbose:@"Found transaction ID in %@", self.activityState.transactionIds]; return NO; // transaction ID found -> used already } - + [self.activityState addTransactionId:transactionId]; [self.logger verbose:@"Added transaction ID %@", self.activityState.transactionIds]; // activity state will get written by caller diff --git a/Adjust/ADJActivityState.m b/Adjust/ADJActivityState.m index 060faf47c..7162f1eac 100644 --- a/Adjust/ADJActivityState.m +++ b/Adjust/ADJActivityState.m @@ -138,7 +138,7 @@ -(id)copyWithZone:(NSZone *)zone copy.askingAttribution = self.askingAttribution; // transactionIds not copied } - + return copy; } diff --git a/Adjust/ADJAdditions/NSString+ADJAdditions.m b/Adjust/ADJAdditions/NSString+ADJAdditions.m index 11af74c8a..de64a8612 100644 --- a/Adjust/ADJAdditions/NSString+ADJAdditions.m +++ b/Adjust/ADJAdditions/NSString+ADJAdditions.m @@ -43,11 +43,11 @@ - (NSString *)adjSha1 { -(NSString *)adjUrlEncode { return (NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes( - NULL, - (CFStringRef)self, - NULL, - (CFStringRef)@"!*'\"();:@&=+$,/?%#[]% ", - CFStringConvertNSStringEncodingToEncoding(NSUTF8StringEncoding))); + NULL, + (CFStringRef)self, + NULL, + (CFStringRef)@"!*'\"();:@&=+$,/?%#[]% ", + CFStringConvertNSStringEncodingToEncoding(NSUTF8StringEncoding))); } - (NSString *)adjRemoveColons { @@ -63,7 +63,7 @@ + (NSString *)adjJoin:(NSString *)first, ... { NSString *capitalized = iter.capitalizedString; result = [result stringByAppendingString:capitalized]; } - + va_end(strings); return result; } @@ -72,7 +72,7 @@ + (BOOL) adjIsEqual:(NSString *)first toString:(NSString *)second { if (first == nil && second == nil) { return YES; } - + return [first isEqualToString:second]; } diff --git a/Adjust/ADJAdditions/UIDevice+ADJAdditions.m b/Adjust/ADJAdditions/UIDevice+ADJAdditions.m index ec9b65eaa..860ede8b1 100644 --- a/Adjust/ADJAdditions/UIDevice+ADJAdditions.m +++ b/Adjust/ADJAdditions/UIDevice+ADJAdditions.m @@ -182,9 +182,9 @@ - (void) adjSetIad:(ADJActivityHandler *) activityHandler{ id ADClientSharedClientInstance = [ADClientClass performSelector:sharedClientSelector]; [ADClientSharedClientInstance performSelector:iadDateSelector - withObject:^(NSDate *appPurchaseDate, NSDate *iAdImpressionDate) { - [activityHandler setIadDate:iAdImpressionDate withPurchaseDate:appPurchaseDate]; - }]; + withObject:^(NSDate *appPurchaseDate, NSDate *iAdImpressionDate) { + [activityHandler setIadDate:iAdImpressionDate withPurchaseDate:appPurchaseDate]; + }]; #pragma clang diagnostic pop } @catch (NSException *exception) { diff --git a/Adjust/ADJAttribution.h b/Adjust/ADJAttribution.h index 3e51f7b2b..7be2c12e7 100644 --- a/Adjust/ADJAttribution.h +++ b/Adjust/ADJAttribution.h @@ -8,7 +8,7 @@ #import -@interface ADJAttribution : NSObject +@interface ADJAttribution : NSObject // the following attributes are only set when error is nil // (when activity was tracked successfully and response could be parsed) diff --git a/Adjust/ADJAttribution.m b/Adjust/ADJAttribution.m index 004aaf2e5..d82d59661 100644 --- a/Adjust/ADJAttribution.m +++ b/Adjust/ADJAttribution.m @@ -73,15 +73,15 @@ - (NSDictionary *)dictionary { if (self.network != nil) { [responseDataDic setObject:self.network forKey:@"network"]; } - + if (self.campaign != nil) { [responseDataDic setObject:self.campaign forKey:@"campaign"]; } - + if (self.adgroup != nil) { [responseDataDic setObject:self.adgroup forKey:@"adgroup"]; } - + if (self.creative != nil) { [responseDataDic setObject:self.creative forKey:@"creative"]; } @@ -113,6 +113,25 @@ - (NSUInteger)hash { return [self.trackerName hash]; } +#pragma mark - NSCopying + +-(id)copyWithZone:(NSZone *)zone +{ + ADJAttribution* copy = [[[self class] allocWithZone:zone] init]; + + if (copy) { + copy.trackerToken = [self.trackerToken copyWithZone:zone]; + copy.trackerName = [self.trackerName copyWithZone:zone]; + copy.network = [self.network copyWithZone:zone]; + copy.campaign = [self.campaign copyWithZone:zone]; + copy.adgroup = [self.adgroup copyWithZone:zone]; + copy.creative = [self.creative copyWithZone:zone]; + } + + return copy; +} + + #pragma mark NSCoding - (id)initWithCoder:(NSCoder *)decoder { diff --git a/Adjust/ADJAttributionHandler.m b/Adjust/ADJAttributionHandler.m index 4fbfb7420..9bc739fd9 100644 --- a/Adjust/ADJAttributionHandler.m +++ b/Adjust/ADJAttributionHandler.m @@ -37,7 +37,7 @@ @implementation ADJAttributionHandler { return [[ADJAttributionHandler alloc] initWithActivityHandler:activityHandler withMaxDelay:milliseconds - withAttributionPackage:attributionPackage]; + withAttributionPackage:attributionPackage]; } - (id)initWithActivityHandler:(id) activityHandler @@ -118,8 +118,8 @@ -(void) getAttributionInternal { NSURLResponse *urlResponse = nil; NSData *response = [NSURLConnection sendSynchronousRequest:request - returningResponse:&urlResponse - error:&requestError]; + returningResponse:&urlResponse + error:&requestError]; // connection error if (requestError != nil) { [self.logger error:@"Failed to get attribution. (%@)", requestError.localizedDescription]; @@ -169,7 +169,7 @@ - (NSURL *)url { NSString *relativePath = [NSString stringWithFormat:@"%@?%@", self.attributionPackage.path, parameters]; NSURL *baseUrl = [NSURL URLWithString:ADJUtil.baseUrl]; NSURL *url = [NSURL URLWithString:relativePath relativeToURL:baseUrl]; - + return url; } diff --git a/Adjust/ADJConfig.h b/Adjust/ADJConfig.h index 4d37c8fac..956ea7391 100644 --- a/Adjust/ADJConfig.h +++ b/Adjust/ADJConfig.h @@ -38,7 +38,7 @@ * @param appToken The App Token of your app. This unique identifier can * be found it in your dashboard at http://adjust.com and should always * be 12 characters long. - * @param environment The current environment your app. We use this environment to + * @param environment The current environment your app. We use this environment to * distinguish between real traffic and artificial traffic from test devices. * It is very important that you keep this value meaningful at all times! * Especially if you are tracking revenue. @@ -58,7 +58,7 @@ /** * Disable macMd5 tracking if your privacy constraints require it. * - * @param macMd5TrackingEnabled Enable or disable tracking of + * @param macMd5TrackingEnabled Enable or disable tracking of * the MD5 hash of the MAC address */ @property (nonatomic, assign) BOOL macMd5TrackingEnabled; diff --git a/Adjust/ADJConfig.m b/Adjust/ADJConfig.m index 84b17d1f2..2551acd73 100644 --- a/Adjust/ADJConfig.m +++ b/Adjust/ADJConfig.m @@ -13,12 +13,12 @@ @implementation ADJConfig + (ADJConfig *) configWithAppToken:(NSString *)appToken - environment:(NSString *)environment { + environment:(NSString *)environment { return [[ADJConfig alloc] initWithAppToken:appToken environment:environment]; } - (id) initWithAppToken:(NSString *)appToken - environment:(NSString *)environment + environment:(NSString *)environment { self = [super init]; if (self == nil) return nil; @@ -91,7 +91,7 @@ -(id)copyWithZone:(NSZone *)zone copy.hasDelegate = self.hasDelegate; // adjust delegate not copied } - + return copy; } diff --git a/Adjust/ADJDeviceInfo.m b/Adjust/ADJDeviceInfo.m index 953588737..fce5e8518 100644 --- a/Adjust/ADJDeviceInfo.m +++ b/Adjust/ADJDeviceInfo.m @@ -117,7 +117,7 @@ - (NSString *)getNetworkStatus { */ return kWWAN; } - + return nil; } @@ -146,7 +146,7 @@ -(id)copyWithZone:(NSZone *)zone copy.mobileCountryCode = [self.mobileCountryCode copyWithZone:zone]; copy.mobileNetworkCode = [self.mobileNetworkCode copyWithZone:zone]; } - + return copy; } diff --git a/Adjust/ADJEvent.h b/Adjust/ADJEvent.h index 02267a081..4a9136857 100644 --- a/Adjust/ADJEvent.h +++ b/Adjust/ADJEvent.h @@ -12,15 +12,15 @@ @property (nonatomic, copy) NSString* eventToken; @property (nonatomic, copy) NSNumber* revenue; -@property (nonatomic, copy) NSMutableDictionary* callbackParameters; -@property (nonatomic, copy) NSMutableDictionary* partnerParameters; +@property (nonatomic, retain) NSMutableDictionary* callbackParameters; +@property (nonatomic, retain) NSMutableDictionary* partnerParameters; @property (nonatomic, copy) NSString* transactionId; @property (nonatomic, copy) NSString* currency; /** * Create Event object with Event Token. * - * @param event Event token that is created in the dashboard + * @param event Event token that is created in the dashboard * at http://adjust.com and should be six characters long. */ + (ADJEvent *)eventWithEventToken:(NSString *)eventToken; @@ -39,7 +39,7 @@ * */ - (void) addCallbackParameter:(NSString *)key - value:(NSString *)value; + value:(NSString *)value; /** * Add a key-pair to be fowarded to a partner. @@ -49,7 +49,7 @@ * */ - (void) addPartnerParameter:(NSString *)key - value:(NSString *)value; + value:(NSString *)value; /** * Set the revenue and associated currency of the event. diff --git a/Adjust/ADJEvent.m b/Adjust/ADJEvent.m index 3905d3afd..a975bb5fa 100644 --- a/Adjust/ADJEvent.m +++ b/Adjust/ADJEvent.m @@ -31,7 +31,7 @@ - (id) initWithEventToken:(NSString *)eventToken { } - (void) addCallbackParameter:(NSString *)key - value:(NSString *)value { + value:(NSString *)value { if (self.callbackParameters == nil) { self.callbackParameters = [[NSMutableDictionary alloc] init]; } @@ -44,7 +44,7 @@ - (void) addCallbackParameter:(NSString *)key } - (void) addPartnerParameter:(NSString *)key - value:(NSString *)value { + value:(NSString *)value { if (self.partnerParameters == nil) { self.partnerParameters = [[NSMutableDictionary alloc] init]; } @@ -105,7 +105,7 @@ -(id)copyWithZone:(NSZone *)zone copy.currency = [self.currency copyWithZone:zone]; } return copy; - + } @end diff --git a/Adjust/ADJPackageBuilder.h b/Adjust/ADJPackageBuilder.h index 1be2d75cd..8ba8cacb5 100644 --- a/Adjust/ADJPackageBuilder.h +++ b/Adjust/ADJPackageBuilder.h @@ -20,11 +20,11 @@ @property (nonatomic, copy) ADJAttribution *attribution; @property (nonatomic, copy) NSDate *clickTime; @property (nonatomic, copy) NSDate *purchaseTime; -@property (nonatomic, copy) NSDictionary* deeplinkParameters; +@property (nonatomic, retain) NSDictionary* deeplinkParameters; - (id) initWithDeviceInfo:(ADJDeviceInfo *)deviceInfo - andActivityState:(ADJActivityState *)activityState - andConfig:(ADJConfig *)adjustConfig; + activityState:(ADJActivityState *)activityState + config:(ADJConfig *)adjustConfig; - (ADJActivityPackage *)buildSessionPackage; - (ADJActivityPackage *)buildEventPackage:(ADJEvent *)event; diff --git a/Adjust/ADJPackageBuilder.m b/Adjust/ADJPackageBuilder.m index c19c9c3ca..cf86c333f 100644 --- a/Adjust/ADJPackageBuilder.m +++ b/Adjust/ADJPackageBuilder.m @@ -15,8 +15,8 @@ @implementation ADJPackageBuilder - (id)initWithDeviceInfo:(ADJDeviceInfo *)deviceInfo - andActivityState:(ADJActivityState *)activityState - andConfig:(ADJConfig *)adjustConfig + activityState:(ADJActivityState *)activityState + config:(ADJConfig *)adjustConfig { self = [super init]; if (self == nil) return nil; @@ -112,7 +112,7 @@ - (ADJActivityPackage *)defaultActivityPackage { - (NSMutableDictionary *)defaultParameters { NSMutableDictionary *parameters = [NSMutableDictionary dictionary]; - [self injectDeviceInfo:self.deviceInfo andConfig:self.adjustConfig intoParameters:parameters]; + [self injectDeviceInfo:self.deviceInfo config:self.adjustConfig intoParameters:parameters]; [self injectActivityState:self.activityState intoParamters:parameters]; [self parameters:parameters setBool:self.adjustConfig.hasDelegate forKey:@"needs_attribution_data"]; @@ -120,7 +120,7 @@ - (NSMutableDictionary *)defaultParameters { } - (void) injectDeviceInfo:(ADJDeviceInfo *)deviceInfo - andConfig:(ADJConfig*) adjustConfig + config:(ADJConfig*) adjustConfig intoParameters:(NSMutableDictionary *) parameters { [self parameters:parameters setString:deviceInfo.macSha1 forKey:@"mac_sha1"]; @@ -151,7 +151,7 @@ - (void) injectDeviceInfo:(ADJDeviceInfo *)deviceInfo } - (void) injectActivityState:(ADJActivityState *)activityState - intoParamters:(NSMutableDictionary *)parameters { + intoParamters:(NSMutableDictionary *)parameters { [self parameters:parameters setDate1970:activityState.createdAt forKey:@"created_at"]; [self parameters:parameters setInt:activityState.sessionCount forKey:@"session_count"]; [self parameters:parameters setInt:activityState.subsessionCount forKey:@"subsession_count"]; @@ -247,7 +247,7 @@ - (NSMutableDictionary *) joinParamters:(NSMutableDictionary *)permanentParamete NSMutableDictionary *joinedParameters = [[NSMutableDictionary alloc] initWithDictionary:permanentParameters]; [joinedParameters addEntriesFromDictionary:parameters]; - + return joinedParameters; } @end diff --git a/Adjust/ADJTimer.h b/Adjust/ADJTimer.h index 1e351f839..43fd21dcc 100644 --- a/Adjust/ADJTimer.h +++ b/Adjust/ADJTimer.h @@ -10,14 +10,14 @@ @interface ADJTimer : NSObject + (ADJTimer *)timerWithInterval:(uint64_t)interval - leeway:(uint64_t)leeway - queue:(dispatch_queue_t)queue - block:(dispatch_block_t)block; + leeway:(uint64_t)leeway + queue:(dispatch_queue_t)queue + block:(dispatch_block_t)block; + (ADJTimer *)timerWithStart:(uint64_t)start - leeway:(uint64_t)leeway - queue:(dispatch_queue_t)queue - block:(dispatch_block_t)block; + leeway:(uint64_t)leeway + queue:(dispatch_queue_t)queue + block:(dispatch_block_t)block; - (id)initWithInterval:(uint64_t)interval leeway:(uint64_t)leeway @@ -25,9 +25,9 @@ block:(dispatch_block_t)block; - (id)initWithStart:(uint64_t)start - leeway:(uint64_t)leeway - queue:(dispatch_queue_t)queue - block:(dispatch_block_t)block; + leeway:(uint64_t)leeway + queue:(dispatch_queue_t)queue + block:(dispatch_block_t)block; - (void)resume; - (void)suspend; diff --git a/Adjust/ADJTimer.m b/Adjust/ADJTimer.m index 212f194c6..26a55a0fc 100644 --- a/Adjust/ADJTimer.m +++ b/Adjust/ADJTimer.m @@ -21,9 +21,9 @@ @interface ADJTimer() @implementation ADJTimer + (ADJTimer *)timerWithInterval:(uint64_t)interval - leeway:(uint64_t)leeway - queue:(dispatch_queue_t)queue - block:(dispatch_block_t)block + leeway:(uint64_t)leeway + queue:(dispatch_queue_t)queue + block:(dispatch_block_t)block { return [[ADJTimer alloc] initWithInterval:interval leeway:leeway queue:queue block:block]; } diff --git a/Adjust/ADJUtil.m b/Adjust/ADJUtil.m index 86fcca39c..010cbd593 100644 --- a/Adjust/ADJUtil.m +++ b/Adjust/ADJUtil.m @@ -16,7 +16,7 @@ #include static NSString * const kBaseUrl = @"https://app.adjust.com"; -static NSString * const kClientSdk = @"ios4.0.0"; +static NSString * const kClientSdk = @"ios4.0.1"; static NSString * const kDateFormat = @"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'Z"; static NSDateFormatter *dateFormat; @@ -165,7 +165,7 @@ + (NSString *) queryString:(NSDictionary *)parameters { [pairs addObject:sentAtPair]; NSString *queryString = [pairs componentsJoinedByString:@"&"]; - + return queryString; } diff --git a/Adjust/Adjust.h b/Adjust/Adjust.h index a476601c5..898554c4c 100644 --- a/Adjust/Adjust.h +++ b/Adjust/Adjust.h @@ -33,7 +33,7 @@ static NSString * const ADJEnvironmentProduction = @"production"; * * See ADJConfig.h for more configuration options * - * @param adjustConfig The configuration object that includes the environment + * @param adjustConfig The configuration object that includes the environment * and the App Token of your app. This unique identifier can * be found it in your dashboard at http://adjust.com and should always * be 12 characters long. @@ -45,8 +45,8 @@ static NSString * const ADJEnvironmentProduction = @"production"; * * See ADJEvent.h for more event options * - * @param event The Event object for this kind of event. It needs a event token - * that is created in the dashboard at http://adjust.com and should be six + * @param event The Event object for this kind of event. It needs a event token + * that is created in the dashboard at http://adjust.com and should be six * characters long. */ + (void)trackEvent:(ADJEvent *)event; @@ -91,7 +91,7 @@ static NSString * const ADJEnvironmentProduction = @"production"; /** * Enable or disable offline mode. Activities won't be sent - * but they are saved when offline mode is disabled. This + * but they are saved when offline mode is disabled. This * feature is not saved for future sessions */ + (void)setOfflineMode:(BOOL)enabled; diff --git a/README.md b/README.md index a93544806..acdf01bb6 100644 --- a/README.md +++ b/README.md @@ -162,8 +162,8 @@ For example, suppose you have registered the URL ```objc ADJEvent *event = [ADJEvent eventWithEventToken:@"abc123"]; -[event addCallbackParameter:@"key" andValue:@"value"]; -[event addCallbackParameter:@"foo" andValue:@"bar"]; +[event addCallbackParameter:@"key" value:@"value"]; +[event addCallbackParameter:@"foo" value:@"bar"]; [Adjust trackEvent:event]; ``` diff --git a/VERSION b/VERSION index fcdb2e109..1454f6ed4 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -4.0.0 +4.0.1 diff --git a/doc/migrate.md b/doc/migrate.md index c69eba3aa..00f45d7fb 100644 --- a/doc/migrate.md +++ b/doc/migrate.md @@ -52,8 +52,8 @@ NSMutableDictionary *parameters = [NSMutableDictionary dictionary]; ```objc ADJEvent *event = [ADJEvent eventWithEventToken:@"abc123"]; -[event addCallbackParameter:@"key" andValue:@"value"]; -[event addCallbackParameter:@"foo" andValue:@"bar"]; +[event addCallbackParameter:@"key" value:@"value"]; +[event addCallbackParameter:@"foo" value:@"bar"]; [Adjust trackEvent:event]; ```