Skip to content

Commit 2fd82b1

Browse files
authored
Merge pull request #711 from adjust/v4382
Version 4.38.2
2 parents 3179722 + 8fb39fe commit 2fd82b1

16 files changed

+160
-45
lines changed

Adjust.podspec

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
Pod::Spec.new do |s|
22
s.name = "Adjust"
3-
s.version = "4.38.1"
3+
s.version = "4.38.2"
44
s.summary = "This is the iOS SDK of adjust. You can read more about it at http://adjust.com."
55
s.homepage = "https://github.com/adjust/ios_sdk"
66
s.license = { :type => 'MIT', :file => 'MIT-LICENSE' }
77
s.author = { "Adjust" => "[email protected]" }
8-
s.source = { :git => "https://github.com/adjust/ios_sdk.git", :tag => "v4.38.1" }
8+
s.source = { :git => "https://github.com/adjust/ios_sdk.git", :tag => "v4.38.2" }
99
s.ios.deployment_target = '9.0'
1010
s.tvos.deployment_target = '9.0'
1111
s.framework = 'SystemConfiguration'

Adjust/ADJActivityHandler.m

+17-12
Original file line numberDiff line numberDiff line change
@@ -480,6 +480,7 @@ - (void)sendAdServicesClickPackage:(ADJActivityHandler *)selfI
480480
sessionParameters:self.sessionParameters
481481
trackingStatusManager:self.trackingStatusManager
482482
createdAt:now];
483+
clickBuilder.internalState = selfI.internalState;
483484

484485
ADJActivityPackage *clickPackage =
485486
[clickBuilder buildClickPackage:ADJAdServicesPackageKey
@@ -684,6 +685,7 @@ - (void)trackAttStatusUpdateI:(ADJActivityHandler *)selfI {
684685
sessionParameters:selfI.sessionParameters
685686
trackingStatusManager:self.trackingStatusManager
686687
createdAt:now];
688+
infoBuilder.internalState = selfI.internalState;
687689

688690
ADJActivityPackage *infoPackage = [infoBuilder buildInfoPackage:@"att"];
689691
[selfI.packageHandler addPackage:infoPackage];
@@ -1119,6 +1121,7 @@ - (void)transferSessionPackageI:(ADJActivityHandler *)selfI
11191121
sessionParameters:selfI.sessionParameters
11201122
trackingStatusManager:self.trackingStatusManager
11211123
createdAt:now];
1124+
sessionBuilder.internalState = selfI.internalState;
11221125
ADJActivityPackage *sessionPackage = [sessionBuilder buildSessionPackage:[selfI.internalState isInDelayedStart]];
11231126
[selfI.packageHandler addPackage:sessionPackage];
11241127
[selfI.packageHandler sendFirstPackage];
@@ -1194,6 +1197,7 @@ - (void)eventI:(ADJActivityHandler *)selfI
11941197
sessionParameters:selfI.sessionParameters
11951198
trackingStatusManager:self.trackingStatusManager
11961199
createdAt:now];
1200+
eventBuilder.internalState = selfI.internalState;
11971201
ADJActivityPackage *eventPackage = [eventBuilder buildEventPackage:event
11981202
isInDelay:[selfI.internalState isInDelayedStart]];
11991203
[selfI.packageHandler addPackage:eventPackage];
@@ -1235,7 +1239,7 @@ - (void)adRevenueI:(ADJActivityHandler *)selfI
12351239
sessionParameters:selfI.sessionParameters
12361240
trackingStatusManager:self.trackingStatusManager
12371241
createdAt:now];
1238-
1242+
adRevenueBuilder.internalState = selfI.internalState;
12391243
ADJActivityPackage *adRevenuePackage = [adRevenueBuilder buildAdRevenuePackage:source payload:payload];
12401244
[selfI.packageHandler addPackage:adRevenuePackage];
12411245
if (selfI.adjustConfig.eventBufferingEnabled) {
@@ -1267,7 +1271,7 @@ - (void)trackSubscriptionI:(ADJActivityHandler *)selfI
12671271
sessionParameters:selfI.sessionParameters
12681272
trackingStatusManager:self.trackingStatusManager
12691273
createdAt:now];
1270-
1274+
subscriptionBuilder.internalState = selfI.internalState;
12711275
ADJActivityPackage *subscriptionPackage = [subscriptionBuilder buildSubscriptionPackage:subscription
12721276
isInDelay:[selfI.internalState isInDelayedStart]];
12731277
[selfI.packageHandler addPackage:subscriptionPackage];
@@ -1316,7 +1320,7 @@ - (void)disableThirdPartySharingI:(ADJActivityHandler *)selfI {
13161320
sessionParameters:selfI.sessionParameters
13171321
trackingStatusManager:self.trackingStatusManager
13181322
createdAt:now];
1319-
1323+
dtpsBuilder.internalState = selfI.internalState;
13201324
ADJActivityPackage *dtpsPackage = [dtpsBuilder buildDisableThirdPartySharingPackage];
13211325

