Skip to content

Commit d881a2e

Browse files
authored
Merge pull request #29 from adjust/v4122
Version 4.12.2
2 parents 156bd16 + 8f079af commit d881a2e

23 files changed

+291
-100
lines changed

CHANGELOG.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,16 @@
1+
### Version 4.12.2 (8th March 2018)
2+
#### Native changes
3+
- https://github.com/adjust/ios_sdk/blob/master/CHANGELOG.md#version-4122-13th-february-2018
4+
- https://github.com/adjust/ios_sdk/blob/master/CHANGELOG.md#version-4123-23rd-february-2018
5+
- https://github.com/adjust/android_sdk/blob/master/CHANGELOG.md#version-4122-28th-february-2018
6+
- https://github.com/adjust/android_sdk/blob/master/CHANGELOG.md#version-4123-7th-march-2018
7+
8+
#### Native SDKs
9+
- [[email protected]][ios_sdk_v4.12.3]
10+
- [[email protected]][android_sdk_v4.12.3]
11+
12+
---
13+
114
### Version 4.12.1 (1st February 2018)
215
#### Native changes
316
- https://github.com/adjust/android_sdk/blob/master/CHANGELOG.md#version-4121-31st-january-2018
@@ -179,6 +192,7 @@
179192
[ios_sdk_v4.11.4]: https://github.com/adjust/ios_sdk/tree/v4.11.4
180193
[ios_sdk_v4.11.5]: https://github.com/adjust/ios_sdk/tree/v4.11.5
181194
[ios_sdk_v4.12.1]: https://github.com/adjust/ios_sdk/tree/v4.12.1
195+
[ios_sdk_v4.12.3]: https://github.com/adjust/ios_sdk/tree/v4.12.3
182196

183197
[android_sdk_v4.10.4]: https://github.com/adjust/android_sdk/tree/v4.10.4
184198
[android_sdk_v4.11.0]: https://github.com/adjust/android_sdk/tree/v4.11.0
@@ -187,3 +201,5 @@
187201
[android_sdk_v4.11.4]: https://github.com/adjust/android_sdk/tree/v4.11.4
188202
[android_sdk_v4.12.0]: https://github.com/adjust/android_sdk/tree/v4.12.0
189203
[android_sdk_v4.12.1]: https://github.com/adjust/android_sdk/tree/v4.12.1
204+
[android_sdk_v4.12.2]: https://github.com/adjust/android_sdk/tree/v4.12.2
205+
[android_sdk_v4.12.3]: https://github.com/adjust/android_sdk/tree/v4.12.3

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
4.12.1
1+
4.12.2

android/libs/adjust-android.jar

9.28 KB
Binary file not shown.

ext/Android/sdk

Submodule sdk updated from a5927e1 to 9e48e60

ext/iOS/sdk

Submodule sdk updated from db7c525 to ceebcc3

index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ var AdjustConfig = function(appToken, environment) {
148148
this.appToken = appToken;
149149
this.environment = environment;
150150

151-
this.sdkPrefix = "react_native4.12.1";
151+
this.sdkPrefix = "react_native4.12.2";
152152
this.logLevel = null;
153153

154154
this.eventBufferingEnabled = null;

ios/Adjust/ADJActivityHandler.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
@property (nonatomic, copy) NSData *deviceTokenData;
4242
@property (nonatomic, copy) NSNumber *enabled;
4343
@property (nonatomic, assign) BOOL offline;
44+
@property (nonatomic, copy) NSString *basePath;
4445

4546
- (id)init;
4647

@@ -89,8 +90,10 @@
8990
- (void)removeSessionPartnerParameter:(NSString *)key;
9091
- (void)resetSessionCallbackParameters;
9192
- (void)resetSessionPartnerParameters;
93+
- (NSString *)getBasePath;
9294

93-
- (void)teardown:(BOOL)deleteState;
95+
- (void)teardown;
96+
+ (void)deleteState;
9497
@end
9598

9699
@interface ADJActivityHandler : NSObject <ADJActivityHandler>

ios/Adjust/ADJActivityHandler.m

Lines changed: 59 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@ @interface ADJActivityHandler()
101101
// copy for objects shared with the user
102102
@property (nonatomic, copy) ADJConfig *adjustConfig;
103103
@property (nonatomic, copy) NSData* deviceTokenData;
104+
@property (nonatomic, copy) NSString* basePath;
104105

105106
@end
106107

@@ -188,14 +189,19 @@ - (id)initWithConfig:(ADJConfig *)adjustConfig
188189
// does not have the session response by default
189190
self.internalState.sessionResponseProcessed = NO;
190191

192+
if (savedPreLaunch.basePath != nil) {
193+
self.basePath = savedPreLaunch.basePath;
194+
}
195+
191196
self.internalQueue = dispatch_queue_create(kInternalQueueName, DISPATCH_QUEUE_SERIAL);
192197
[ADJUtil launchInQueue:self.internalQueue
193198
selfInject:self
194199
block:^(ADJActivityHandler * selfI) {
195200
[selfI initI:selfI
196-
preLaunchActionsArray:savedPreLaunch.preLaunchActionsArray];
201+
preLaunchActionsArray:savedPreLaunch.preLaunchActionsArray];
197202
}];
198203

