Skip to content

Commit 4c9d7bf

Browse files
authored
Merge pull request #332 from adjust/v4140
Version 4.14.0
2 parents ccfec7d + e728e12 commit 4c9d7bf

File tree

29 files changed

+143
-43
lines changed

29 files changed

+143
-43
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.13.0"
3+
s.version = "4.14.0"
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.13.0" }
8+
s.source = { :git => "https://github.com/adjust/ios_sdk.git", :tag => "v4.14.0" }
99
s.ios.deployment_target = '6.0'
1010
s.tvos.deployment_target = '9.0'
1111
s.framework = 'SystemConfiguration'

Adjust.xcodeproj/project.pbxproj

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1476,7 +1476,7 @@
14761476
9679920518BBAE2800394606 /* Project object */ = {
14771477
isa = PBXProject;
14781478
attributes = {
1479-
LastUpgradeCheck = 0900;
1479+
LastUpgradeCheck = 0940;
14801480
ORGANIZATIONNAME = "adjust GmbH";
14811481
TargetAttributes = {
14821482
9615158E1CD2CB2C0022D336 = {
@@ -1993,12 +1993,14 @@
19931993
CLANG_WARN_BOOL_CONVERSION = YES;
19941994
CLANG_WARN_COMMA = YES;
19951995
CLANG_WARN_CONSTANT_CONVERSION = YES;
1996+
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
19961997
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
19971998
CLANG_WARN_EMPTY_BODY = YES;
19981999
CLANG_WARN_ENUM_CONVERSION = YES;
19992000
CLANG_WARN_INFINITE_RECURSION = YES;
20002001
CLANG_WARN_INT_CONVERSION = YES;
20012002
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
2003+
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
20022004
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
20032005
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
20042006
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
@@ -2044,12 +2046,14 @@
20442046
CLANG_WARN_BOOL_CONVERSION = YES;
20452047
CLANG_WARN_COMMA = YES;
20462048
CLANG_WARN_CONSTANT_CONVERSION = YES;
2049+
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
20472050
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
20482051
CLANG_WARN_EMPTY_BODY = YES;
20492052
CLANG_WARN_ENUM_CONVERSION = YES;
20502053
CLANG_WARN_INFINITE_RECURSION = YES;
20512054
CLANG_WARN_INT_CONVERSION = YES;
20522055
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
2056+
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
20532057
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
20542058
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
20552059
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;

Adjust.xcodeproj/xcshareddata/xcschemes/AdjustSdk.xcscheme

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<Scheme
3-
LastUpgradeVersion = "0900"
3+
LastUpgradeVersion = "0940"
44
version = "1.3">
55
<BuildAction
66
parallelizeBuildables = "YES"
@@ -26,7 +26,6 @@
2626
buildConfiguration = "Debug"
2727
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
2828
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
29-
language = ""
3029
shouldUseLaunchSchemeArgsEnv = "YES">
3130
<Testables>
3231
</Testables>
@@ -37,7 +36,6 @@
3736
buildConfiguration = "Release"
3837
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
3938
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
40-
language = ""
4139
launchStyle = "0"
4240
useCustomWorkingDirectory = "NO"
4341
ignoresPersistentStateOnLaunch = "NO"

Adjust.xcodeproj/xcshareddata/xcschemes/AdjustSdkTv.xcscheme

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<Scheme
3-
LastUpgradeVersion = "0900"
3+
LastUpgradeVersion = "0940"
44
version = "1.3">
55
<BuildAction
66
parallelizeBuildables = "YES"
@@ -26,7 +26,6 @@
2626
buildConfiguration = "Debug"
2727
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
2828
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
29-
language = ""
3029
shouldUseLaunchSchemeArgsEnv = "YES">
3130
<Testables>
3231
</Testables>
@@ -37,7 +36,6 @@
3736
buildConfiguration = "Debug"
3837
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
3938
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
40-
language = ""
4139
launchStyle = "0"
4240
useCustomWorkingDirectory = "NO"
4341
ignoresPersistentStateOnLaunch = "NO"

Adjust/ADJActivityHandler.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@
7070
- (BOOL)isEnabled;
7171
- (BOOL)isGdprForgotten;
7272

73-
- (void)appWillOpenUrl:(NSURL*)url;
73+
- (void)appWillOpenUrl:(NSURL*)url withClickTime:(NSDate *)clickTime;
7474
- (void)setDeviceToken:(NSData *)deviceToken;
7575
- (void)setGdprForgetMe;
7676
- (void)setTrackingStateOptedOut;

Adjust/ADJActivityHandler.m

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -346,11 +346,11 @@ - (NSString *)adid {
346346
return self.activityState.adid;
347347
}
348348

349-
- (void)appWillOpenUrl:(NSURL*)url {
349+
- (void)appWillOpenUrl:(NSURL *)url withClickTime:(NSDate *)clickTime {
350350
[ADJUtil launchInQueue:self.internalQueue
351351
selfInject:self
352352
block:^(ADJActivityHandler * selfI) {
353-
[selfI appWillOpenUrlI:selfI url:url];
353+
[selfI appWillOpenUrlI:selfI url:url clickTime:clickTime];
354354
}];
355355
}
356356

@@ -758,6 +758,8 @@ - (void)startI:(ADJActivityHandler *)selfI {
758758
[selfI processSessionI:selfI];
759759

760760
[selfI checkAttributionStateI:selfI];
761+
762+
[selfI processCachedDeeplinkI:selfI];
761763
}
762764

763765
- (void)processSessionI:(ADJActivityHandler *)selfI {
@@ -865,6 +867,22 @@ - (void)checkAttributionStateI:(ADJActivityHandler *)selfI {
865867
[selfI.attributionHandler getAttribution];
866868
}
867869

870+
- (void)processCachedDeeplinkI:(ADJActivityHandler *)selfI {
871+
if (![selfI checkActivityStateI:selfI]) return;
872+
873+
NSURL *cachedDeeplinkUrl = [ADJUserDefaults getDeeplinkUrl];
874+
if (cachedDeeplinkUrl == nil) {
875+
return;
876+
}
877+
NSDate *cachedDeeplinkClickTime = [ADJUserDefaults getDeeplinkClickTime];
878+
if (cachedDeeplinkClickTime == nil) {
879+
return;
880+
}
881+
882+
[selfI appWillOpenUrlI:selfI url:cachedDeeplinkUrl clickTime:cachedDeeplinkClickTime];
883+
[ADJUserDefaults removeDeeplink];
884+
}
885+
868886
- (void)endI:(ADJActivityHandler *)selfI {
869887
// pause sending if it's not allowed to send
870888
if (![selfI toSendI:selfI]) {
@@ -1214,7 +1232,8 @@ - (void)checkStatusI:(ADJActivityHandler *)selfI
12141232
}
12151233

12161234
- (void)appWillOpenUrlI:(ADJActivityHandler *)selfI
1217-
url:(NSURL *)url {
1235+
url:(NSURL *)url
1236+
clickTime:(NSDate *)clickTime {
12181237
if ([ADJUtil isNull:url]) {
12191238
return;
12201239
}
@@ -1251,7 +1270,7 @@ - (void)appWillOpenUrlI:(ADJActivityHandler *)selfI
12511270
createdAt:now];
12521271
clickBuilder.deeplinkParameters = adjustDeepLinks;
12531272
clickBuilder.attribution = deeplinkAttribution;
1254-
clickBuilder.clickTime = [NSDate date];
1273+
clickBuilder.clickTime = clickTime;
12551274
clickBuilder.deeplink = [url absoluteString];
12561275

12571276
ADJActivityPackage *clickPackage = [clickBuilder buildClickPackage:@"deeplink"];

Adjust/ADJUserDefaults.h

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,6 @@
1414

1515
+ (NSData *)getPushToken;
1616

17-
+ (void)clearAdjustStuff;
18-
1917
+ (void)removePushToken;
2018

2119
+ (void)setInstallTracked;
@@ -28,4 +26,15 @@
2826

2927
+ (void)removeGdprForgetMe;
3028

29+
+ (void)saveDeeplinkUrl:(NSURL *)deeplink
30+
andClickTime:(NSDate *)clickTime;
31+
32+
+ (NSURL *)getDeeplinkUrl;
33+
34+
+ (NSDate *)getDeeplinkClickTime;
35+
36+
+ (void)removeDeeplink;
37+
38+
+ (void)clearAdjustStuff;
39+
3140
@end

Adjust/ADJUserDefaults.m

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111
static NSString * const PREFS_KEY_PUSH_TOKEN = @"adj_push_token";
1212
static NSString * const PREFS_KEY_GDPR_FORGET_ME = @"adj_gdpr_forget_me";
1313
static NSString * const PREFS_KEY_INSTALL_TRACKED = @"adj_install_tracked";
14+
static NSString * const PREFS_KEY_DEEPLINK_URL = @"adj_deeplink_url";
15+
static NSString * const PREFS_KEY_DEEPLINK_CLICK_TIME = @"adj_deeplink_click_time";
1416

1517
@implementation ADJUserDefaults
1618

@@ -53,10 +55,32 @@ + (void)removeGdprForgetMe {
5355
[[NSUserDefaults standardUserDefaults] synchronize];
5456
}
5557

58+
+ (void)saveDeeplinkUrl:(NSURL *)deeplink andClickTime:(NSDate *)clickTime {
59+
[[NSUserDefaults standardUserDefaults] setURL:deeplink forKey:PREFS_KEY_DEEPLINK_URL];
60+
[[NSUserDefaults standardUserDefaults] setObject:clickTime forKey:PREFS_KEY_DEEPLINK_CLICK_TIME];
61+
[[NSUserDefaults standardUserDefaults] synchronize];
62+
}
63+
64+
+ (NSURL *)getDeeplinkUrl {
65+
return [[NSUserDefaults standardUserDefaults] URLForKey:PREFS_KEY_DEEPLINK_URL];
66+
}
67+
68+
+ (NSDate *)getDeeplinkClickTime {
69+
return [[NSUserDefaults standardUserDefaults] objectForKey:PREFS_KEY_DEEPLINK_CLICK_TIME];
70+
}
71+
72+
+ (void)removeDeeplink {
73+
[[NSUserDefaults standardUserDefaults] removeObjectForKey:PREFS_KEY_DEEPLINK_URL];
74+
[[NSUserDefaults standardUserDefaults] removeObjectForKey:PREFS_KEY_DEEPLINK_CLICK_TIME];
75+
[[NSUserDefaults standardUserDefaults] synchronize];
76+
}
77+
5678
+ (void)clearAdjustStuff {
5779
[[NSUserDefaults standardUserDefaults] removeObjectForKey:PREFS_KEY_PUSH_TOKEN];
5880
[[NSUserDefaults standardUserDefaults] removeObjectForKey:PREFS_KEY_INSTALL_TRACKED];
5981
[[NSUserDefaults standardUserDefaults] removeObjectForKey:PREFS_KEY_GDPR_FORGET_ME];
82+
[[NSUserDefaults standardUserDefaults] removeObjectForKey:PREFS_KEY_DEEPLINK_URL];
83+
[[NSUserDefaults standardUserDefaults] removeObjectForKey:PREFS_KEY_DEEPLINK_CLICK_TIME];
6084
[[NSUserDefaults standardUserDefaults] synchronize];
6185
}
6286

Adjust/ADJUtil.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141

4242
static NSString *userAgent = nil;
4343

44-
static NSString * const kClientSdk = @"ios4.13.0";
44+
static NSString * const kClientSdk = @"ios4.14.0";
4545
static NSString * const kDeeplinkParam = @"deep_link=";
4646
static NSString * const kSchemeDelimiter = @"://";
4747
static NSString * const kDefaultScheme = @"AdjustUniversalScheme";

Adjust/Adjust.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
// Adjust.h
33
// Adjust
44
//
5-
// V4.13.0
5+
// V4.14.0
66
// Created by Christian Wellenbrock (wellle) on 23rd July 2013.
77
// Copyright © 2012-2017 Adjust GmbH. All rights reserved.
88
//
@@ -23,6 +23,7 @@
2323
@property (nonatomic, copy, nullable) NSNumber *subsessionIntervalInMilliseconds;
2424
@property (nonatomic, assign) BOOL teardown;
2525
@property (nonatomic, assign) BOOL deleteState;
26+
@property (nonatomic, assign) BOOL noBackoffWait;
2627

2728
@end
2829

0 commit comments

Comments
 (0)