Skip to content

Commit

Permalink
changes for alias
Browse files Browse the repository at this point in the history
  • Loading branch information
ruchiramoitra committed Apr 9, 2020
1 parent c2831cd commit eb44395
Show file tree
Hide file tree
Showing 4 changed files with 36 additions and 6 deletions.
6 changes: 3 additions & 3 deletions Example/Rudder/_AppDelegate.m
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@
#import "_AppDelegate.h"
#import <Rudder/Rudder.h>

static NSString *DATA_PLANE_URL = @"https://37815361.ngrok.io";
static NSString *CONTROL_PLANE_URL = @"https://37815361.ngrok.io";
static NSString *WRITE_KEY = @"1ZTkZgCMnZyXeWsFbcjGsOx4jnv";
static NSString *DATA_PLANE_URL = @"https://94e4b60b.ngrok.io";
static NSString *CONTROL_PLANE_URL = @"https://94e4b60b.ngrok.io";
static NSString *WRITE_KEY = @"1aJ7rcn6Q7Ck1uOTfLjDd4AShrT";

@implementation _AppDelegate

Expand Down
1 change: 1 addition & 0 deletions Example/Rudder/_ViewController.m
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ - (void)viewDidLoad
[[RudderClient sharedInstance] reset];

[[RudderClient sharedInstance] track:@"reset_track_event"];
[[RudderClient sharedInstance] alias:@"Ruchira_new"];
}

- (void)didReceiveMemoryWarning
Expand Down
33 changes: 30 additions & 3 deletions Rudder/Classes/RudderClient.m
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
#import "EventRepository.h"
#import "RudderMessageBuilder.h"
#import "RudderElementCache.h"
#import "RudderLogger.h"

static RudderClient *_instance = nil;
static EventRepository *_repository = nil;
Expand Down Expand Up @@ -116,6 +117,9 @@ - (void)group:(NSString *)groupId traits:(NSDictionary<NSString *,NSObject *> *)

-(void)aliasWithMessage:(RudderMessage *)message {
if(_repository != nil && message !=nil){
// update cached traits and persist
[RudderElementCache updateTraitsDict:message.context.traits];
[RudderElementCache persistTraits];
message.type = @"alias";
[_repository dump:message];
}
Expand All @@ -128,6 +132,21 @@ -(void) aliasWithBuilder:(RudderMessageBuilder *)builder {
- (void)alias:(NSString *)newId {
RudderMessageBuilder *builder =[[RudderMessageBuilder alloc] init];
[builder setUserId:newId];
RudderContext *rc = [RudderElementCache getContext];
[RudderLogger logDebug:@"Ruchira traits"];
[RudderLogger logDebug:[[NSString alloc] initWithFormat:@"dump: %@", rc]];

NSMutableDictionary<NSString*,NSObject*>* traits = rc.traits;
[RudderLogger logDebug:[[NSString alloc] initWithFormat:@"dump: %@", traits]];

NSObject *prevId = [traits objectForKey:@"anonymousId"];
NSString *stringPrevId = [NSString stringWithFormat:@"%@", prevId];

[builder setPreviousId:stringPrevId];
RudderTraits* traitsCopy = [[RudderTraits alloc] init];
[traitsCopy setUserId:newId];
[builder setTraits:traitsCopy];

[self aliasWithMessage:[builder build]];


Expand All @@ -138,12 +157,20 @@ - (void)alias:(NSString *)newId options:(NSDictionary<NSString *,NSObject *> *)o
[builder setUserId:newId];

RudderContext *rc = [RudderElementCache getContext];
[RudderLogger logDebug:@"Ruchira traits"];
[RudderLogger logDebug:[[NSString alloc] initWithFormat:@"dump: %@", rc]];
NSMutableDictionary<NSString*,NSObject*>* traits = rc.traits;
[RudderLogger logDebug:[[NSString alloc] initWithFormat:@"dump: %@", traits]];
NSObject *prevId = [traits objectForKey:@"userId"];

NSString *prevId = [traits objectForKey:@"userId"].description;

[builder setPreviousId:prevId];
NSString *stringPrevId = [NSString stringWithFormat:@"%@", prevId];

[builder setPreviousId:stringPrevId];
RudderOption *optionsObj = [[RudderOption alloc] initWithDict:options];
[builder setRudderOption:optionsObj];
RudderTraits* traitsCopy = [[RudderTraits alloc] init];
[traitsCopy setUserId:newId];
[builder setTraits:traitsCopy];
[self aliasWithMessage:[builder build]];


Expand Down
2 changes: 2 additions & 0 deletions Rudder/Classes/RudderMessage.m
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ - (instancetype)init
_channel = @"mobile";
_context = [RudderElementCache getContext];
_originalTimestamp = [Utils getTimestamp];
_previousId = [[NSString alloc]init];
_anonymousId = [[NSString alloc] initWithFormat:@"%@", [_context.traits objectForKey:@"anonymousId"]];
NSObject *userIdObj = [_context.traits objectForKey:@"userId"];
if (userIdObj != nil) {
Expand All @@ -38,6 +39,7 @@ - (instancetype)init
[tempDict setValue:_type forKey:@"type"];
[tempDict setValue:_action forKey:@"action"];
[tempDict setValue:_originalTimestamp forKey:@"originalTimestamp"];
[tempDict setValue:_previousId forKey:@"previousId"];
[tempDict setValue:_anonymousId forKey:@"anonymousId"];
if (_userId != nil) {
[tempDict setValue:_userId forKey:@"userId"];
Expand Down

0 comments on commit eb44395

Please sign in to comment.