Skip to content

Commit 5743c8f

Browse files
refactor: refactor MPSearchAdsAttribution (#314)
1 parent 8610852 commit 5743c8f

File tree

7 files changed

+79
-116
lines changed

7 files changed

+79
-116
lines changed

UnitTests/MPStateMachineTests.m

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,4 +219,18 @@ - (void)testSetLocation {
219219
#endif
220220
}
221221

222+
#if TARGET_OS_IOS == 1
223+
- (void)testRequestAttribution {
224+
XCTestExpectation *expectation = [self expectationWithDescription:@"Request Attribution"];
225+
void (^searchAdsCompletion)(void) = ^{
226+
[expectation fulfill];
227+
};
228+
229+
MPStateMachine *stateMachine = [MParticle sharedInstance].stateMachine;
230+
231+
[stateMachine requestAttributionDetailsWithBlock:searchAdsCompletion requestsCompleted:0];
232+
[self waitForExpectationsWithTimeout:DEFAULT_TIMEOUT handler:nil];
233+
}
234+
#endif
235+
222236
@end

mParticle-Apple-SDK.xcodeproj/project.pbxproj

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,6 @@
152152
53A79BCE29CDFB2000E7489F /* NSDictionary+MPCaseInsensitive.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B0929CDFB1F00E7489F /* NSDictionary+MPCaseInsensitive.m */; };
153153
53A79BD129CDFB2000E7489F /* MPResponseConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 53A79B0C29CDFB1F00E7489F /* MPResponseConfig.h */; };
154154
53A79BD229CDFB2000E7489F /* MPApplication.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B0D29CDFB1F00E7489F /* MPApplication.m */; };
155-
53A79BD629CDFB2000E7489F /* MPSearchAdsAttribution.h in Headers */ = {isa = PBXBuildFile; fileRef = 53A79B1129CDFB1F00E7489F /* MPSearchAdsAttribution.h */; };
156155
53A79BD729CDFB2000E7489F /* MPUploadBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B1229CDFB1F00E7489F /* MPUploadBuilder.m */; };
157156
53A79BD929CDFB2000E7489F /* MPUserIdentityChange.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B1429CDFB1F00E7489F /* MPUserIdentityChange.m */; };
158157
53A79BDA29CDFB2000E7489F /* MPDevice.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B1529CDFB1F00E7489F /* MPDevice.m */; };
@@ -163,7 +162,6 @@
163162
53A79BE229CDFB2000E7489F /* MPIUserDefaults.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B1D29CDFB1F00E7489F /* MPIUserDefaults.m */; };
164163
53A79BE329CDFB2000E7489F /* MPBracket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B1E29CDFB1F00E7489F /* MPBracket.cpp */; };
165164
53A79BE529CDFB2000E7489F /* MPResponseConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B2029CDFB1F00E7489F /* MPResponseConfig.m */; };
166-
53A79BE729CDFB2000E7489F /* MPSearchAdsAttribution.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B2229CDFB1F00E7489F /* MPSearchAdsAttribution.m */; };
167165
53A79BE829CDFB2000E7489F /* MPUploadBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = 53A79B2329CDFB1F00E7489F /* MPUploadBuilder.h */; };
168166
53A79BE929CDFB2000E7489F /* MPApplication.h in Headers */ = {isa = PBXBuildFile; fileRef = 53A79B2429CDFB1F00E7489F /* MPApplication.h */; };
169167
53A79BEB29CDFB2000E7489F /* NSNumber+MPFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B2629CDFB1F00E7489F /* NSNumber+MPFormatter.swift */; };
@@ -352,7 +350,6 @@
352350
53A79D2E29CE23F700E7489F /* MPBackendController.h in Headers */ = {isa = PBXBuildFile; fileRef = 53A79AA329CDFB1E00E7489F /* MPBackendController.h */; };
353351
53A79D2F29CE23F700E7489F /* MPKitConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = 53A79B5F29CDFB1F00E7489F /* MPKitConfiguration.h */; };
354352
53A79D3029CE23F700E7489F /* MPConnectorResponseProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 53A79AAD29CDFB1E00E7489F /* MPConnectorResponseProtocol.h */; };
355-
53A79D3129CE23F700E7489F /* MPSearchAdsAttribution.h in Headers */ = {isa = PBXBuildFile; fileRef = 53A79B1129CDFB1F00E7489F /* MPSearchAdsAttribution.h */; };
356353
53A79D3229CE23F700E7489F /* MPConnectorFactoryProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 53A79AB029CDFB1E00E7489F /* MPConnectorFactoryProtocol.h */; };
357354
53A79D3329CE23F700E7489F /* MPNetworkCommunication.h in Headers */ = {isa = PBXBuildFile; fileRef = 53A79AB129CDFB1E00E7489F /* MPNetworkCommunication.h */; };
358355
53A79D3429CE23F700E7489F /* MPURL.h in Headers */ = {isa = PBXBuildFile; fileRef = 53A79AB329CDFB1E00E7489F /* MPURL.h */; };
@@ -422,7 +419,6 @@
422419
53A79D7B29CE23F700E7489F /* MPIConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B6429CDFB1F00E7489F /* MPIConstants.m */; };
423420
53A79D7C29CE23F700E7489F /* MPLaunchInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B2929CDFB1F00E7489F /* MPLaunchInfo.m */; };
424421
53A79D7D29CE23F700E7489F /* MPPromotion.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B4129CDFB1F00E7489F /* MPPromotion.m */; };
425-
53A79D7E29CE23F700E7489F /* MPSearchAdsAttribution.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B2229CDFB1F00E7489F /* MPSearchAdsAttribution.m */; };
426422
53A79D8129CE23F700E7489F /* MPIdentityApiRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79A9829CDFB1E00E7489F /* MPIdentityApiRequest.m */; };
427423
53A79D8229CE23F700E7489F /* MPCommerceEvent.mm in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B4029CDFB1F00E7489F /* MPCommerceEvent.mm */; };
428424
53A79D8329CE23F700E7489F /* MPConsentSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79AF729CDFB1F00E7489F /* MPConsentSerialization.m */; };
@@ -601,7 +597,6 @@
601597
53A79B0929CDFB1F00E7489F /* NSDictionary+MPCaseInsensitive.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSDictionary+MPCaseInsensitive.m"; sourceTree = "<group>"; };
602598
53A79B0C29CDFB1F00E7489F /* MPResponseConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPResponseConfig.h; sourceTree = "<group>"; };
603599
53A79B0D29CDFB1F00E7489F /* MPApplication.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPApplication.m; sourceTree = "<group>"; };
604-
53A79B1129CDFB1F00E7489F /* MPSearchAdsAttribution.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPSearchAdsAttribution.h; sourceTree = "<group>"; };
605600
53A79B1229CDFB1F00E7489F /* MPUploadBuilder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPUploadBuilder.m; sourceTree = "<group>"; };
606601
53A79B1429CDFB1F00E7489F /* MPUserIdentityChange.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPUserIdentityChange.m; sourceTree = "<group>"; };
607602
53A79B1529CDFB1F00E7489F /* MPDevice.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPDevice.m; sourceTree = "<group>"; };
@@ -612,7 +607,6 @@
612607
53A79B1D29CDFB1F00E7489F /* MPIUserDefaults.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPIUserDefaults.m; sourceTree = "<group>"; };
613608
53A79B1E29CDFB1F00E7489F /* MPBracket.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MPBracket.cpp; sourceTree = "<group>"; };
614609
53A79B2029CDFB1F00E7489F /* MPResponseConfig.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPResponseConfig.m; sourceTree = "<group>"; };
615-
53A79B2229CDFB1F00E7489F /* MPSearchAdsAttribution.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPSearchAdsAttribution.m; sourceTree = "<group>"; };
616610
53A79B2329CDFB1F00E7489F /* MPUploadBuilder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPUploadBuilder.h; sourceTree = "<group>"; };
617611
53A79B2429CDFB1F00E7489F /* MPApplication.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPApplication.h; sourceTree = "<group>"; };
618612
53A79B2629CDFB1F00E7489F /* NSNumber+MPFormatter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSNumber+MPFormatter.swift"; sourceTree = "<group>"; };
@@ -1018,7 +1012,6 @@
10181012
D3CEDAC22C9DAC25001B32DF /* MPDateFormatter.swift */,
10191013
53A79B0D29CDFB1F00E7489F /* MPApplication.m */,
10201014
D3961CDD2CC0B7E4003B3194 /* NSString+MPPercentEscape.swift */,
1021-
53A79B1129CDFB1F00E7489F /* MPSearchAdsAttribution.h */,
10221015
53A79B1229CDFB1F00E7489F /* MPUploadBuilder.m */,
10231016
53A79B1429CDFB1F00E7489F /* MPUserIdentityChange.m */,
10241017
53A79B1529CDFB1F00E7489F /* MPDevice.m */,
@@ -1029,7 +1022,6 @@
10291022
53A79B1D29CDFB1F00E7489F /* MPIUserDefaults.m */,
10301023
53A79B1E29CDFB1F00E7489F /* MPBracket.cpp */,
10311024
53A79B2029CDFB1F00E7489F /* MPResponseConfig.m */,
1032-
53A79B2229CDFB1F00E7489F /* MPSearchAdsAttribution.m */,
10331025
53A79B2329CDFB1F00E7489F /* MPUploadBuilder.h */,
10341026
53A79B2429CDFB1F00E7489F /* MPApplication.h */,
10351027
53A79B2629CDFB1F00E7489F /* NSNumber+MPFormatter.swift */,
@@ -1339,7 +1331,6 @@
13391331
53A79B7129CDFB2000E7489F /* MPBackendController.h in Headers */,
13401332
53A79C1D29CDFB2100E7489F /* MPKitConfiguration.h in Headers */,
13411333
53A79B7929CDFB2000E7489F /* MPConnectorResponseProtocol.h in Headers */,
1342-
53A79BD629CDFB2000E7489F /* MPSearchAdsAttribution.h in Headers */,
13431334
53A79B7C29CDFB2000E7489F /* MPConnectorFactoryProtocol.h in Headers */,
13441335
53A79B7D29CDFB2000E7489F /* MPNetworkCommunication.h in Headers */,
13451336
53A79B7F29CDFB2000E7489F /* MPURL.h in Headers */,
@@ -1436,7 +1427,6 @@
14361427
53A79D2E29CE23F700E7489F /* MPBackendController.h in Headers */,
14371428
53A79D2F29CE23F700E7489F /* MPKitConfiguration.h in Headers */,
14381429
53A79D3029CE23F700E7489F /* MPConnectorResponseProtocol.h in Headers */,
1439-
53A79D3129CE23F700E7489F /* MPSearchAdsAttribution.h in Headers */,
14401430
53A79D3229CE23F700E7489F /* MPConnectorFactoryProtocol.h in Headers */,
14411431
53A79D3329CE23F700E7489F /* MPNetworkCommunication.h in Headers */,
14421432
53A79D3429CE23F700E7489F /* MPURL.h in Headers */,
@@ -1745,7 +1735,6 @@
17451735
53A79C2129CDFB2100E7489F /* MPIConstants.m in Sources */,
17461736
53A79BEE29CDFB2000E7489F /* MPLaunchInfo.m in Sources */,
17471737
53A79C0229CDFB2100E7489F /* MPPromotion.m in Sources */,
1748-
53A79BE729CDFB2000E7489F /* MPSearchAdsAttribution.m in Sources */,
17491738
53A79B6629CDFB2000E7489F /* MPIdentityApiRequest.m in Sources */,
17501739
53A79C0129CDFB2100E7489F /* MPCommerceEvent.mm in Sources */,
17511740
53A79BBF29CDFB2000E7489F /* MPConsentSerialization.m in Sources */,
@@ -1914,7 +1903,6 @@
19141903
53A79D7C29CE23F700E7489F /* MPLaunchInfo.m in Sources */,
19151904
53A79D7D29CE23F700E7489F /* MPPromotion.m in Sources */,
19161905
534CD25C29CE2877008452B3 /* NSNumber+MPFormatter.swift in Sources */,
1917-
53A79D7E29CE23F700E7489F /* MPSearchAdsAttribution.m in Sources */,
19181906
53A79D8129CE23F700E7489F /* MPIdentityApiRequest.m in Sources */,
19191907
53A79D8229CE23F700E7489F /* MPCommerceEvent.mm in Sources */,
19201908
53A79D8329CE23F700E7489F /* MPConsentSerialization.m in Sources */,