13221326
[selfI.packageHandler addPackage:dtpsPackage];
@@ -1357,7 +1361,7 @@ - (BOOL)trackThirdPartySharingI:(ADJActivityHandler *)selfI
13571361
sessionParameters:selfI.sessionParameters
13581362
trackingStatusManager:self.trackingStatusManager
13591363
createdAt:now];
1360-
1364+
tpsBuilder.internalState = selfI.internalState;
13611365
ADJActivityPackage *dtpsPackage = [tpsBuilder buildThirdPartySharingPackage:thirdPartySharing];
13621366

13631367
[selfI.packageHandler addPackage:dtpsPackage];
@@ -1394,7 +1398,7 @@ - (BOOL)trackMeasurementConsentI:(ADJActivityHandler *)selfI
13941398
sessionParameters:selfI.sessionParameters
13951399
trackingStatusManager:self.trackingStatusManager
13961400
createdAt:now];
1397-
1401+
tpsBuilder.internalState = selfI.internalState;
13981402
ADJActivityPackage *mcPackage = [tpsBuilder buildMeasurementConsentPackage:enabled];
13991403

14001404
[selfI.packageHandler addPackage:mcPackage];
@@ -1433,7 +1437,7 @@ - (void)trackAdRevenueI:(ADJActivityHandler *)selfI
14331437
sessionParameters:selfI.sessionParameters
14341438
trackingStatusManager:self.trackingStatusManager
14351439
createdAt:now];
1436-
1440+
adRevenueBuilder.internalState = selfI.internalState;
14371441
ADJActivityPackage *adRevenuePackage = [adRevenueBuilder buildAdRevenuePackage:adRevenue
14381442
isInDelay:[selfI.internalState isInDelayedStart]];
14391443
[selfI.packageHandler addPackage:adRevenuePackage];
@@ -1500,7 +1504,7 @@ - (void)verifyPurchaseI:(ADJActivityHandler *)selfI
15001504
sessionParameters:selfI.sessionParameters
15011505
trackingStatusManager:self.trackingStatusManager
15021506
createdAt:now];
1503-
1507+
purchaseVerificationBuilder.internalState = selfI.internalState;
15041508
ADJActivityPackage *purchaseVerificationPackage = [purchaseVerificationBuilder buildPurchaseVerificationPackage:purchase];
15051509
purchaseVerificationPackage.purchaseVerificationCallback = completionHandler;
15061510
[selfI.purchaseVerificationHandler sendPurchaseVerificationPackage:purchaseVerificationPackage];
@@ -1917,7 +1921,7 @@ - (void)appWillOpenUrlI:(ADJActivityHandler *)selfI
19171921
sessionParameters:selfI.sessionParameters
19181922
trackingStatusManager:self.trackingStatusManager
19191923
createdAt:now];
1920-
1924+
clickBuilder.internalState = selfI.internalState;
19211925
clickBuilder.deeplinkParameters = [adjustDeepLinks copy];
19221926
clickBuilder.attribution = deeplinkAttribution;
19231927
clickBuilder.clickTime = clickTime;
@@ -2021,7 +2025,7 @@ - (void)setDeviceTokenI:(ADJActivityHandler *)selfI
20212025
sessionParameters:selfI.sessionParameters
20222026
trackingStatusManager:self.trackingStatusManager
20232027
createdAt:now];
2024-
2028+
infoBuilder.internalState = selfI.internalState;
20252029
ADJActivityPackage *infoPackage = [infoBuilder buildInfoPackage:@"push"];
20262030

20272031
[selfI.packageHandler addPackage:infoPackage];
@@ -2070,7 +2074,7 @@ - (void)setPushTokenI:(ADJActivityHandler *)selfI
20702074
sessionParameters:selfI.sessionParameters
20712075
trackingStatusManager:self.trackingStatusManager
20722076
createdAt:now];
2073-
2077+
infoBuilder.internalState = selfI.internalState;
20742078
ADJActivityPackage *infoPackage = [infoBuilder buildInfoPackage:@"push"];
20752079
[selfI.packageHandler addPackage:infoPackage];
20762080

