Skip to content

Commit d746f71

Browse files
authored
Merge pull request #342 from adjust/v4150
Version 4.15.0
2 parents 7b87623 + c0aa59c commit d746f71

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+2164
-724
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.14.3"
3+
s.version = "4.15.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.14.3" }
8+
s.source = { :git => "https://github.com/adjust/ios_sdk.git", :tag => "v4.15.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: 28 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323

2424
/* Begin PBXBuildFile section */
2525
2067002A1F18BDC700B4FDE1 /* CoreTelephony.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9601C19C1A31DD7F00A9AE21 /* CoreTelephony.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
26-
6FA69FD72101E00100FCD3B5 /* AdjustBridge_JS.m in Sources */ = {isa = PBXBuildFile; fileRef = 6FA69FD62101E00100FCD3B5 /* AdjustBridge_JS.m */; };
2726
6FCC85001F278CF300D6A0ED /* ADJReachability.m in Sources */ = {isa = PBXBuildFile; fileRef = 6FCC84F71F278CF300D6A0ED /* ADJReachability.m */; };
2827
6FCC85011F278CF300D6A0ED /* ADJReachability.h in Headers */ = {isa = PBXBuildFile; fileRef = 6FCC84F81F278CF300D6A0ED /* ADJReachability.h */; };
2928
6FCC85041F27945E00D6A0ED /* ADJReachability.h in Headers */ = {isa = PBXBuildFile; fileRef = 6FCC85021F27944600D6A0ED /* ADJReachability.h */; };
@@ -211,12 +210,10 @@
211210
9D0E2EAE210B575600133B4F /* AdjustBridge.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D0E2E5C210B575600133B4F /* AdjustBridge.m */; };
212211
9D0E2EAF210B575600133B4F /* AdjustBridgeRegister.h in Headers */ = {isa = PBXBuildFile; fileRef = 9D0E2E5D210B575600133B4F /* AdjustBridgeRegister.h */; settings = {ATTRIBUTES = (Public, ); }; };
213212
9D0E2EB0210B575600133B4F /* WebViewJavascriptBridgeBase.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D0E2E5F210B575600133B4F /* WebViewJavascriptBridgeBase.m */; };
214-
9D0E2EB1210B575600133B4F /* AdjustBridge_JS.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D0E2E60210B575600133B4F /* AdjustBridge_JS.m */; };
215213
9D0E2EB2210B575600133B4F /* WKWebViewJavascriptBridge.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D0E2E61210B575600133B4F /* WKWebViewJavascriptBridge.m */; };
216214
9D0E2EB3210B575600133B4F /* WebViewJavascriptBridge.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D0E2E62210B575600133B4F /* WebViewJavascriptBridge.m */; };
217215
9D0E2EB4210B575600133B4F /* WebViewJavascriptBridge_JS.h in Headers */ = {isa = PBXBuildFile; fileRef = 9D0E2E63210B575600133B4F /* WebViewJavascriptBridge_JS.h */; settings = {ATTRIBUTES = (Public, ); }; };
218216
9D0E2EB5210B575600133B4F /* WebViewJavascriptBridgeBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 9D0E2E64210B575600133B4F /* WebViewJavascriptBridgeBase.h */; settings = {ATTRIBUTES = (Public, ); }; };
219-
9D0E2EB6210B575600133B4F /* AdjustBridge_JS.h in Headers */ = {isa = PBXBuildFile; fileRef = 9D0E2E65210B575600133B4F /* AdjustBridge_JS.h */; settings = {ATTRIBUTES = (Public, ); }; };
220217
9D0E2EB7210B575600133B4F /* WebViewJavascriptBridge_JS.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D0E2E66210B575600133B4F /* WebViewJavascriptBridge_JS.m */; };
221218
9D0E2EB8210B575600133B4F /* WebViewJavascriptBridge.h in Headers */ = {isa = PBXBuildFile; fileRef = 9D0E2E67210B575600133B4F /* WebViewJavascriptBridge.h */; settings = {ATTRIBUTES = (Public, ); }; };
222219
9D0E2EB9210B575600133B4F /* WKWebViewJavascriptBridge.h in Headers */ = {isa = PBXBuildFile; fileRef = 9D0E2E68210B575600133B4F /* WKWebViewJavascriptBridge.h */; settings = {ATTRIBUTES = (Public, ); }; };
@@ -519,6 +516,13 @@
519516
remoteGlobalIDString = 9D7431E51EB9F9B700969F14;
520517
remoteInfo = AdjustExampleTests;
521518
};
519+
9D9D1551212EB3D00081445E /* PBXContainerItemProxy */ = {
520+
isa = PBXContainerItemProxy;
521+
containerPortal = 9D9D154D212EB3D00081445E /* AdjustExample-FbPixel.xcodeproj */;
522+
proxyType = 2;
523+
remoteGlobalIDString = 9D9D152E212EB3920081445E;
524+
remoteInfo = "AdjustExample-FbPixel";
525+
};
522526
9DE7C8FF1AE68EF1001556E5 /* PBXContainerItemProxy */ = {
523527
isa = PBXContainerItemProxy;
524528
containerPortal = 9679920518BBAE2800394606 /* Project object */;
@@ -553,8 +557,6 @@
553557
/* Begin PBXFileReference section */
554558
6F0842182007766700568A31 /* AdjustTestLibrary.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = AdjustTestLibrary.xcodeproj; path = AdjustTestLibrary/AdjustTestLibrary.xcodeproj; sourceTree = "<group>"; };
555559
6F084240200776A000568A31 /* AdjustTestApp.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = AdjustTestApp.xcodeproj; path = AdjustTestApp/AdjustTestApp.xcodeproj; sourceTree = "<group>"; };
556-
6FA69FD52101E00100FCD3B5 /* AdjustBridge_JS.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AdjustBridge_JS.h; sourceTree = "<group>"; };
557-
6FA69FD62101E00100FCD3B5 /* AdjustBridge_JS.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AdjustBridge_JS.m; sourceTree = "<group>"; };
558560
6FCC84F71F278CF300D6A0ED /* ADJReachability.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ADJReachability.m; sourceTree = "<group>"; };
559561
6FCC84F81F278CF300D6A0ED /* ADJReachability.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ADJReachability.h; sourceTree = "<group>"; };
560562
6FCC85021F27944600D6A0ED /* ADJReachability.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ADJReachability.h; sourceTree = "<group>"; };
@@ -791,6 +793,7 @@
791793
9D7431F41EB9F9B700969F14 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
792794
9D7431F71EB9F9B700969F14 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
793795
9D7431F91EB9F9B700969F14 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
796+
9D9D154D212EB3D00081445E /* AdjustExample-FbPixel.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = "AdjustExample-FbPixel.xcodeproj"; path = "examples/AdjustExample-FbPixel/AdjustExample-FbPixel.xcodeproj"; sourceTree = "<group>"; };
794797
9DD0E9AC1F44690B00B2A759 /* ADJUserDefaults.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ADJUserDefaults.h; sourceTree = "<group>"; };
795798
9DD0E9AD1F44690B00B2A759 /* ADJUserDefaults.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ADJUserDefaults.m; sourceTree = "<group>"; };
796799
9DE354D22100726300D211C9 /* AdjustSdkIm.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = AdjustSdkIm.framework; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -1152,8 +1155,6 @@
11521155
9648C5E51CD1765E00A3B049 /* WebViewJavascriptBridge */ = {
11531156
isa = PBXGroup;
11541157
children = (
1155-
6FA69FD52101E00100FCD3B5 /* AdjustBridge_JS.h */,
1156-
6FA69FD62101E00100FCD3B5 /* AdjustBridge_JS.m */,
11571158
9648C5E61CD1765E00A3B049 /* WebViewJavascriptBridge.h */,
11581159
9648C5E71CD1765E00A3B049 /* WebViewJavascriptBridge.m */,
11591160
9648C5E81CD1765E00A3B049 /* WebViewJavascriptBridge_JS.h */,
@@ -1441,6 +1442,7 @@
14411442
9D449DC51E6ED24000E7E80B /* AdjustExample-tvOS.xcodeproj */,
14421443
9D449DB31E6ED23400E7E80B /* AdjustExample-iWatch.xcodeproj */,
14431444
9D0167FE20FF88DE0029CFFF /* AdjustExample-iMessage.xcodeproj */,
1445+
9D9D154D212EB3D00081445E /* AdjustExample-FbPixel.xcodeproj */,
14441446
);
14451447
name = "Example Apps";
14461448
sourceTree = "<group>";
@@ -1511,6 +1513,14 @@
15111513
name = "Supporting Files";
15121514
sourceTree = "<group>";
15131515
};
1516+
9D9D154E212EB3D00081445E /* Products */ = {
1517+
isa = PBXGroup;
1518+
children = (
1519+
9D9D1552212EB3D00081445E /* AdjustExample-FbPixel.app */,
1520+
);
1521+
name = Products;
1522+
sourceTree = "<group>";
1523+
};
15141524
9DE354D32100726300D211C9 /* AdjustSdkIm */ = {
15151525
isa = PBXGroup;
15161526
children = (
@@ -1830,7 +1840,6 @@
18301840
9D0E2E06210B570600133B4F /* AdjustSdkWebBridge.h in Headers */,
18311841
9D0E2EBA210B575600133B4F /* AdjustBridge.h in Headers */,
18321842
9D0E2EAF210B575600133B4F /* AdjustBridgeRegister.h in Headers */,
1833-
9D0E2EB6210B575600133B4F /* AdjustBridge_JS.h in Headers */,
18341843
9D0E2EB8210B575600133B4F /* WebViewJavascriptBridge.h in Headers */,
18351844
9D0E2EB9210B575600133B4F /* WKWebViewJavascriptBridge.h in Headers */,
18361845
9D0E2EB4210B575600133B4F /* WebViewJavascriptBridge_JS.h in Headers */,
@@ -2191,6 +2200,10 @@
21912200
productRefGroup = 9679920E18BBAE2800394606 /* Products */;
21922201
projectDirPath = "";
21932202
projectReferences = (
2203+
{
2204+
ProductGroup = 9D9D154E212EB3D00081445E /* Products */;
2205+
ProjectRef = 9D9D154D212EB3D00081445E /* AdjustExample-FbPixel.xcodeproj */;
2206+
},
21942207
{
21952208
ProductGroup = 9D0167FF20FF88DE0029CFFF /* Products */;
21962209
ProjectRef = 9D0167FE20FF88DE0029CFFF /* AdjustExample-iMessage.xcodeproj */;
@@ -2317,6 +2330,13 @@
23172330
remoteRef = 9D449DCF1E6ED24400E7E80B /* PBXContainerItemProxy */;
23182331
sourceTree = BUILT_PRODUCTS_DIR;
23192332
};
2333+
9D9D1552212EB3D00081445E /* AdjustExample-FbPixel.app */ = {
2334+
isa = PBXReferenceProxy;
2335+
fileType = wrapper.application;
2336+
path = "AdjustExample-FbPixel.app";
2337+
remoteRef = 9D9D1551212EB3D00081445E /* PBXContainerItemProxy */;
2338+
sourceTree = BUILT_PRODUCTS_DIR;
2339+
};
23202340
/* End PBXReferenceProxy section */
23212341

23222342
/* Begin PBXResourcesBuildPhase section */
@@ -2402,7 +2422,6 @@
24022422
961515A31CD2CB9D0022D336 /* WebViewJavascriptBridge.m in Sources */,
24032423
961515A41CD2CBA20022D336 /* WebViewJavascriptBridge_JS.m in Sources */,
24042424
961515A61CD2CBAC0022D336 /* WKWebViewJavascriptBridge.m in Sources */,
2405-
6FA69FD72101E00100FCD3B5 /* AdjustBridge_JS.m in Sources */,
24062425
961515A51CD2CBA80022D336 /* WebViewJavascriptBridgeBase.m in Sources */,
24072426
);
24082427
runOnlyForDeploymentPostprocessing = 0;
@@ -2512,7 +2531,6 @@
25122531
9D0E2E6D210B575600133B4F /* ADJTimerOnce.m in Sources */,
25132532
9D0E2E77210B575600133B4F /* ADJEvent.m in Sources */,
25142533
9D0E2E8D210B575600133B4F /* ADJConfig.m in Sources */,
2515-
9D0E2EB1210B575600133B4F /* AdjustBridge_JS.m in Sources */,
25162534
9D0E2E6E210B575600133B4F /* ADJAttributionHandler.m in Sources */,
25172535
9D0E2E87210B575600133B4F /* ADJBackoffStrategy.m in Sources */,
25182536
9D0E2EBB210B575600133B4F /* AdjustBridgeRegister.m in Sources */,

Adjust/ADJActivityHandler.m

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1014,6 +1014,11 @@ - (void)launchSessionResponseTasksI:(ADJActivityHandler *)selfI
10141014
withObject:sessionResponseData.attribution];
10151015
}
10161016

1017+
// if attribution didn't update and it's still null -> ask for attribution
1018+
if (selfI.attribution == nil && selfI.activityState.askingAttribution == NO) {
1019+
[selfI.attributionHandler getAttribution];
1020+
}
1021+
10171022
selfI.internalState.sessionResponseProcessed = YES;
10181023
}
10191024