mParticle-Apple-SDK/MPBackendController.m

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,6 @@
2424
#import "MPKitContainer.h"
2525
#import "MPUserAttributeChange.h"
2626
#import "MPUserIdentityChange.h"
27-
#if TARGET_OS_IOS == 1
28-
#import "MPSearchAdsAttribution.h"
29-
#endif
3027
#import "MPURLRequestBuilder.h"
3128
#import "MPListenerController.h"
3229
#import "MParticleWebView.h"
@@ -1538,7 +1535,7 @@ - (void)startWithKey:(NSString *)apiKey secret:(NSString *)secret networkOptions
15381535
#if TARGET_OS_IOS == 1
15391536
if (MParticle.sharedInstance.collectSearchAdsAttribution) {
15401537
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(SEARCH_ADS_ATTRIBUTION_GLOBAL_TIMEOUT_SECONDS * NSEC_PER_SEC)), [MParticle messageQueue], searchAdsCompletion);
1541-
[stateMachine.searchAttribution requestAttributionDetailsWithBlock:searchAdsCompletion requestsCompleted:0];
1538+
[stateMachine requestAttributionDetailsWithBlock:searchAdsCompletion requestsCompleted:0];
15421539
} else {
15431540
searchAdsCompletion();
15441541
}

mParticle-Apple-SDK/Utils/MPSearchAdsAttribution.h