204+
199205
// self.deviceTokenData = savedPreLaunch.deviceTokenData;
200206
if (self.activityState != nil) {
201207
[self setDeviceToken:[ADJUserDefaults getPushToken]];
@@ -522,7 +528,11 @@ - (void)resetSessionPartnerParameters {
522528
}];
523529
}
524530

525-
- (void)teardown:(BOOL)deleteState
531+
- (NSString *)getBasePath {
532+
return _basePath;
533+
}
534+
535+
- (void)teardown
526536
{
527537
[ADJAdjustFactory.logger verbose:@"ADJActivityHandler teardown"];
528538
[self removeNotificationObserver];
@@ -539,18 +549,14 @@ - (void)teardown:(BOOL)deleteState
539549
[self.attributionHandler teardown];
540550
}
541551
if (self.packageHandler != nil) {
542-
[self.packageHandler teardown:deleteState];
552+
[self.packageHandler teardown];
543553
}
544554
if (self.sdkClickHandler != nil) {
545555
[self.sdkClickHandler teardown];
546556
}
547-
[self teardownActivityStateS:deleteState];
548-
[self teardownAttributionS:deleteState];
549-
[self teardownAllSessionParametersS:deleteState];
550-
551-
if (deleteState) {
552-
[ADJUserDefaults clearAdjustStuff];
553-
}
557+
[self teardownActivityStateS];
558+
[self teardownAttributionS];
559+
[self teardownAllSessionParametersS];
554560

555561
[ADJUtil teardown];
556562

@@ -568,6 +574,32 @@ - (void)teardown:(BOOL)deleteState
568574
self.logger = nil;
569575
}
570576

577+
+ (void)deleteState
578+
{
579+
[ADJActivityHandler deleteActivityState];
580+
[ADJActivityHandler deleteAttribution];
581+
[ADJActivityHandler deleteSessionCallbackParameter];
582+
[ADJActivityHandler deleteSessionPartnerParameter];
583+
584+
[ADJUserDefaults clearAdjustStuff];
585+
}
586+
587+
+ (void)deleteActivityState {
588+
[ADJUtil deleteFileWithName:kActivityStateFilename];
589+
}
590+
591+
+ (void)deleteAttribution {
592+
[ADJUtil deleteFileWithName:kAttributionFilename];
593+
}
594+
595+
+ (void)deleteSessionCallbackParameter {
596+
[ADJUtil deleteFileWithName:kSessionCallbackParametersFilename];
597+
}
598+
599+
+ (void)deleteSessionPartnerParameter {
600+
[ADJUtil deleteFileWithName:kSessionPartnerParametersFilename];
601+
}
602+
571603
#pragma mark - internal
572604
- (void)initI:(ADJActivityHandler *)selfI
573605
preLaunchActionsArray:(NSArray*)preLaunchActionsArray
@@ -666,7 +698,17 @@ - (void)initI:(ADJActivityHandler *)selfI
666698

667699
[selfI preLaunchActionsI:selfI preLaunchActionsArray:preLaunchActionsArray];
668700

669-
[selfI startI:selfI];
701+
[ADJUtil launchInMainThreadWithInactive:^(BOOL isInactive) {
702+
[ADJUtil launchInQueue:self.internalQueue selfInject:self block:^(ADJActivityHandler * selfI) {
703+
if (!isInactive) {
704+
[selfI.logger debug:@"Start sdk, since the app is already in the foreground"];
705+
selfI.internalState.background = NO;
706+
[selfI startI:selfI];
707+
} else {
708+
[selfI.logger debug:@"Wait for the app to go to the foreground to start the sdk"];
709+
}
710+
}];
711+
}];
670712
}
671713