Adjust/ADJActivityPackage.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ @implementation ADJActivityPackage
1515

1616
- (NSString *)extendedString {
1717
NSMutableString *builder = [NSMutableString string];
18-
NSArray *excludedKeys = @[@"secret_id", @"app_secret"];
18+
NSArray *excludedKeys = @[@"secret_id", @"app_secret", @"event_callback_id"];
1919

2020
[builder appendFormat:@"Path: %@\n", self.path];
2121
[builder appendFormat:@"ClientSdk: %@\n", self.clientSdk];

Adjust/ADJEvent.h

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,11 @@
2828
*/
2929
@property (nonatomic, copy, readonly, nonnull) NSString *transactionId;
3030

31+
/**
32+
* @brief Custom user defined event ID.
33+
*/
34+
@property (nonatomic, copy, readonly, nonnull) NSString *callbackId;
35+
3136
/**
3237
* @brief Currency value.
3338
*/
@@ -106,6 +111,14 @@
106111
*/
107112
- (void)setTransactionId:(nonnull NSString *)transactionId;
108113

114+
/**
115+
* @brief Set the custom user defined ID for the event which will be reported in
116+
* success/failure callbacks.
117+
*
118+
* @param callbackId Custom user defined identifier for the event
119+
*/
120+
- (void)setCallbackId:(nonnull NSString *)callbackId;
121+
109122
/**
110123
* @brief Check if created adjust event object is valid.
111124
*

Adjust/ADJEvent.m

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,10 @@ - (void) setTransactionId:(NSString *)transactionId {
9393
_transactionId = transactionId;
9494
}
9595

96+
- (void)setCallbackId:(NSString *)callbackId {
97+
_callbackId = callbackId;
98+
}
99+
96100
- (NSDictionary *) callbackParameters {
97101
return (NSDictionary *) self.callbackMutableParameters;
98102
}

Adjust/ADJEventFailure.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,11 @@
3030
*/
3131
@property (nonatomic, copy) NSString * eventToken;
3232

33+
/**
34+
* @brief Event callback ID.
35+
*/
36+
@property (nonatomic, copy) NSString *callbackId;
37+
3338
/**
3439
* @brief Information whether sending of the package will be retried or not.
3540
*/

Adjust/ADJEventFailure.m

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ - (id)copyWithZone:(NSZone *)zone {
3636
copy.timeStamp = [self.timeStamp copyWithZone:zone];
3737
copy.adid = [self.adid copyWithZone:zone];
3838
copy.eventToken = [self.eventToken copyWithZone:zone];
39+
copy.callbackId = [self.callbackId copyWithZone:zone];
3940
copy.willRetry = self.willRetry;
4041
copy.jsonResponse = [self.jsonResponse copyWithZone:zone];
4142
}
@@ -46,11 +47,12 @@ - (id)copyWithZone:(NSZone *)zone {
4647
#pragma mark - NSObject protocol methods
4748

4849
- (NSString *)description {
49-
return [NSString stringWithFormat: @"Event Failure msg:%@ time:%@ adid:%@ event:%@ retry:%@ json:%@",
50+
return [NSString stringWithFormat: @"Event Failure msg:%@ time:%@ adid:%@ event:%@ cid:%@, retry:%@ json:%@",
5051
self.message,
5152
self.timeStamp,
5253
self.adid,
5354
self.eventToken,
55+
self.callbackId,
5456
self.willRetry ? @"YES" : @"NO",
5557
self.jsonResponse];
5658
}

Adjust/ADJEventSuccess.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,11 @@
3030
*/
3131
@property (nonatomic, copy) NSString *eventToken;
3232

33+
/**
34+
* @brief Event callback ID.
35+
*/
36+
@property (nonatomic, copy) NSString *callbackId;
37+
3338
/**
3439
* @brief Backend response in JSON format.
3540
*/

Adjust/ADJEventSuccess.m

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ - (id)copyWithZone:(NSZone *)zone {
3636
copy.timeStamp = [self.timeStamp copyWithZone:zone];
3737
copy.adid = [self.adid copyWithZone:zone];
3838
copy.eventToken = [self.eventToken copyWithZone:zone];
39+
copy.callbackId = [self.callbackId copyWithZone:zone];
3940
copy.jsonResponse = [self.jsonResponse copyWithZone:zone];
4041
}
4142

@@ -45,11 +46,12 @@ - (id)copyWithZone:(NSZone *)zone {
4546
#pragma mark - NSObject protocol methods
4647

4748
- (NSString *)description {
48-
return [NSString stringWithFormat: @"Event Success msg:%@ time:%@ adid:%@ event:%@ json:%@",
49+
return [NSString stringWithFormat: @"Event Success msg:%@ time:%@ adid:%@ event:%@ cid:%@ json:%@",
4950
self.message,
5051
self.timeStamp,
5152
self.adid,
5253
self.eventToken,
54+
self.callbackId,
5355
self.jsonResponse];
5456
}
5557

0 commit comments

Comments
 (0)