Skip to content

Commit 340a26c

Browse files
authored
Merge pull request #561 from adjust/v4295
Version 4.29.5
2 parents 5ae9648 + 0a1dc74 commit 340a26c

File tree

19 files changed

+75
-30
lines changed

19 files changed

+75
-30
lines changed

Adjust.podspec

Lines changed: 2 additions & 2 deletions
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.29.4"
3+
s.version = "4.29.5"
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 = { "Christian Wellenbrock" => "[email protected]" }
8-
s.source = { :git => "https://github.com/adjust/ios_sdk.git", :tag => "v4.29.4" }
8+
s.source = { :git => "https://github.com/adjust/ios_sdk.git", :tag => "v4.29.5" }
99
s.ios.deployment_target = '6.0'
1010
s.tvos.deployment_target = '9.0'
1111
s.framework = 'SystemConfiguration'

Adjust/ADJActivityHandler.m

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -172,8 +172,12 @@ - (id)initWithConfig:(ADJConfig *)adjustConfig
172172
[self readAttribution];
173173
[self readActivityState];
174174

175-
// register SKAdNetwork attribution
176-
[self registerForSKAdNetworkAttribution];
175+
// register SKAdNetwork attribution if we haven't already
176+
if ([ADJUserDefaults getSkadRegisterCallTimestamp] == nil) {
177+
[self registerForSKAdNetworkAttribution];
178+
} else {
179+
[ADJAdjustFactory.logger debug:@"Call to SKAdNetwork's registerAppForAdNetworkAttribution method already made for this install"];
180+
}
177181

178182
self.internalState = [[ADJInternalState alloc] init];
179183

@@ -1004,14 +1008,6 @@ - (void)initI:(ADJActivityHandler *)selfI
10041008
userAgent:selfI.adjustConfig.userAgent
10051009
urlStrategy:sdkClickHandlerUrlStrategy];
10061010

1007-
if (selfI.adjustConfig.allowiAdInfoReading == YES) {
1008-
[selfI checkForiAdI:selfI];
1009-
}
1010-
1011-
if (selfI.adjustConfig.allowAdServicesInfoReading == YES) {
1012-
[selfI checkForAdServicesAttributionI:selfI];
1013-
}
1014-
10151011
[selfI.trackingStatusManager checkForNewAttStatus];
10161012

10171013
[selfI preLaunchActionsI:selfI
@@ -1105,6 +1101,13 @@ - (void)processSessionI:(ADJActivityHandler *)selfI {
11051101
selfI.activityState.updatePackages = [selfI.internalState itHasToUpdatePackages];
11061102
}];
11071103

1104+
if (selfI.adjustConfig.allowiAdInfoReading == YES) {
1105+
[selfI checkForiAdI:selfI];
1106+
}
1107+
if (selfI.adjustConfig.allowAdServicesInfoReading == YES) {
1108+
[selfI checkForAdServicesAttributionI:selfI];
1109+
}
1110+
11081111
[selfI writeActivityStateI:selfI];
11091112
[ADJUserDefaults removePushToken];
11101113
[ADJUserDefaults removeDisableThirdPartySharing];
@@ -2753,6 +2756,10 @@ - (void)registerForSKAdNetworkAttribution {
27532756
[skAdNetwork performSelector:registerAttributionSelector];
27542757
#pragma clang diagnostic pop
27552758
[logger verbose:@"Call to SKAdNetwork's registerAppForAdNetworkAttribution method made"];
2759+
2760+
// store timestamp of when register call was successfully made
2761+
NSDate *callTime = [NSDate date];
2762+
[ADJUserDefaults saveSkadRegisterCallTimestamp:callTime];
27562763
}
27572764
}
27582765