672714
- (void)startI:(ADJActivityHandler *)selfI {
@@ -1221,6 +1263,9 @@ - (void)setDeviceTokenI:(ADJActivityHandler *)selfI
12211263
if (![selfI isEnabledI:selfI]) {
12221264
return;
12231265
}
1266+
if (!selfI.activityState) {
1267+
return;
1268+
}
12241269

12251270
NSString *deviceTokenString = [ADJUtil convertDeviceToken:deviceToken];
12261271

@@ -1309,15 +1354,12 @@ - (void)writeActivityStateI:(ADJActivityHandler *)selfI
13091354
}
13101355
}
13111356

1312-
- (void)teardownActivityStateS:(BOOL)deleteState
1357+
- (void)teardownActivityStateS
13131358
{
13141359
@synchronized ([ADJActivityState class]) {
13151360
if (self.activityState == nil) {
13161361
return;
13171362
}
1318-
if (deleteState) {
1319-
[ADJUtil deleteFileWithName:kActivityStateFilename];
1320-
}
13211363
self.activityState = nil;
13221364
}
13231365
}
@@ -1331,15 +1373,12 @@ - (void)writeAttributionI:(ADJActivityHandler *)selfI {
13311373
}
13321374
}
13331375

1334-
- (void)teardownAttributionS:(BOOL)deleteState
1376+
- (void)teardownAttributionS
13351377
{
13361378
@synchronized ([ADJAttribution class]) {
13371379
if (self.attribution == nil) {
13381380
return;
13391381
}
1340-
if (deleteState) {
1341-
[ADJUtil deleteFileWithName:kAttributionFilename];
1342-
}
13431382
self.attribution = nil;
13441383
}
13451384
}
@@ -1379,15 +1418,11 @@ - (void)writeSessionPartnerParametersI:(ADJActivityHandler *)selfI {
13791418
}
13801419
}
13811420

