@@ -40,26 +40,21 @@ + (ADJCriteoProduct *) productWithId:(NSString *)productId
4040@implementation ADJCriteo
4141
4242static NSString * hashEmailInternal;
43+ static NSString * checkInDateInternal;
44+ static NSString * checkOutDateInternal;
4345
4446+ (id <ADJLogger>) logger {
4547 return ADJAdjustFactory.logger ;
4648}
4749
48- + (void )injectHashEmail : (ADJEvent *)event {
49- if (hashEmailInternal == nil ) {
50- return ;
51- }
52- [event addPartnerParameter: @" criteo_email_hash" value: hashEmailInternal];
53- }
54-
5550+ (void )injectViewSearchIntoEvent : (ADJEvent *)event
5651 checkInDate : (NSString *)din
5752 checkOutDate : (NSString *)dout
5853{
5954 [event addPartnerParameter: @" din" value: din];
6055 [event addPartnerParameter: @" dout" value: dout];
6156
62- [ADJCriteo injectHashEmail : event];
57+ [ADJCriteo injectOptionalParams : event];
6358}
6459
6560+ (void )injectViewListingIntoEvent : (ADJEvent *)event
@@ -71,7 +66,7 @@ + (void)injectViewListingIntoEvent:(ADJEvent *)event
7166 NSString * jsonProductsIds = [ADJCriteo createCriteoVLFromProducts: productIds];
7267 [event addPartnerParameter: @" criteo_p" value: jsonProductsIds];
7368
74- [ADJCriteo injectHashEmail : event];
69+ [ADJCriteo injectOptionalParams : event];
7570}
7671
7772+ (void )injectViewProductIntoEvent : (ADJEvent *)event
@@ -81,7 +76,7 @@ + (void)injectViewProductIntoEvent:(ADJEvent *)event
8176 [event addPartnerParameter: @" customer_id" value: customerId];
8277 [event addPartnerParameter: @" criteo_p" value: productId];
8378
84- [ADJCriteo injectHashEmail : event];
79+ [ADJCriteo injectOptionalParams : event];
8580}
8681
8782+ (void )injectCartIntoEvent : (ADJEvent *)event
@@ -93,19 +88,21 @@ + (void)injectCartIntoEvent:(ADJEvent *)event
9388 NSString * jsonProducts = [ADJCriteo createCriteoVBFromProducts: products];
9489 [event addPartnerParameter: @" criteo_p" value: jsonProducts];
9590
96- [ADJCriteo injectHashEmail : event];
91+ [ADJCriteo injectOptionalParams : event];
9792}
9893
9994+ (void )injectTransactionConfirmedIntoEvent : (ADJEvent *)event
10095 products : (NSArray *)products
96+ transactionId : (NSString *)transactionId
10197 customerId : (NSString *)customerId
10298{
10399 [event addPartnerParameter: @" customer_id" value: customerId];
100+ [event addPartnerParameter: @" transaction_id" value: transactionId];
104101
105102 NSString * jsonProducts = [ADJCriteo createCriteoVBFromProducts: products];
106103 [event addPartnerParameter: @" criteo_p" value: jsonProducts];
107104
108- [ADJCriteo injectHashEmail : event];
105+ [ADJCriteo injectOptionalParams : event];
109106}
110107
111108+ (void )injectUserLevelIntoEvent : (ADJEvent *)event
@@ -117,7 +114,7 @@ + (void)injectUserLevelIntoEvent:(ADJEvent *)event
117114 NSString * uiLevelString = [NSString stringWithFormat: @" %lu " ,(unsigned long )uiLevel];
118115 [event addPartnerParameter: @" ui_level" value: uiLevelString];
119116
120- [ADJCriteo injectHashEmail : event];
117+ [ADJCriteo injectOptionalParams : event];
121118}
122119
123120+ (void )injectUserStatusIntoEvent : (ADJEvent *)event
@@ -127,7 +124,7 @@ + (void)injectUserStatusIntoEvent:(ADJEvent *)event
127124 [event addPartnerParameter: @" customer_id" value: customerId];
128125 [event addPartnerParameter: @" ui_status" value: uiStatus];
129126
130- [ADJCriteo injectHashEmail : event];
127+ [ADJCriteo injectOptionalParams : event];
131128}
132129
133130+ (void )injectAchievementUnlockedIntoEvent : (ADJEvent *)event
@@ -137,7 +134,7 @@ + (void)injectAchievementUnlockedIntoEvent:(ADJEvent *)event
137134 [event addPartnerParameter: @" customer_id" value: customerId];
138135 [event addPartnerParameter: @" ui_achievmnt" value: uiAchievement];
139136
140- [ADJCriteo injectHashEmail : event];
137+ [ADJCriteo injectOptionalParams : event];
141138}
142139
143140+ (void )injectCustomEventIntoEvent : (ADJEvent *)event
@@ -147,7 +144,7 @@ + (void)injectCustomEventIntoEvent:(ADJEvent *)event
147144 [event addPartnerParameter: @" customer_id" value: customerId];
148145 [event addPartnerParameter: @" ui_data" value: uiData];
149146
150- [ADJCriteo injectHashEmail : event];
147+ [ADJCriteo injectOptionalParams : event];
151148}
152149
153150+ (void )injectCustomEvent2IntoEvent : (ADJEvent *)event
@@ -161,14 +158,41 @@ + (void)injectCustomEvent2IntoEvent:(ADJEvent *)event
161158 NSString * uiData3String = [NSString stringWithFormat: @" %lu " ,(unsigned long )uiData3];
162159 [event addPartnerParameter: @" ui_data3" value: uiData3String];
163160
164- [ADJCriteo injectHashEmail : event];
161+ [ADJCriteo injectOptionalParams : event];
165162}
166163
167164+ (void )injectHashedEmailIntoCriteoEvents : (NSString *)hashEmail
168165{
169166 hashEmailInternal = hashEmail;
170167}
171168
169+ + (void )injectViewSearchDatesIntoCriteoEvents : (NSString *)checkInDate
170+ checkOutDate : (NSString *)checkOutDate
171+ {
172+ checkInDateInternal = checkInDate;
173+ checkOutDateInternal = checkOutDate;
174+ }
175+
176+ + (void )injectOptionalParams : (ADJEvent *)event {
177+ [ADJCriteo injectHashEmail: event];
178+ [ADJCriteo injectSearchDates: event];
179+ }
180+
181+ + (void )injectHashEmail : (ADJEvent *)event {
182+ if (hashEmailInternal == nil ) {
183+ return ;
184+ }
185+ [event addPartnerParameter: @" criteo_email_hash" value: hashEmailInternal];
186+ }
187+
188+ + (void )injectSearchDates : (ADJEvent *)event {
189+ if (checkInDateInternal == nil || checkOutDateInternal == nil ) {
190+ return ;
191+ }
192+ [event addPartnerParameter: @" din" value: checkInDateInternal];
193+ [event addPartnerParameter: @" dout" value: checkOutDateInternal];
194+ }
195+
172196+ (NSString *) createCriteoVBFromProducts : (NSArray *) products
173197{
174198 if (products == nil ) {
0 commit comments