diff --git a/.gitignore b/.gitignore index 5097182e8..2874357d3 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ # Xcode build/ +.build/ *.pbxuser !default.pbxuser *.mode1v3 diff --git a/Example/mParticleExample/ViewController.m b/Example/mParticleExample/ViewController.m index 385fa33b4..b149982ad 100644 --- a/Example/mParticleExample/ViewController.m +++ b/Example/mParticleExample/ViewController.m @@ -204,7 +204,7 @@ - (void)selectDarkOverlayPlacement { roktConfig.colorMode = MPColorModeDark; [[MParticle sharedInstance].rokt selectPlacements:@"RoktLayout" attributes:customAttributes - placements:nil + embeddedViews:nil config:roktConfig callbacks:nil]; } @@ -235,9 +235,9 @@ - (void)selectEmbeddedPlacement { [self setupUI:size]; }; - NSDictionary *placements = @{@"Location1": self.roktView}; + NSDictionary *embeddedViews = @{@"Location1": self.roktView}; - [[MParticle sharedInstance].rokt selectPlacements:@"testiOS" attributes:customAttributes placements:placements config:nil callbacks:callbacks]; + [[MParticle sharedInstance].rokt selectPlacements:@"testiOS" attributes:customAttributes embeddedViews:embeddedViews config:nil callbacks:callbacks]; } - (void)getAudience { diff --git a/UnitTests/MPRoktTests.m b/UnitTests/MPRoktTests.m index c57a1b82e..b94bb9466 100644 --- a/UnitTests/MPRoktTests.m +++ b/UnitTests/MPRoktTests.m @@ -80,16 +80,16 @@ - (void)testSelectPlacementsSimpleWithValidParameters { }] identify:[OCMArg any] completion:[OCMArg any]]; // Set up test parameters - NSString *viewName = @"testView"; + NSString *identifier = @"testView"; NSDictionary *attributes = @{@"email": @"test@gmail.com", @"sandbox": @"false"}; // Set up expectations for kit container XCTestExpectation *expectation = [self expectationWithDescription:@"Wait for async operation"]; - SEL roktSelector = @selector(executeWithViewName:attributes:placements:config:callbacks:filteredUser:); + SEL roktSelector = @selector(executeWithIdentifier:attributes:embeddedViews:config:callbacks:filteredUser:); OCMExpect([self.mockContainer forwardSDKCall:roktSelector event:nil parameters:[OCMArg checkWithBlock:^BOOL(MPForwardQueueParameters *params) { - XCTAssertEqualObjects(params[0], viewName); + XCTAssertEqualObjects(params[0], identifier); XCTAssertEqualObjects(params[1], attributes); XCTAssertNil(params[2]); XCTAssertNil(params[3]); @@ -101,7 +101,7 @@ - (void)testSelectPlacementsSimpleWithValidParameters { }); // Execute method - [self.rokt selectPlacements:viewName + [self.rokt selectPlacements:identifier attributes:attributes]; // Wait for async operation @@ -120,11 +120,11 @@ - (void)testSelectPlacementsExpandedWithValidParameters { [[[self.mockInstance stub] andReturn:self.mockInstance] sharedInstance]; // Set up test parameters - NSString *viewName = @"testView"; + NSString *identifier = @"testView"; NSDictionary *attributes = @{@"key": @"value"}; NSDictionary *finalAttributes = @{@"key": @"value", @"sandbox": @"true"}; MPRoktEmbeddedView *exampleView = [[MPRoktEmbeddedView alloc] initWithFrame:CGRectZero]; - NSDictionary *placements = @{@"placement": exampleView}; + NSDictionary *embeddedViews = @{@"placement": exampleView}; MPRoktEventCallback *exampleCallbacks = [[MPRoktEventCallback alloc] init]; exampleCallbacks.onLoad = ^{}; exampleCallbacks.onUnLoad = ^{}; @@ -139,13 +139,13 @@ - (void)testSelectPlacementsExpandedWithValidParameters { // Set up expectations for kit container XCTestExpectation *expectation = [self expectationWithDescription:@"Wait for async operation"]; - SEL roktSelector = @selector(executeWithViewName:attributes:placements:config:callbacks:filteredUser:); + SEL roktSelector = @selector(executeWithIdentifier:attributes:embeddedViews:config:callbacks:filteredUser:); OCMExpect([self.mockContainer forwardSDKCall:roktSelector event:nil parameters:[OCMArg checkWithBlock:^BOOL(MPForwardQueueParameters *params) { - XCTAssertEqualObjects(params[0], viewName); + XCTAssertEqualObjects(params[0], identifier); XCTAssertEqualObjects(params[1], finalAttributes); - XCTAssertEqualObjects(params[2], placements); + XCTAssertEqualObjects(params[2], embeddedViews); XCTAssertEqualObjects(params[3], roktConfig); MPRoktEventCallback *resultCallbacks = params[4]; XCTAssertEqualObjects(resultCallbacks.onLoad, exampleCallbacks.onLoad); @@ -161,9 +161,9 @@ - (void)testSelectPlacementsExpandedWithValidParameters { }); // Execute method - [self.rokt selectPlacements:viewName + [self.rokt selectPlacements:identifier attributes:attributes - placements:placements + embeddedViews:embeddedViews config:roktConfig callbacks:exampleCallbacks]; @@ -183,25 +183,25 @@ - (void)testSelectPlacementsExpandedWithNilParameters { [[[self.mockInstance stub] andReturn:self.mockInstance] sharedInstance]; // Set up test parameters - NSString *viewName = @"testView"; + NSString *identifier = @"testView"; // Execute method with nil parameters - [self.rokt selectPlacements:viewName + [self.rokt selectPlacements:identifier attributes:nil - placements:nil + embeddedViews:nil config:nil callbacks:nil]; // Wait for async operation XCTestExpectation *expectation = [self expectationWithDescription:@"Wait for async operation"]; - SEL roktSelector = @selector(executeWithViewName:attributes:placements:config:callbacks:filteredUser:); + SEL roktSelector = @selector(executeWithIdentifier:attributes:embeddedViews:config:callbacks:filteredUser:); NSDictionary *finalAttributes = @{@"sandbox": @"true"}; OCMExpect([self.mockContainer forwardSDKCall:roktSelector event:nil parameters:[OCMArg checkWithBlock:^BOOL(MPForwardQueueParameters *params) { - XCTAssertEqualObjects(params[0], viewName); + XCTAssertEqualObjects(params[0], identifier); XCTAssertEqualObjects(params[1], finalAttributes); XCTAssertNil(params[2]); XCTAssertNil(params[3]); @@ -228,17 +228,17 @@ - (void)testSelectPlacementsSimpleWithMapping { [[[self.mockInstance stub] andReturn:self.mockInstance] sharedInstance]; // Set up test parameters - NSString *viewName = @"testView"; + NSString *identifier = @"testView"; NSDictionary *attributes = @{@"f.name": @"Brandon"}; NSDictionary *mappedAttributes = @{@"firstname": @"Brandon", @"sandbox": @"true"}; // Set up expectations for kit container XCTestExpectation *expectation = [self expectationWithDescription:@"Wait for async operation"]; - SEL roktSelector = @selector(executeWithViewName:attributes:placements:config:callbacks:filteredUser:); + SEL roktSelector = @selector(executeWithIdentifier:attributes:embeddedViews:config:callbacks:filteredUser:); OCMExpect([self.mockContainer forwardSDKCall:roktSelector event:nil parameters:[OCMArg checkWithBlock:^BOOL(MPForwardQueueParameters *params) { - XCTAssertEqualObjects(params[0], viewName); + XCTAssertEqualObjects(params[0], identifier); XCTAssertEqualObjects(params[1], mappedAttributes); XCTAssertNil(params[2]); XCTAssertNil(params[3]); @@ -250,7 +250,7 @@ - (void)testSelectPlacementsSimpleWithMapping { }); // Execute method - [self.rokt selectPlacements:viewName + [self.rokt selectPlacements:identifier attributes:attributes]; // Wait for async operation @@ -268,7 +268,7 @@ - (void)testSelectPlacementsSimpleWithNilMapping { [[[self.mockInstance stub] andReturn:self.mockContainer] kitContainer_PRIVATE]; [[[self.mockInstance stub] andReturn:self.mockInstance] sharedInstance]; - SEL roktSelector = @selector(executeWithViewName:attributes:placements:config:callbacks:filteredUser:); + SEL roktSelector = @selector(executeWithIdentifier:attributes:embeddedViews:config:callbacks:filteredUser:); OCMReject([self.mockContainer forwardSDKCall:roktSelector event:[OCMArg any] parameters:[OCMArg any] @@ -276,11 +276,11 @@ - (void)testSelectPlacementsSimpleWithNilMapping { userInfo:[OCMArg any]]); // Set up test parameters - NSString *viewName = @"testView"; + NSString *identifier = @"testView"; NSDictionary *attributes = @{@"f.name": @"Brandon"}; // Execute method - [self.rokt selectPlacements:viewName + [self.rokt selectPlacements:identifier attributes:attributes]; // Verify @@ -323,7 +323,7 @@ - (void)testSelectPlacementsIdentifyUser { [[[self.mockInstance stub] andReturn:self.mockInstance] sharedInstance]; // Set up test parameters - NSString *viewName = @"testView"; + NSString *identifier = @"testView"; NSDictionary *attributes = @{@"email": @"test@gmail.com", @"sandbox": @"false"}; // Set up expectations for kit container @@ -333,7 +333,7 @@ - (void)testSelectPlacementsIdentifyUser { }); // Execute method - [self.rokt selectPlacements:viewName attributes:attributes]; + [self.rokt selectPlacements:identifier attributes:attributes]; // Wait for async operation [self waitForExpectationsWithTimeout:0.2 handler:nil]; @@ -358,10 +358,10 @@ - (void)testTriggeredIdentifyWithNoIdentities { return true; }] completion:OCMOCK_ANY]; - NSString *viewName = @"testView"; + NSString *identifier = @"testView"; NSDictionary *attributes = @{@"email": @"test@gmail.com", @"sandbox": @"false"}; - [self.rokt selectPlacements:viewName attributes:attributes]; + [self.rokt selectPlacements:identifier attributes:attributes]; [self.identityMock verifyWithDelay:0.2]; } @@ -389,10 +389,10 @@ - (void)testTriggeredIdentifyWithMismatchedEmailIdentity { return true; }] completion:OCMOCK_ANY]; - NSString *viewName = @"testView"; + NSString *identifier = @"testView"; NSDictionary *attributes = @{@"email": @"test@gmail.com", @"sandbox": @"false"}; - [self.rokt selectPlacements:viewName attributes:attributes]; + [self.rokt selectPlacements:identifier attributes:attributes]; [self.identityMock verifyWithDelay:0.2]; } diff --git a/mParticle-Apple-SDK/Include/MPKitProtocol.h b/mParticle-Apple-SDK/Include/MPKitProtocol.h index d5b31d4fc..d64bbef62 100644 --- a/mParticle-Apple-SDK/Include/MPKitProtocol.h +++ b/mParticle-Apple-SDK/Include/MPKitProtocol.h @@ -137,9 +137,9 @@ - (nonnull NSArray *)logBatch:(nonnull NSDictionary *)batch; #pragma mark First Party Kits -- (nonnull MPKitExecStatus *)executeWithViewName:(NSString * _Nullable)viewName +- (nonnull MPKitExecStatus *)executeWithIdentifier:(NSString * _Nullable)identifier attributes:(NSDictionary * _Nonnull)attributes - placements:(NSDictionary * _Nullable)placements + embeddedViews:(NSDictionary * _Nullable)embeddedViews config:(MPRoktConfig * _Nullable)config callbacks:(MPRoktEventCallback * _Nullable)callbacks filteredUser:(FilteredMParticleUser * _Nonnull)filteredUser; diff --git a/mParticle-Apple-SDK/Include/MPRokt.h b/mParticle-Apple-SDK/Include/MPRokt.h index ded370196..99ab66399 100644 --- a/mParticle-Apple-SDK/Include/MPRokt.h +++ b/mParticle-Apple-SDK/Include/MPRokt.h @@ -76,12 +76,12 @@ typedef NS_ENUM(NSInteger, MPColorMode) { * * @param identifier Unique identifier for the placement * @param attributes Optional dictionary of attributes to customize the placement - * @param placements Optional dictionary mapping placement names to their embedded views + * @param embeddedViews Optional dictionary mapping placement names to their embedded views * @param roktEventCallback Optional callback object to handle widget events */ - (void)selectPlacements:(NSString *_Nonnull)identifier attributes:(NSDictionary * _Nullable)attributes - placements:(NSDictionary * _Nullable)placements + embeddedViews:(NSDictionary * _Nullable)embeddedViews config:(MPRoktConfig * _Nullable)config callbacks:(MPRoktEventCallback * _Nullable)roktEventCallback; diff --git a/mParticle-Apple-SDK/Kits/MPKitContainer.mm b/mParticle-Apple-SDK/Kits/MPKitContainer.mm index aef3f69fe..668a59cc3 100644 --- a/mParticle-Apple-SDK/Kits/MPKitContainer.mm +++ b/mParticle-Apple-SDK/Kits/MPKitContainer.mm @@ -2299,18 +2299,18 @@ - (void)attemptToLogEventToKit:(id)kitRegister kitFilter return; } execStatus = [kitRegister.wrapperInstance logEvent:((MPEvent *)kitFilter.forwardEvent)]; - } else if (selector == @selector(executeWithViewName:attributes:placements:config:callbacks:filteredUser:)) { + } else if (selector == @selector(executeWithIdentifier:attributes:embeddedViews:config:callbacks:filteredUser:)) { if (kitFilter.shouldFilter) { return; } MParticleUser *currentUser = [[[MParticle sharedInstance] identity] currentUser]; FilteredMParticleUser *filteredUser = [[FilteredMParticleUser alloc] initWithMParticleUser:currentUser kitConfiguration:self.kitConfigurations[kitRegister.code]]; - execStatus = [kitRegister.wrapperInstance executeWithViewName:parameters[0] - attributes:parameters[1] - placements:parameters[2] - config:parameters[3] - callbacks:parameters[4] - filteredUser:filteredUser]; + execStatus = [kitRegister.wrapperInstance executeWithIdentifier:parameters[0] + attributes:parameters[1] + embeddedViews:parameters[2] + config:parameters[3] + callbacks:parameters[4] + filteredUser:filteredUser]; } else if (selector == @selector(logScreen:)) { if (!kitFilter.forwardEvent || ![kitFilter.forwardEvent isKindOfClass:[MPEvent class]]) { return; diff --git a/mParticle-Apple-SDK/MPRokt.m b/mParticle-Apple-SDK/MPRokt.m index c8a19e1e2..284af7be9 100644 --- a/mParticle-Apple-SDK/MPRokt.m +++ b/mParticle-Apple-SDK/MPRokt.m @@ -30,12 +30,12 @@ @implementation MPRokt - (void)selectPlacements:(NSString *)identifier attributes:(NSDictionary * _Nullable)attributes { - [self selectPlacements:identifier attributes:attributes placements:nil config:nil callbacks:nil]; + [self selectPlacements:identifier attributes:attributes embeddedViews:nil config:nil callbacks:nil]; } - (void)selectPlacements:(NSString *)identifier attributes:(NSDictionary * _Nullable)attributes - placements:(NSDictionary * _Nullable)placements + embeddedViews:(NSDictionary * _Nullable)embeddedViews config:(MPRoktConfig * _Nullable)config callbacks:(MPRoktEventCallback * _Nullable)callbacks { MParticleUser *currentUser = [MParticle sharedInstance].identity.currentUser; @@ -68,11 +68,11 @@ - (void)selectPlacements:(NSString *)identifier MPForwardQueueParameters *queueParameters = [[MPForwardQueueParameters alloc] init]; [queueParameters addParameter:identifier]; [queueParameters addParameter:[self confirmSandboxAttribute:mappedAttributes]]; - [queueParameters addParameter:placements]; + [queueParameters addParameter:embeddedViews]; [queueParameters addParameter:config]; [queueParameters addParameter:callbacks]; - SEL roktSelector = @selector(executeWithViewName:attributes:placements:config:callbacks:filteredUser:); + SEL roktSelector = @selector(executeWithIdentifier:attributes:embeddedViews:config:callbacks:filteredUser:); [[MParticle sharedInstance].kitContainer_PRIVATE forwardSDKCall:roktSelector event:nil parameters:queueParameters