1382-
- (void)teardownAllSessionParametersS:(BOOL)deleteState {
1421+
- (void)teardownAllSessionParametersS {
13831422
@synchronized ([ADJSessionParameters class]) {
13841423
if (self.sessionParameters == nil) {
13851424
return;
13861425
}
1387-
if (deleteState) {
1388-
[ADJUtil deleteFileWithName:kSessionCallbackParametersFilename];
1389-
[ADJUtil deleteFileWithName:kSessionPartnerParametersFilename];
1390-
}
13911426
[self.sessionParameters.callbackParameters removeAllObjects];
13921427
[self.sessionParameters.partnerParameters removeAllObjects];
13931428
self.sessionParameters = nil;

ios/Adjust/ADJAdditions/UIDevice+ADJAdditions.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,10 @@
22
// UIDevice+ADJAdditions.h
33
// Adjust
44
//
5-
// Created by Christian Wellenbrock on 23.07.12.
6-
// Copyright (c) 2012-2014 adjust GmbH. All rights reserved.
5+
// Created by Christian Wellenbrock (@wellle) on 23rd July 2012.
6+
// Copyright © 2012-2018 Adjust GmbH. All rights reserved.
77
//
8+
89
#import <Foundation/Foundation.h>
910
#import <UIKit/UIKit.h>
1011
#import "ADJActivityHandler.h"

ios/Adjust/ADJAdditions/UIDevice+ADJAdditions.m

Lines changed: 13 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
// UIDevice+ADJAdditions.m
33
// Adjust
44
//
5-
// Created by Christian Wellenbrock on 23.07.12.
6-
// Copyright (c) 2012-2014 adjust GmbH. All rights reserved.
5+
// Created by Christian Wellenbrock (@wellle) on 23rd July 2012.
6+
// Copyright © 2012-2018 Adjust GmbH. All rights reserved.
77
//
88

99
#import "UIDevice+ADJAdditions.h"
@@ -27,17 +27,14 @@ - (BOOL)adjTrackingEnabled {
2727
#if ADJUST_NO_IDFA
2828
return NO;
2929
#else
30-
3130
// return [[ASIdentifierManager sharedManager] isAdvertisingTrackingEnabled];
3231
NSString *className = [NSString adjJoin:@"A", @"S", @"identifier", @"manager", nil];
3332
Class class = NSClassFromString(className);
3433
if (class == nil) {
3534
return NO;
3635
}
37-
3836
#pragma clang diagnostic push
3937
#pragma clang diagnostic ignored "-Warc-performSelector-leaks"
40-
4138
NSString *keyManager = [NSString adjJoin:@"shared", @"manager", nil];
4239
SEL selManager = NSSelectorFromString(keyManager);
4340
if (![class respondsToSelector:selManager]) {
@@ -52,7 +49,6 @@ - (BOOL)adjTrackingEnabled {
5249
}
5350
BOOL enabled = (BOOL)[manager performSelector:selEnabled];
5451
return enabled;
55-
5652
#pragma clang diagnostic pop
5753
#endif
5854
}
@@ -61,14 +57,12 @@ - (NSString *)adjIdForAdvertisers {
6157
#if ADJUST_NO_IDFA
6258
return @"";
6359
#else
64-
6560
// return [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];
6661
NSString *className = [NSString adjJoin:@"A", @"S", @"identifier", @"manager", nil];
6762
Class class = NSClassFromString(className);
6863
if (class == nil) {
6964
return @"";
7065
}
71-
7266
#pragma clang diagnostic push
7367
#pragma clang diagnostic ignored "-Warc-performSelector-leaks"
7468

@@ -109,9 +103,7 @@ - (NSString *)adjFbAttributionId {
109103
result = @"";
110104
}
111105
};
112-
[NSThread isMainThread] ?
113-
resultRetrievalBlock() :
114-
dispatch_sync(dispatch_get_main_queue(), resultRetrievalBlock);
106+
[NSThread isMainThread] ? resultRetrievalBlock() : dispatch_sync(dispatch_get_main_queue(), resultRetrievalBlock);
115107
return result;
116108
#endif
117109
}
@@ -148,10 +140,8 @@ - (NSString *)adjVendorId {
148140
}
149141

150142
- (void)adjSetIad:(ADJActivityHandler *)activityHandler
151-
triesV3Left:(int)triesV3Left
152-
{
143+
triesV3Left:(int)triesV3Left {
153144
id<ADJLogger> logger = [ADJAdjustFactory logger];
154-
[logger debug:@"iAd with %d tries to read v3", triesV3Left];
155145

156146
#if ADJUST_NO_IAD || TARGET_OS_TV
157147
[logger debug:@"ADJUST_NO_IAD or TARGET_OS_TV set"];
@@ -162,29 +152,34 @@ - (void)adjSetIad:(ADJActivityHandler *)activityHandler
162152
// [[ADClient sharedClient] ...]
163153
Class ADClientClass = NSClassFromString(@"ADClient");
164154
if (ADClientClass == nil) {
155+
[logger warn:@"iAd framework not found in user's app (ADClientClass not found)"];
165156
return;
166157
}
167158
#pragma clang diagnostic push
168159
#pragma clang diagnostic ignored "-Warc-performSelector-leaks"
169160
SEL sharedClientSelector = NSSelectorFromString(@"sharedClient");
170161
if (![ADClientClass respondsToSelector:sharedClientSelector]) {
162+
[logger warn:@"iAd framework not found in user's app (sharedClient method not found)"];
171163
return;
172164
}
173165
id ADClientSharedClientInstance = [ADClientClass performSelector:sharedClientSelector];
174-
175166
if (ADClientSharedClientInstance == nil) {
167+
[logger warn:@"iAd framework not found in user's app (ADClientSharedClientInstance is nil)"];
176168
return;
177169
}
178170

171+
[logger debug:@"iAd framework successfully found in user's app"];
172+
[logger debug:@"iAd with %d tries to read v3", triesV3Left];
173+
179174
// if no tries for iad v3 left, stop trying
180175
if (triesV3Left == 0) {
181176
[logger warn:@"Reached limit number of retry for iAd v3"];
182177
return;
183178
}
184179

185180
BOOL isIadV3Avaliable = [self adjSetIadWithDetails:activityHandler
186-
ADClientSharedClientInstance:ADClientSharedClientInstance
187-
retriesLeft:(triesV3Left - 1)];
181+
ADClientSharedClientInstance:ADClientSharedClientInstance
182+
retriesLeft:(triesV3Left - 1)];
188183

189184
// if iad v3 not available
190185
if (!isIadV3Avaliable) {
@@ -197,10 +192,8 @@ - (void)adjSetIad:(ADJActivityHandler *)activityHandler
197192

198193
- (BOOL)adjSetIadWithDetails:(ADJActivityHandler *)activityHandler
199194
ADClientSharedClientInstance:(id)ADClientSharedClientInstance
200-
retriesLeft:(int)retriesLeft
201-
{
195+
retriesLeft:(int)retriesLeft {
202196
SEL iadDetailsSelector = NSSelectorFromString(@"requestAttributionDetailsWithBlock:");
203-
204197
if (![ADClientSharedClientInstance respondsToSelector:iadDetailsSelector]) {
205198
return NO;
206199
}

0 commit comments

Comments
 (0)