Lines changed: 0 additions & 9 deletions
This file was deleted.

mParticle-Apple-SDK/Utils/MPSearchAdsAttribution.m

Lines changed: 0 additions & 81 deletions
This file was deleted.

mParticle-Apple-SDK/Utils/MPStateMachine.h

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
#endif
1414
#endif
1515
@class MPCustomModule;
16-
@class MPSearchAdsAttribution;
1716
@class MPDataPlanOptions;
1817

1918
@interface MPStateMachine : NSObject
@@ -52,9 +51,6 @@
5251
@property (nonatomic) NSNumber * _Nullable attAuthorizationStatus;
5352
@property (nonatomic) NSNumber * _Nullable attAuthorizationTimestamp;
5453
@property (nonatomic, strong, nonnull) NSNumber *aliasMaxWindow;
55-
#if TARGET_OS_IOS == 1
56-
@property (nonatomic, strong, nonnull) MPSearchAdsAttribution *searchAttribution;
57-
#endif
5854
@property (nonatomic, strong, nonnull) NSDictionary *searchAdsInfo;
5955
@property (nonatomic) BOOL automaticSessionTracking;
6056
@property (nonatomic) BOOL allowASR;
@@ -75,5 +71,6 @@
7571
- (void)configureDataBlocking:(nullable NSDictionary *)blockSettings;
7672
- (void)setMinUploadDate:(nullable NSDate *)date uploadType:(MPUploadType)uploadType;
7773
- (nonnull NSDate *)minUploadDateForUploadType:(MPUploadType)uploadType;
74+
- (void)requestAttributionDetailsWithBlock:(void (^ _Nonnull)(void))completionHandler requestsCompleted:(int)requestsCompleted;
7875

7976
@end

0 commit comments

Comments
 (0)