Adjust/ADJPackageBuilder.m

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -307,7 +307,7 @@ - (void)signWithSigV2Plugin:(ADJActivityPackage *)activityPackage {
307307
const char *sdkVersionChar = [activityPackage.clientSdk UTF8String];
308308

309309
// Stack allocated strings to ensure their lifetime stays until the next iteration
310-
static char activityKind[51], sdkVersion[21];
310+
static char activityKind[64], sdkVersion[64];
311311
strncpy(activityKind, activityKindChar, strlen(activityKindChar) + 1);
312312
strncpy(sdkVersion, sdkVersionChar, strlen(sdkVersionChar) + 1);
313313

@@ -381,6 +381,7 @@ - (NSMutableDictionary *)getSessionParameters:(BOOL)isInDelay {
381381
[ADJPackageBuilder parameters:parameters setString:self.packageParams.osName forKey:@"os_name"];
382382
[ADJPackageBuilder parameters:parameters setString:self.packageParams.osVersion forKey:@"os_version"];
383383
[ADJPackageBuilder parameters:parameters setString:self.adjustConfig.secretId forKey:@"secret_id"];
384+
[ADJPackageBuilder parameters:parameters setDate:[ADJUserDefaults getSkadRegisterCallTimestamp] forKey:@"skadn_registered_at"];
384385
[ADJPackageBuilder parameters:parameters setDate1970:(double)self.packageParams.startedAt forKey:@"started_at"];
385386

386387
if ([self.trackingStatusManager canGetAttStatus]) {
@@ -447,6 +448,7 @@ - (NSMutableDictionary *)getEventParameters:(BOOL)isInDelay forEventPackage:(ADJ
447448
[ADJPackageBuilder parameters:parameters setString:self.packageParams.osVersion forKey:@"os_version"];
448449
[ADJPackageBuilder parameters:parameters setNumber:event.revenue forKey:@"revenue"];
449450
[ADJPackageBuilder parameters:parameters setString:self.adjustConfig.secretId forKey:@"secret_id"];
451+
[ADJPackageBuilder parameters:parameters setDate:[ADJUserDefaults getSkadRegisterCallTimestamp] forKey:@"skadn_registered_at"];
450452
[ADJPackageBuilder parameters:parameters setDate1970:(double)self.packageParams.startedAt forKey:@"started_at"];
451453

452454
if ([self.trackingStatusManager canGetAttStatus]) {
@@ -534,6 +536,7 @@ - (NSMutableDictionary *)getInfoParameters:(NSString *)source {
534536
[ADJPackageBuilder parameters:parameters setDictionary:[self.sessionParameters.partnerParameters copy] forKey:@"partner_params"];
535537
[ADJPackageBuilder parameters:parameters setDate:self.purchaseTime forKey:@"purchase_time"];
536538
[ADJPackageBuilder parameters:parameters setString:self.adjustConfig.secretId forKey:@"secret_id"];
539+
[ADJPackageBuilder parameters:parameters setDate:[ADJUserDefaults getSkadRegisterCallTimestamp] forKey:@"skadn_registered_at"];
537540
[ADJPackageBuilder parameters:parameters setDate1970:(double)self.packageParams.startedAt forKey:@"started_at"];
538541
[ADJPackageBuilder parameters:parameters setString:source forKey:@"source"];
539542

@@ -600,6 +603,7 @@ - (NSMutableDictionary *)getAdRevenueParameters:(NSString *)source payload:(NSDa
600603
[ADJPackageBuilder parameters:parameters setString:self.packageParams.osName forKey:@"os_name"];
601604
[ADJPackageBuilder parameters:parameters setString:self.packageParams.osVersion forKey:@"os_version"];
602605
[ADJPackageBuilder parameters:parameters setString:self.adjustConfig.secretId forKey:@"secret_id"];
606+
[ADJPackageBuilder parameters:parameters setDate:[ADJUserDefaults getSkadRegisterCallTimestamp] forKey:@"skadn_registered_at"];
603607
[ADJPackageBuilder parameters:parameters setDate1970:(double)self.packageParams.startedAt forKey:@"started_at"];
604608
[ADJPackageBuilder parameters:parameters setString:source forKey:@"source"];
605609
[ADJPackageBuilder parameters:parameters setData:payload forKey:@"payload"];
@@ -660,6 +664,7 @@ - (NSMutableDictionary *)getAdRevenueParameters:(ADJAdRevenue *)adRevenue isInDe
660664
[ADJPackageBuilder parameters:parameters setString:self.packageParams.osName forKey:@"os_name"];
661665
[ADJPackageBuilder parameters:parameters setString:self.packageParams.osVersion forKey:@"os_version"];
662666
[ADJPackageBuilder parameters:parameters setString:self.adjustConfig.secretId forKey:@"secret_id"];
667+
[ADJPackageBuilder parameters:parameters setDate:[ADJUserDefaults getSkadRegisterCallTimestamp] forKey:@"skadn_registered_at"];
663668
[ADJPackageBuilder parameters:parameters setDate1970:(double)self.packageParams.startedAt forKey:@"started_at"];
664669

665670
[ADJPackageBuilder parameters:parameters setString:adRevenue.source forKey:@"source"];
@@ -745,6 +750,7 @@ - (NSMutableDictionary *)getClickParameters:(NSString *)source {
745750
[ADJPackageBuilder parameters:parameters setDictionary:[self.sessionParameters.partnerParameters copy] forKey:@"partner_params"];
746751
[ADJPackageBuilder parameters:parameters setDate:self.purchaseTime forKey:@"purchase_time"];
747752
[ADJPackageBuilder parameters:parameters setString:self.adjustConfig.secretId forKey:@"secret_id"];
753+
[ADJPackageBuilder parameters:parameters setDate:[ADJUserDefaults getSkadRegisterCallTimestamp] forKey:@"skadn_registered_at"];
748754
[ADJPackageBuilder parameters:parameters setDate1970:(double)self.packageParams.startedAt forKey:@"started_at"];
749755
[ADJPackageBuilder parameters:parameters setString:source forKey:@"source"];
750756

@@ -810,6 +816,7 @@ - (NSMutableDictionary *)getAttributionParameters:(NSString *)initiatedBy {
810816
[ADJPackageBuilder parameters:parameters setString:self.packageParams.osName forKey:@"os_name"];
811817
[ADJPackageBuilder parameters:parameters setString:self.packageParams.osVersion forKey:@"os_version"];
812818
[ADJPackageBuilder parameters:parameters setString:self.adjustConfig.secretId forKey:@"secret_id"];
819+
[ADJPackageBuilder parameters:parameters setDate:[ADJUserDefaults getSkadRegisterCallTimestamp] forKey:@"skadn_registered_at"];
813820
[ADJPackageBuilder parameters:parameters setDate1970:(double)self.packageParams.startedAt forKey:@"started_at"];
814821

815822
if (self.adjustConfig.isDeviceKnown) {
@@ -860,6 +867,7 @@ - (NSMutableDictionary *)getGdprParameters {
860867
[ADJPackageBuilder parameters:parameters setString:self.packageParams.osName forKey:@"os_name"];
861868
[ADJPackageBuilder parameters:parameters setString:self.packageParams.osVersion forKey:@"os_version"];
862869
[ADJPackageBuilder parameters:parameters setString:self.adjustConfig.secretId forKey:@"secret_id"];
870+
[ADJPackageBuilder parameters:parameters setDate:[ADJUserDefaults getSkadRegisterCallTimestamp] forKey:@"skadn_registered_at"];
863871
[ADJPackageBuilder parameters:parameters setDate1970:(double)self.packageParams.startedAt forKey:@"started_at"];
864872

865873
if (self.adjustConfig.isDeviceKnown) {
@@ -919,6 +927,7 @@ - (NSMutableDictionary *)getDisableThirdPartySharingParameters {
919927
[ADJPackageBuilder parameters:parameters setDictionary:[self.sessionParameters.partnerParameters copy] forKey:@"partner_params"];
920928
[ADJPackageBuilder parameters:parameters setDate:self.purchaseTime forKey:@"purchase_time"];
921929
[ADJPackageBuilder parameters:parameters setString:self.adjustConfig.secretId forKey:@"secret_id"];
930+
[ADJPackageBuilder parameters:parameters setDate:[ADJUserDefaults getSkadRegisterCallTimestamp] forKey:@"skadn_registered_at"];
922931
[ADJPackageBuilder parameters:parameters setDate1970:(double)self.packageParams.startedAt forKey:@"started_at"];
923932

924933
if ([self.trackingStatusManager canGetAttStatus]) {
@@ -984,6 +993,7 @@ - (NSMutableDictionary *)getThirdPartySharingParameters:(nonnull ADJThirdPartySh
984993
[ADJPackageBuilder parameters:parameters setDictionary:[self.sessionParameters.partnerParameters copy] forKey:@"partner_params"];
985994
[ADJPackageBuilder parameters:parameters setDate:self.purchaseTime forKey:@"purchase_time"];
986995
[ADJPackageBuilder parameters:parameters setString:self.adjustConfig.secretId forKey:@"secret_id"];
996+
[ADJPackageBuilder parameters:parameters setDate:[ADJUserDefaults getSkadRegisterCallTimestamp] forKey:@"skadn_registered_at"];
987997
[ADJPackageBuilder parameters:parameters setDate1970:(double)self.packageParams.startedAt forKey:@"started_at"];
988998

989999
// Third Party Sharing
@@ -1055,6 +1065,7 @@ - (NSMutableDictionary *)getMeasurementConsentParameters:(BOOL)enabled {
10551065
[ADJPackageBuilder parameters:parameters setDictionary:[self.sessionParameters.partnerParameters copy] forKey:@"partner_params"];
10561066
[ADJPackageBuilder parameters:parameters setDate:self.purchaseTime forKey:@"purchase_time"];
10571067
[ADJPackageBuilder parameters:parameters setString:self.adjustConfig.secretId forKey:@"secret_id"];
1068+
[ADJPackageBuilder parameters:parameters setDate:[ADJUserDefaults getSkadRegisterCallTimestamp] forKey:@"skadn_registered_at"];
10581069
[ADJPackageBuilder parameters:parameters setDate1970:(double)self.packageParams.startedAt forKey:@"started_at"];
10591070

10601071
// Measurement Consent
@@ -1114,6 +1125,7 @@ - (NSMutableDictionary *)getSubscriptionParameters:(BOOL)isInDelay forSubscripti
11141125
[ADJPackageBuilder parameters:parameters setString:self.packageParams.osName forKey:@"os_name"];
11151126
[ADJPackageBuilder parameters:parameters setString:self.packageParams.osVersion forKey:@"os_version"];
11161127
[ADJPackageBuilder parameters:parameters setString:self.adjustConfig.secretId forKey:@"secret_id"];
1128+
[ADJPackageBuilder parameters:parameters setDate:[ADJUserDefaults getSkadRegisterCallTimestamp] forKey:@"skadn_registered_at"];
11171129
[ADJPackageBuilder parameters:parameters setDate1970:(double)self.packageParams.startedAt forKey:@"started_at"];
11181130

11191131
if ([self.trackingStatusManager canGetAttStatus]) {

Adjust/ADJUserDefaults.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,10 +48,17 @@
4848
+ (void)clearAdjustStuff;
4949

5050
+ (void)saveiAdErrorKey:(NSString *)key;
51+
5152
+ (NSDictionary<NSString *, NSNumber *> *)getiAdErrors;
53+
5254
+ (void)cleariAdErrors;
5355

5456
+ (void)setAdServicesTracked;
57+
5558
+ (BOOL)getAdServicesTracked;
5659

60+
+ (void)saveSkadRegisterCallTimestamp:(NSDate *)callTime;
61+
62+
+ (NSDate *)getSkadRegisterCallTimestamp;
63+
5764
@end

Adjust/ADJUserDefaults.m

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
static NSString * const PREFS_KEY_DISABLE_THIRD_PARTY_SHARING = @"adj_disable_third_party_sharing";
1818
static NSString * const PREFS_KEY_IAD_ERRORS = @"adj_iad_errors";
1919
static NSString * const PREFS_KEY_ADSERVICES_TRACKED = @"adj_adservices_tracked";
20+
static NSString * const PREFS_KEY_SKAD_REGISTER_CALL_TIME = @"adj_skad_register_call_time";
2021

2122
@implementation ADJUserDefaults
2223

@@ -129,6 +130,14 @@ + (BOOL)getAdServicesTracked {
129130
return [[NSUserDefaults standardUserDefaults] boolForKey:PREFS_KEY_ADSERVICES_TRACKED];
130131
}
131132

133+
+ (void)saveSkadRegisterCallTimestamp:(NSDate *)callTime {
134+
[[NSUserDefaults standardUserDefaults] setObject:callTime forKey:PREFS_KEY_SKAD_REGISTER_CALL_TIME];
135+
}
136+
137+
+ (NSDate *)getSkadRegisterCallTimestamp {
138+
return [[NSUserDefaults standardUserDefaults] objectForKey:PREFS_KEY_SKAD_REGISTER_CALL_TIME];
139+
}
140+
132141
+ (void)clearAdjustStuff {
133142
[[NSUserDefaults standardUserDefaults] removeObjectForKey:PREFS_KEY_PUSH_TOKEN_DATA];
134143
[[NSUserDefaults standardUserDefaults] removeObjectForKey:PREFS_KEY_PUSH_TOKEN_STRING];
@@ -139,6 +148,7 @@ + (void)clearAdjustStuff {
139148
[[NSUserDefaults standardUserDefaults] removeObjectForKey:PREFS_KEY_DISABLE_THIRD_PARTY_SHARING];
140149
[[NSUserDefaults standardUserDefaults] removeObjectForKey:PREFS_KEY_IAD_ERRORS];
141150
[[NSUserDefaults standardUserDefaults] removeObjectForKey:PREFS_KEY_ADSERVICES_TRACKED];
151+
[[NSUserDefaults standardUserDefaults] removeObjectForKey:PREFS_KEY_SKAD_REGISTER_CALL_TIME];
142152
}
143153

144154
@end

Adjust/ADJUtil.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
static NSRegularExpression *shortUniversalLinkRegex = nil;
4040
static NSRegularExpression *excludedDeeplinkRegex = nil;
4141

42-
static NSString * const kClientSdk = @"ios4.29.4";
42+
static NSString * const kClientSdk = @"ios4.29.5";
4343
static NSString * const kDeeplinkParam = @"deep_link=";
4444
static NSString * const kSchemeDelimiter = @"://";
4545
static NSString * const kDefaultScheme = @"AdjustUniversalScheme";

Adjust/Adjust.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
// Adjust.h
33
// Adjust SDK
44
//
5-
// V4.29.4
5+
// V4.29.5
66
// Created by Christian Wellenbrock (@wellle) on 23rd July 2013.
77
// Copyright (c) 2012-2021 Adjust GmbH. All rights reserved.
88
//

AdjustBridge/AdjustBridgeRegister.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -246,7 +246,7 @@ + (NSString *)adjust_js {
246246
if (this.sdkPrefix) {
247247
return this.sdkPrefix;
248248
} else {
249-
return 'web-bridge4.29.4';
249+
return 'web-bridge4.29.5';
250250
}
251251
},
252252
setTestOptions: function(testOptions) {

AdjustTests/AdjustUnitTests/ADJPackageFields.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ - (id) init {
1616

1717
// default values
1818
self.appToken = @"qwerty123456";
19-
self.clientSdk = @"ios4.29.4";
19+
self.clientSdk = @"ios4.29.5";
2020
self.suffix = @"";
2121
self.environment = @"sandbox";
2222

CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
1+
### Version 4.29.5 (19th August 2021)
2+
#### Added
3+
- Added sending of information when was the call to `registerAppForAdNetworkAttribution` method made.
4+
5+
#### Fixed
6+
- Fixed issue with insufficient buffer size for storing SDK prefix (https://github.com/adjust/react_native_sdk/issues/140).
7+
8+
---
9+
110
### Version 4.29.4 (9th August 2021)
211
#### Fixed
312
- Fixed new Xcode 13 beta compile time errors for extensions targets (https://github.com/adjust/ios_sdk/pull/559).

0 commit comments

Comments
 (0)