Skip to content

Commit

Permalink
removing tracking page ids in the inappmessage
Browse files Browse the repository at this point in the history
  • Loading branch information
emawby committed Dec 23, 2020
1 parent a8051e4 commit 1374c71
Show file tree
Hide file tree
Showing 4 changed files with 2 additions and 59 deletions.
5 changes: 0 additions & 5 deletions iOS_SDK/OneSignalSDK/Source/OSInAppMessage.h
Original file line number Diff line number Diff line change
Expand Up @@ -58,11 +58,6 @@ NS_ASSUME_NONNULL_BEGIN
- (void)clearClickIds;
- (void)addClickId:(NSString *)clickId;

- (NSSet<NSString *> *)getViewedPageIds;
- (void)clearPageIds;
- (void)addPageId:(NSString *)pageId;
- (void)removePageId:(NSString *)pageId;

@end

NS_ASSUME_NONNULL_END
22 changes: 0 additions & 22 deletions iOS_SDK/OneSignalSDK/Source/OSInAppMessage.m
Original file line number Diff line number Diff line change
Expand Up @@ -74,28 +74,6 @@ - (void)addClickId:(NSString *)clickId {
return _clickedClickIds;
}

- (void)clearPageIds {
_viewedPageIds = [NSMutableSet new];
}

- (void)addPageId:(NSString *)pageId {
if (!_viewedPageIds) {
_viewedPageIds = [NSMutableSet new];
}
[_viewedPageIds addObject:pageId];
}

- (void)removePageId:(NSString *)pageId {
if (!_viewedPageIds) {
return;
}
[_viewedPageIds removeObject:pageId];
}

- (NSSet<NSString *> *)getViewedPageIds {
return _viewedPageIds;
}

+ (instancetype)instanceWithData:(NSData *)data {
NSError *error;
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:0 error:&error];
Expand Down
7 changes: 2 additions & 5 deletions iOS_SDK/OneSignalSDK/Source/OSMessagingController.m
Original file line number Diff line number Diff line change
Expand Up @@ -296,13 +296,12 @@ - (void)messageViewPageImpressionRequest:(OSInAppMessage *)message withPageId:(N
}

NSString *messagePrefixedPageId = [message.messageId stringByAppendingString:pageId];
if ([[message getViewedPageIds] containsObject:pageId] || [self.viewedPageIDs containsObject:messagePrefixedPageId]) {

if ([self.viewedPageIDs containsObject:messagePrefixedPageId]) {
[OneSignal onesignal_Log:ONE_S_LL_VERBOSE message:[NSString stringWithFormat:@"Page Impression already sent. id: %@",pageId]];
return;
}

[message addPageId:pageId];
[self.viewedPageIDs addObject:messagePrefixedPageId];

[OneSignal onesignal_Log:ONE_S_LL_VERBOSE message:[NSString stringWithFormat:@"Page Impression Request page id: %@",pageId]];
Expand All @@ -324,7 +323,6 @@ - (void)messageViewPageImpressionRequest:(OSInAppMessage *)message withPageId:(N
NSString *errorMessage = [NSString stringWithFormat:@"In App Message with message id: %@ and page id: %@, failed POST page impression update with error: %@", message.messageId, pageId, error];
[OneSignal onesignal_Log:ONE_S_LL_ERROR message:errorMessage];
if (message) {
[message removePageId:pageId];
[self.viewedPageIDs removeObject:messagePrefixedPageId];
}
}];
Expand Down Expand Up @@ -429,7 +427,6 @@ - (void)setDataForRedisplay:(OSInAppMessage *)message {
[self.viewedPageIDs removeAllObjects];
[OneSignalUserDefaults.initStandard saveSetForKey:OS_IAM_PAGE_IMPRESSIONED_SET_KEY withValue:self.viewedPageIDs];
[message clearClickIds];
[message clearPageIds];
return;
}
}
Expand Down
27 changes: 0 additions & 27 deletions iOS_SDK/OneSignalSDK/UnitTests/InAppMessagingTests.m
Original file line number Diff line number Diff line change
Expand Up @@ -305,33 +305,6 @@ - (void)testCorrectlyParsedPageChangeBridgeEvent {
XCTAssertEqualObjects(testPageChangeEvent.pageChange.page.pageId, @"test_id");
}

- (void)testCachePageChangeIds {
NSString *pageId1 = @"page_id_1";
NSString *pageId2 = @"page_id_2";
XCTAssertFalse([[testMessageRedisplay getViewedPageIds] containsObject:pageId1]);
XCTAssertFalse([[testMessageRedisplay getViewedPageIds] containsObject:pageId2]);

[testMessageRedisplay addPageId:pageId1];
XCTAssertTrue([[testMessageRedisplay getViewedPageIds] containsObject:pageId1]);
XCTAssertFalse([[testMessageRedisplay getViewedPageIds] containsObject:pageId2]);

[testMessageRedisplay clearPageIds];
XCTAssertFalse([[testMessageRedisplay getViewedPageIds] containsObject:pageId1]);
XCTAssertFalse([[testMessageRedisplay getViewedPageIds] containsObject:pageId2]);

// Test on a IAM without redisplay
XCTAssertFalse([[testMessage getViewedPageIds] containsObject:pageId1]);
XCTAssertFalse([[testMessage getViewedPageIds] containsObject:pageId2]);

[testMessage addPageId:pageId1];
XCTAssertTrue([[testMessage getViewedPageIds] containsObject:pageId1]);
XCTAssertFalse([[testMessage getViewedPageIds] containsObject:pageId2]);

[testMessage clearPageIds];
XCTAssertFalse([[testMessage getViewedPageIds] containsObject:pageId1]);
XCTAssertFalse([[testMessage getViewedPageIds] containsObject:pageId2]);
}

- (void)testCorrectlyParsedRenderingCompleteBridgeEvent {
let type = [OSInAppMessageBridgeEvent instanceWithJson:@{@"type" : @"rendering_complete"}].type;
XCTAssertEqual(type, OSInAppMessageBridgeEventTypePageRenderingComplete);
Expand Down

0 comments on commit 1374c71

Please sign in to comment.