@@ -2111,7 +2115,7 @@ - (void)setGdprForgetMeI:(ADJActivityHandler *)selfI {
21112115
sessionParameters:selfI.sessionParameters
21122116
trackingStatusManager:self.trackingStatusManager
21132117
createdAt:now];
2114-
2118+
gdprBuilder.internalState = selfI.internalState;
21152119
ADJActivityPackage *gdprPackage = [gdprBuilder buildGdprPackage];
21162120
[selfI.packageHandler addPackage:gdprPackage];
21172121

@@ -2183,6 +2187,7 @@ - (void)checkLinkMeI:(ADJActivityHandler *)selfI {
21832187
sessionParameters:selfI.sessionParameters
21842188
trackingStatusManager:self.trackingStatusManager
21852189
createdAt:now];
2190+
clickBuilder.internalState = selfI.internalState;
21862191
clickBuilder.clickTime = [NSDate dateWithTimeIntervalSince1970:now];
21872192
ADJActivityPackage *clickPackage = [clickBuilder buildClickPackage:@"linkme" linkMeUrl:pasteboardUrlString];
21882193
[selfI.sdkClickHandler sendSdkClick:clickPackage];
@@ -2940,7 +2945,7 @@ - (void)disableThirdPartySharingForCoppaEnabledI:(ADJActivityHandler *)selfI {
29402945
sessionParameters:selfI.sessionParameters
29412946
trackingStatusManager:self.trackingStatusManager
29422947
createdAt:now];
2943-
2948+
tpsBuilder.internalState = selfI.internalState;
29442949
ADJActivityPackage *dtpsPackage = [tpsBuilder buildThirdPartySharingPackage:thirdPartySharing];
29452950

29462951
[selfI.packageHandler addPackage:dtpsPackage];

Adjust/ADJActivityPackage.h

+10
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,16 @@
2424

2525
@property (nonatomic, copy) void (^purchaseVerificationCallback)(id);
2626

27+
@property (nonatomic, assign) NSUInteger errorCount;
28+
29+
@property (nonatomic, copy) NSNumber *firstErrorCode;
30+
31+
@property (nonatomic, copy) NSNumber *lastErrorCode;
32+
33+
@property (nonatomic, assign) double waitBeforeSend;
34+
35+
- (void)addError:(NSNumber *)errorCode;
36+
2737
// Logs
2838

2939
@property (nonatomic, copy) NSString *suffix;

Adjust/ADJActivityPackage.m

+25
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,16 @@ - (NSString *)failureMessage {
6060
return [NSString stringWithFormat:@"Failed to track %@%@", [ADJActivityKindUtil activityKindToString:self.activityKind], self.suffix];
6161
}
6262

63+
- (void)addError:(NSNumber *)errorCode {
64+
self.errorCount = self.errorCount + 1;
65+
66+
if (self.firstErrorCode == nil) {
67+
self.firstErrorCode = errorCode;
68+
} else {
69+
self.lastErrorCode = errorCode;
70+
}
71+
}
72+
6373
#pragma mark - NSCoding protocol methods
6474

