Skip to content

Commit 2b1b3c4

Browse files
authored
Merge pull request #236 from adjust/v4380
Version 4.38.0
2 parents 74e2d83 + 915c362 commit 2b1b3c4

39 files changed

+1420
-1171
lines changed

CHANGELOG.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,16 @@
1+
### Version 4.38.0 (27th March 2024)
2+
#### Added
3+
- Added iOS Privacy Manifest for the Adjust SDK.
4+
- Added new domains and corresponding payload restrictions for the Adjust SDK to direct the iOS traffic to:
5+
- https://consent.adjust.com - for consented users
6+
- https://analytics.adjust.com - for non-consented users
7+
8+
#### Native SDKs
9+
- [[email protected]][ios_sdk_v4.38.0]
10+
- [[email protected]][android_sdk_v4.38.3]
11+
12+
---
13+
114
### Version 4.37.2 (21st March 2024)
215
#### Fixed
316
- Fixed occasional crashes caused by not synchronized access to cached IDFA value (https://github.com/adjust/ios_sdk/issues/696).
@@ -631,6 +644,7 @@
631644
[ios_sdk_v4.35.2]: https://github.com/adjust/ios_sdk/tree/v4.35.2
632645
[ios_sdk_v4.37.0]: https://github.com/adjust/ios_sdk/tree/v4.37.0
633646
[ios_sdk_v4.37.2]: https://github.com/adjust/ios_sdk/tree/v4.37.2
647+
[ios_sdk_v4.38.0]: https://github.com/adjust/ios_sdk/tree/v4.38.0
634648

635649
[android_sdk_v4.10.4]: https://github.com/adjust/android_sdk/tree/v4.10.4
636650
[android_sdk_v4.11.0]: https://github.com/adjust/android_sdk/tree/v4.11.0
@@ -667,3 +681,4 @@
667681
[android_sdk_v4.35.1]: https://github.com/adjust/android_sdk/tree/v4.35.1
668682
[android_sdk_v4.38.1]: https://github.com/adjust/android_sdk/tree/v4.38.1
669683
[android_sdk_v4.38.2]: https://github.com/adjust/android_sdk/tree/v4.38.2
684+
[android_sdk_v4.38.3]: https://github.com/adjust/android_sdk/tree/v4.38.3

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
4.37.2
1+
4.38.0

android/libs/adjust-android.jar

443 Bytes
Binary file not shown.

example/ios/Podfile.lock

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
PODS:
2-
- Adjust (4.37.2):
3-
- Adjust/Core (= 4.37.2)
4-
- Adjust/Core (4.37.2)
2+
- Adjust (4.38.0):
3+
- Adjust/Core (= 4.38.0)
4+
- Adjust/Core (4.38.0)
55
- boost (1.76.0)
66
- CocoaAsyncSocket (7.6.5)
77
- DoubleConversion (1.1.6)
@@ -287,8 +287,8 @@ PODS:
287287
- React-jsinspector (0.69.4)
288288
- React-logger (0.69.4):
289289
- glog
290-
- react-native-adjust (4.37.2):
291-
- Adjust (= 4.37.2)
290+
- react-native-adjust (4.38.0):
291+
- Adjust (= 4.38.0)
292292
- React-Core
293293
- React-perflogger (0.69.4)
294294
- React-RCTActionSheet (0.69.4):
@@ -508,7 +508,7 @@ EXTERNAL SOURCES:
508508
:path: "../node_modules/react-native/ReactCommon/yoga"
509509

510510
SPEC CHECKSUMS:
511-
Adjust: a830d963025334aee8a62a7bac87825e297a841e
511+
Adjust: c98d85594a746ff9f2bafe424c5beb6db66cd6a8
512512
boost: a7c83b31436843459a1961bfd74b96033dc77234
513513
CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99
514514
DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54
@@ -541,7 +541,7 @@ SPEC CHECKSUMS:
541541
React-jsiexecutor: a27badbbdbc0ff781813370736a2d1c7261181d4
542542
React-jsinspector: 8a3d3f5dcd23a91e8c80b1bf0e96902cd1dca999
543543
React-logger: 1088859f145b8f6dd0d3ed051a647ef0e3e80fad
544-
react-native-adjust: 9a9d5b7fff8de8209d468ee4bd3fc1bc386d78cd
544+
react-native-adjust: 801fe33f0dc0097b0474f11d08572a89fa6602ce
545545
React-perflogger: cb386fd44c97ec7f8199c04c12b22066b0f2e1e0
546546
React-RCTActionSheet: f803a85e46cf5b4066c2ac5e122447f918e9c6e5
547547
React-RCTAnimation: 19c80fa950ccce7f4db76a2a7f2cf79baae07fc7

example/yarn.lock

Lines changed: 796 additions & 690 deletions
Large diffs are not rendered by default.

ext/android/sdk

Submodule sdk updated 28 files

ext/ios/sdk

Submodule sdk updated 47 files

index.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ Adjust.getAmazonAdId = function(callback) {
136136
};
137137

138138
Adjust.getSdkVersion = function(callback) {
139-
module_adjust.getSdkVersion("react-native4.37.2", callback);
139+
module_adjust.getSdkVersion("react-native4.38.0", callback);
140140
};
141141

142142
Adjust.setReferrer = function(referrer) {
@@ -280,7 +280,7 @@ Adjust.onPause = function(testParam) {
280280
// AdjustConfig
281281

282282
var AdjustConfig = function(appToken, environment) {
283-
this.sdkPrefix = "react-native4.37.2";
283+
this.sdkPrefix = "react-native4.38.0";
284284
this.appToken = appToken;
285285
this.environment = environment;
286286
this.logLevel = null;

ios/Adjust/ADJActivityHandler.m

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2625,9 +2625,9 @@ - (void)updatePackagesAttStatusAndIdfaI:(ADJActivityHandler *)selfI {
26252625
// update activity packages
26262626
int attStatus = [ADJUtil attStatus];
26272627
if (attStatus != 0) {
2628-
[selfI.packageHandler updatePackagesWithIdfaAndAttStatus];
2629-
[selfI.sdkClickHandler updatePackagesWithIdfaAndAttStatus];
2630-
[selfI.purchaseVerificationHandler updatePackagesWithIdfaAndAttStatus];
2628+
[selfI.packageHandler updatePackagesWithAttStatus:attStatus];
2629+
[selfI.sdkClickHandler updatePackagesWithAttStatus:attStatus];
2630+
[selfI.purchaseVerificationHandler updatePackagesWithAttStatus:attStatus];
26312631
}
26322632

26332633
selfI.internalState.updatePackagesAttData = NO;

ios/Adjust/ADJAdjustFactory.h

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
+ (double)sessionInterval;
1919
+ (double)subsessionInterval;
2020
+ (double)requestTimeout;
21+
+ (NSNumber *)attStatus;
22+
+ (NSString *)idfa;
2123
+ (NSTimeInterval)timerInterval;
2224
+ (NSTimeInterval)timerStart;
2325
+ (ADJBackoffStrategy *)packageHandlerBackoffStrategy;
@@ -26,15 +28,14 @@
2628

2729
+ (BOOL)testing;
2830
+ (NSTimeInterval)maxDelayStart;
29-
+ (NSString *)baseUrl;
30-
+ (NSString *)gdprUrl;
31-
+ (NSString *)subscriptionUrl;
32-
+ (NSString *)purchaseVerificationUrl;
31+
+ (NSString *)urlOverwrite;
3332
+ (BOOL)adServicesFrameworkEnabled;
3433

3534
+ (void)setLogger:(id<ADJLogger>)logger;
3635
+ (void)setSessionInterval:(double)sessionInterval;
3736
+ (void)setSubsessionInterval:(double)subsessionInterval;
37+
+ (void)setAttStatus:(NSNumber *)attStatus;
38+
+ (void)setIdfa:(NSString *)idfa;
3839
+ (void)setRequestTimeout:(double)requestTimeout;
3940
+ (void)setTimerInterval:(NSTimeInterval)timerInterval;
4041
+ (void)setTimerStart:(NSTimeInterval)timerStart;
@@ -43,10 +44,7 @@
4344
+ (void)setTesting:(BOOL)testing;
4445
+ (void)setAdServicesFrameworkEnabled:(BOOL)adServicesFrameworkEnabled;
4546
+ (void)setMaxDelayStart:(NSTimeInterval)maxDelayStart;
46-
+ (void)setBaseUrl:(NSString *)baseUrl;
47-
+ (void)setGdprUrl:(NSString *)gdprUrl;
48-
+ (void)setSubscriptionUrl:(NSString *)subscriptionUrl;
49-
+ (void)setPurchaseVerificationUrl:(NSString *)purchaseVerificationUrl;
47+
+ (void)setUrlOverwrite:(NSString *)urlOverwrite;
5048

5149
+ (void)enableSigning;
5250
+ (void)disableSigning;

ios/Adjust/ADJAdjustFactory.m

Lines changed: 25 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
static double internalSessionInterval = -1;
1616
static double intervalSubsessionInterval = -1;
1717
static double internalRequestTimeout = -1;
18+
static NSNumber * internalAttStatus = nil;
19+
static NSString * internalIdfa = nil;
1820
static NSTimeInterval internalTimerInterval = -1;
1921
static NSTimeInterval intervalTimerStart = -1;
2022
static ADJBackoffStrategy * packageHandlerBackoffStrategy = nil;
@@ -24,10 +26,7 @@
2426
static NSTimeInterval internalMaxDelayStart = -1;
2527
static BOOL internalAdServicesFrameworkEnabled = YES;
2628

27-
static NSString * internalBaseUrl = nil;
28-
static NSString * internalGdprUrl = nil;
29-
static NSString * internalSubscriptionUrl = nil;
30-
static NSString * internalPurchaseVerificationUrl = nil;
29+
static NSString * internalUrlOverwrite = nil;
3130

3231
@implementation ADJAdjustFactory
3332

@@ -60,6 +59,14 @@ + (double)requestTimeout {
6059
return internalRequestTimeout;
6160
}
6261

62+
+ (NSNumber *)attStatus {
63+
return internalAttStatus;
64+
}
65+
66+
+ (NSString *)idfa {
67+
return internalIdfa;
68+
}
69+
6370
+ (NSTimeInterval)timerInterval {
6471
if (internalTimerInterval < 0) {
6572
return 60; // 1 minute
@@ -110,20 +117,8 @@ + (NSTimeInterval)maxDelayStart {
110117
return internalMaxDelayStart;
111118
}
112119

113-
+ (NSString *)baseUrl {
114-
return internalBaseUrl;
115-
}
116-
117-
+ (NSString *)gdprUrl {
118-
return internalGdprUrl;
119-
}
120-
121-
+ (NSString *)subscriptionUrl {
122-
return internalSubscriptionUrl;
123-
}
124-
125-
+ (NSString *)purchaseVerificationUrl {
126-
return internalPurchaseVerificationUrl;
120+
+ (NSString *)urlOverwrite {
121+
return internalUrlOverwrite;
127122
}
128123

129124
+ (void)setLogger:(id<ADJLogger>)logger {
@@ -137,6 +132,13 @@ + (void)setSessionInterval:(double)sessionInterval {
137132
+ (void)setSubsessionInterval:(double)subsessionInterval {
138133
intervalSubsessionInterval = subsessionInterval;
139134
}
135+
+ (void)setAttStatus:(NSNumber *)attStatus {
136+
internalAttStatus = attStatus;
137+
}
138+
139+
+ (void)setIdfa:(NSString *)idfa {
140+
internalIdfa = idfa;
141+
}
140142

141143
+ (void)setRequestTimeout:(double)requestTimeout {
142144
internalRequestTimeout = requestTimeout;
@@ -170,20 +172,8 @@ + (void)setMaxDelayStart:(NSTimeInterval)maxDelayStart {
170172
internalMaxDelayStart = maxDelayStart;
171173
}
172174

173-
+ (void)setBaseUrl:(NSString *)baseUrl {
174-
internalBaseUrl = baseUrl;
175-
}
176-
177-
+ (void)setGdprUrl:(NSString *)gdprUrl {
178-
internalGdprUrl = gdprUrl;
179-
}
180-
181-
+ (void)setSubscriptionUrl:(NSString *)subscriptionUrl {
182-
internalSubscriptionUrl = subscriptionUrl;
183-
}
184-
185-
+ (void)setPurchaseVerificationUrl:(NSString *)purchaseVerificationUrl {
186-
internalPurchaseVerificationUrl = purchaseVerificationUrl;
175+
+ (void)setUrlOverwrite:(NSString *)urlOverwrite {
176+
internalUrlOverwrite = urlOverwrite;
187177
}
188178

189179
+ (void)enableSigning {
@@ -240,15 +230,14 @@ + (void)teardown:(BOOL)deleteState {
240230
internalTimerInterval = -1;
241231
intervalTimerStart = -1;
242232
internalRequestTimeout = -1;
233+
internalAttStatus = nil;
234+
internalIdfa = nil;
243235
packageHandlerBackoffStrategy = nil;
244236
sdkClickHandlerBackoffStrategy = nil;
245237
installSessionBackoffStrategy = nil;
246238
internalTesting = NO;
247239
internalMaxDelayStart = -1;
248-
internalBaseUrl = nil;
249-
internalGdprUrl = nil;
250-
internalSubscriptionUrl = nil;
251-
internalPurchaseVerificationUrl = nil;
240+
internalUrlOverwrite = nil;
252241
internalAdServicesFrameworkEnabled = YES;
253242
}
254243
@end

ios/Adjust/ADJPackageBuilder.h

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -94,10 +94,16 @@
9494

9595
+ (BOOL)isAdServicesPackage:(ADJActivityPackage * _Nullable)activityPackage;
9696

97-
+ (void)addIdfaToParameters:(NSMutableDictionary * _Nullable)parameters
98-
withConfig:(ADJConfig * _Nullable)adjConfig
99-
logger:(id<ADJLogger> _Nullable)logger
100-
packageParams:(ADJPackageParams * _Nullable)packageParams;
97+
+ (void)addConsentDataToParameters:(NSMutableDictionary * _Nullable)parameters
98+
forActivityKind:(ADJActivityKind)activityKind
99+
withAttStatus:(NSString * _Nullable)attStatusString
100+
configuration:(ADJConfig * _Nullable)adjConfig
101+
packageParams:(ADJPackageParams * _Nullable)packageParams;
102+
103+
+ (void)removeConsentDataFromParameters:(nonnull NSMutableDictionary *)parameters;
104+
105+
+ (void)updateAttStatusInParameters:(nonnull NSMutableDictionary *)parameters;
106+
101107
@end
102108
// TODO change to ADJ...
103109
extern NSString * _Nullable const ADJAttributionTokenParameter;

0 commit comments

Comments
 (0)