6575
- (id)initWithCoder:(NSCoder *)decoder {
@@ -79,6 +89,17 @@ - (id)initWithCoder:(NSCoder *)decoder {
7989
NSString *kindString = [decoder decodeObjectForKey:@"kind"];
8090
self.activityKind = [ADJActivityKindUtil activityKindFromString:kindString];
8191

92+
id errorCountObject = [decoder decodeObjectForKey:@"errorCount"];
93+
if (errorCountObject != nil && [errorCountObject isKindOfClass:[NSNumber class]]) {
94+
self.errorCount = ((NSNumber *)errorCountObject).unsignedIntegerValue;
95+
}
96+
self.firstErrorCode = [decoder decodeObjectForKey:@"firstErrorCode"];
97+
self.lastErrorCode = [decoder decodeObjectForKey:@"lastErrorCode"];
98+
id waitBeforeSendObject = [decoder decodeObjectForKey:@"waitBeforeSend"];
99+
if (waitBeforeSendObject != nil && [waitBeforeSendObject isKindOfClass:[NSNumber class]]) {
100+
self.waitBeforeSend = ((NSNumber *)waitBeforeSendObject).doubleValue;
101+
}
102+
82103
return self;
83104
}
84105

@@ -92,6 +113,10 @@ - (void)encodeWithCoder:(NSCoder *)encoder {
92113
[encoder encodeObject:self.parameters forKey:@"parameters"];
93114
[encoder encodeObject:self.callbackParameters forKey:@"callbackParameters"];
94115
[encoder encodeObject:self.partnerParameters forKey:@"partnerParameters"];
116+
[encoder encodeObject:@(self.errorCount) forKey:@"errorCount"];
117+
[encoder encodeObject:self.firstErrorCode forKey:@"firstErrorCode"];
118+
[encoder encodeObject:self.lastErrorCode forKey:@"lastErrorCode"];
119+
[encoder encodeObject:@(self.waitBeforeSend) forKey:@"waitBeforeSend"];
95120
}
96121

97122
@end

Adjust/ADJPackageBuilder.h

+10
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@
3232

3333
@property (nonatomic, copy) ADJAttribution * _Nullable attribution;
3434

35+
@property (nonatomic, weak) ADJInternalState * _Nullable internalState;
36+
3537
- (id _Nullable)initWithPackageParams:(ADJPackageParams * _Nullable)packageParams
3638
activityState:(ADJActivityState * _Nullable)activityState
3739
config:(ADJConfig * _Nullable)adjustConfig
@@ -88,10 +90,18 @@
8890
setInt:(int)value
8991
forKey:(NSString * _Nullable)key;
9092

93+
+ (void)parameters:(NSMutableDictionary * _Nullable)parameters
94+
setDouble:(double)value
95+
forKey:(NSString * _Nullable)key;
96+
9197
+ (void)parameters:(NSMutableDictionary * _Nullable)parameters
9298
setDate1970:(double)value
9399
forKey:(NSString * _Nullable)key;
94100

101+
+ (void)parameters:(NSMutableDictionary * _Nullable)parameters
102+
setNumberWithoutRounding:(NSNumber * _Nullable)value
103+
forKey:(NSString * _Nullable)key;
104+
95105
+ (BOOL)isAdServicesPackage:(ADJActivityPackage * _Nullable)activityPackage;
96106

97107
+ (void)addConsentDataToParameters:(NSMutableDictionary * _Nullable)parameters

Adjust/ADJPackageBuilder.m

+27-1
Original file line numberDiff line numberDiff line change
@@ -1215,8 +1215,26 @@ - (void)addIdfvIfPossibleToParameters:(NSMutableDictionary *)parameters {
12151215
}
12161216

12171217
- (void)injectFeatureFlagsWithParameters:(NSMutableDictionary *)parameters {
1218-
[ADJPackageBuilder parameters:parameters setBool:self.adjustConfig.eventBufferingEnabled
1218+
[ADJPackageBuilder parameters:parameters
1219+
setBool:self.adjustConfig.eventBufferingEnabled
12191220
forKey:@"event_buffering_enabled"];
1221+
[ADJPackageBuilder parameters:parameters
1222+
setBool:self.adjustConfig.sendInBackground
1223+
forKey:@"send_in_background_enabled"];
1224+
if (self.internalState != nil) {
1225+
[ADJPackageBuilder parameters:parameters
1226+
setBool:self.internalState.isOffline
1227+
forKey:@"offline_mode_enabled"];
1228+
if (self.internalState.isInForeground == YES) {
1229+
[ADJPackageBuilder parameters:parameters
1230+
setBool:YES
1231+
forKey:@"foreground"];
1232+
} else {
1233+
[ADJPackageBuilder parameters:parameters
1234+
setBool:YES
1235+
forKey:@"background"];
1236+
}
1237+
}
12201238
if (self.adjustConfig.coppaCompliantEnabled == YES) {
12211239
[ADJPackageBuilder parameters:parameters setBool:YES forKey:@"ff_coppa"];
12221240
}
@@ -1253,6 +1271,14 @@ + (void)parameters:(NSMutableDictionary *)parameters setInt:(int)value forKey:(N
12531271
[ADJPackageBuilder parameters:parameters setString:valueString forKey:key];
12541272
}
12551273

1274+
+ (void)parameters:(NSMutableDictionary *)parameters setDouble:(double)value forKey:(NSString *)key {
1275+
if (value <= 0.0) {
1276+
return;
1277+
}
1278+
NSString *valueString = [NSString stringWithFormat:@"%.2f", value];
1279+
[ADJPackageBuilder parameters:parameters setString:valueString forKey:key];
1280+
}
1281+
12561282
+ (void)parameters:(NSMutableDictionary *)parameters setDate1970:(double)value forKey:(NSString *)key {
12571283
if (value < 0) {
12581284
return;

0 commit comments

Comments
 (0)