@snowplow/react-native-tracker 1.2.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -21,10 +21,9 @@
21
21
  #import "RNSnowplowTracker.h"
22
22
  #import "RNConfigUtils.h"
23
23
  #import "RNUtilities.h"
24
+ #import "NSDictionary+RNSP_TypeMethods.h"
24
25
 
25
26
  #import <SnowplowTracker/SPSnowplow.h>
26
- #import <SnowplowTracker/NSDictionary+SP_TypeMethods.h>
27
- #import <SnowplowTracker/SPUtilities.h>
28
27
  #import <SnowplowTracker/SPNetworkConfiguration.h>
29
28
  #import <SnowplowTracker/SPNetworkConnection.h>
30
29
  #import <SnowplowTracker/SPTrackerConfiguration.h>
@@ -61,23 +60,31 @@ RCT_EXPORT_METHOD(createTracker:
61
60
  NSDictionary *networkConfig =[argmap objectForKey:@"networkConfig"];
62
61
 
63
62
  // NetworkConfiguration
64
- NSString *method = [networkConfig sp_stringForKey:@"method" defaultValue:nil];
63
+ NSString *method = [networkConfig rnsp_stringForKey:@"method" defaultValue:nil];
65
64
  SPHttpMethod httpMethod = [@"get" isEqualToString:method] ? SPHttpMethodGet : SPHttpMethodPost;
66
65
  SPNetworkConfiguration *networkConfiguration = [[SPNetworkConfiguration alloc] initWithEndpoint:networkConfig[@"endpoint"] method:httpMethod];
66
+ NSString *customPostPath = [networkConfig rnsp_stringForKey:@"customPostPath" defaultValue:nil];
67
+ if (customPostPath != nil) {
68
+ networkConfiguration.customPostPath = customPostPath;
69
+ }
70
+ NSObject *requestHeaders = [networkConfig objectForKey:@"requestHeaders"];
71
+ if (requestHeaders != nil && [requestHeaders isKindOfClass:NSDictionary.class]) {
72
+ networkConfiguration.requestHeaders = (NSDictionary *)requestHeaders;
73
+ }
67
74
 
68
75
  // Configurations
69
76
  NSMutableArray *controllers = [NSMutableArray array];
70
77
 
71
78
  // TrackerConfiguration
72
79
  NSObject *trackerArg = [argmap objectForKey:@"trackerConfig"];
73
- if (trackerArg !=nil && [trackerArg isKindOfClass:NSDictionary.class]) {
80
+ if (trackerArg != nil && [trackerArg isKindOfClass:NSDictionary.class]) {
74
81
  SPTrackerConfiguration *trackerConfiguration = [RNConfigUtils mkTrackerConfig:(NSDictionary *)trackerArg];
75
82
  [controllers addObject:trackerConfiguration];
76
83
  }
77
84
 
78
85
  // SessionConfiguration
79
86
  NSObject *sessionArg = [argmap objectForKey:@"sessionConfig"];
80
- if (sessionArg !=nil && [sessionArg isKindOfClass:NSDictionary.class]) {
87
+ if (sessionArg != nil && [sessionArg isKindOfClass:NSDictionary.class]) {
81
88
  SPSessionConfiguration *sessionConfiguration = [RNConfigUtils mkSessionConfig:(NSDictionary *)sessionArg];
82
89
  [controllers addObject:sessionConfiguration];
83
90
  }
@@ -124,7 +131,7 @@ RCT_EXPORT_METHOD(removeTracker: (NSDictionary *)details
124
131
  resolver:(RCTPromiseResolveBlock)resolve
125
132
  rejecter:(RCTPromiseRejectBlock)reject) {
126
133
  NSString *namespace = [details objectForKey:@"tracker"];
127
- id<SPTrackerController> trackerController = [SPSnowplow trackerByNamespace:namespace];
134
+ id<SPTrackerController> trackerController = [self trackerByNamespace:namespace];
128
135
  BOOL removed = [SPSnowplow removeTracker:trackerController];
129
136
  resolve(@(removed));
130
137
  }
@@ -139,7 +146,7 @@ RCT_EXPORT_METHOD(trackSelfDescribingEvent:
139
146
  resolver:(RCTPromiseResolveBlock)resolve
140
147
  rejecter:(RCTPromiseRejectBlock)reject) {
141
148
  NSString *namespace = [details objectForKey:@"tracker"];
142
- id<SPTrackerController> trackerController = [SPSnowplow trackerByNamespace:namespace];
149
+ id<SPTrackerController> trackerController = [self trackerByNamespace:namespace];
143
150
 
144
151
  if (trackerController != nil) {
145
152
  NSDictionary *argmap = [details objectForKey:@"eventData"];
@@ -163,25 +170,25 @@ RCT_EXPORT_METHOD(trackStructuredEvent:
163
170
  resolver:(RCTPromiseResolveBlock)resolve
164
171
  rejecter:(RCTPromiseRejectBlock)reject) {
165
172
  NSString *namespace = [details objectForKey:@"tracker"];
166
- id<SPTrackerController> trackerController = [SPSnowplow trackerByNamespace:namespace];
173
+ id<SPTrackerController> trackerController = [self trackerByNamespace:namespace];
167
174
 
168
175
  if (trackerController != nil) {
169
176
  NSDictionary *argmap = [details objectForKey:@"eventData"];
170
177
  NSArray<NSDictionary *> *contexts = [details objectForKey:@"contexts"];
171
178
 
172
- NSString *category = [argmap sp_stringForKey:@"category" defaultValue:nil];
173
- NSString *action = [argmap sp_stringForKey:@"action" defaultValue:nil];
179
+ NSString *category = [argmap rnsp_stringForKey:@"category" defaultValue:nil];
180
+ NSString *action = [argmap rnsp_stringForKey:@"action" defaultValue:nil];
174
181
  SPStructured *event = [[SPStructured alloc] initWithCategory:category
175
182
  action:action];
176
- NSString *label = [argmap sp_stringForKey:@"label" defaultValue:nil];
183
+ NSString *label = [argmap rnsp_stringForKey:@"label" defaultValue:nil];
177
184
  if (label) {
178
185
  event.label = label;
179
186
  }
180
- NSString *property = [argmap sp_stringForKey:@"property" defaultValue:nil];
187
+ NSString *property = [argmap rnsp_stringForKey:@"property" defaultValue:nil];
181
188
  if (property) {
182
189
  event.property = property;
183
190
  }
184
- NSNumber *value = [argmap sp_numberForKey:@"value" defaultValue:nil];
191
+ NSNumber *value = [argmap rnsp_numberForKey:@"value" defaultValue:nil];
185
192
  if (label) {
186
193
  event.value = value;
187
194
  }
@@ -200,14 +207,14 @@ RCT_EXPORT_METHOD(trackScreenViewEvent:
200
207
  resolver:(RCTPromiseResolveBlock)resolve
201
208
  rejecter:(RCTPromiseRejectBlock)reject) {
202
209
  NSString *namespace = [details objectForKey:@"tracker"];
203
- id<SPTrackerController> trackerController = [SPSnowplow trackerByNamespace:namespace];
210
+ id<SPTrackerController> trackerController = [self trackerByNamespace:namespace];
204
211
 
205
212
  if (trackerController != nil) {
206
213
  NSDictionary *argmap = [details objectForKey:@"eventData"];
207
214
  NSArray<NSDictionary *> *contexts = [details objectForKey:@"contexts"];
208
215
 
209
- NSString *screenName = [argmap sp_stringForKey:@"name" defaultValue:nil];
210
- NSString *screenId = [argmap sp_stringForKey:@"id" defaultValue:nil];
216
+ NSString *screenName = [argmap rnsp_stringForKey:@"name" defaultValue:nil];
217
+ NSString *screenId = [argmap rnsp_stringForKey:@"id" defaultValue:nil];
211
218
  NSUUID *screenUuid = [[NSUUID alloc] initWithUUIDString:screenId];
212
219
  if (screenId != nil && screenUuid == nil) {
213
220
  NSError* error = [NSError errorWithDomain:@"SnowplowTracker" code:200 userInfo:nil];
@@ -216,23 +223,23 @@ RCT_EXPORT_METHOD(trackScreenViewEvent:
216
223
  SPScreenView *event = [[SPScreenView alloc] initWithName:screenName
217
224
  screenId:screenUuid];
218
225
 
219
- NSString *type = [argmap sp_stringForKey:@"type" defaultValue:nil];
226
+ NSString *type = [argmap rnsp_stringForKey:@"type" defaultValue:nil];
220
227
  if (type) {
221
228
  event.type = type;
222
229
  }
223
- NSString *previousName = [argmap sp_stringForKey:@"previousName" defaultValue:nil];
230
+ NSString *previousName = [argmap rnsp_stringForKey:@"previousName" defaultValue:nil];
224
231
  if (previousName) {
225
232
  event.previousName = previousName;
226
233
  }
227
- NSString *previousId = [argmap sp_stringForKey:@"previousId" defaultValue:nil];
234
+ NSString *previousId = [argmap rnsp_stringForKey:@"previousId" defaultValue:nil];
228
235
  if (previousId) {
229
236
  event.previousId = previousId;
230
237
  }
231
- NSString *previousType = [argmap sp_stringForKey:@"previousType" defaultValue:nil];
238
+ NSString *previousType = [argmap rnsp_stringForKey:@"previousType" defaultValue:nil];
232
239
  if (previousType) {
233
240
  event.previousType = previousType;
234
241
  }
235
- NSString *transitionType = [argmap sp_stringForKey:@"transitionType" defaultValue:nil];
242
+ NSString *transitionType = [argmap rnsp_stringForKey:@"transitionType" defaultValue:nil];
236
243
  if (transitionType) {
237
244
  event.transitionType = transitionType;
238
245
  }
@@ -251,20 +258,20 @@ RCT_EXPORT_METHOD(trackPageViewEvent:
251
258
  resolver:(RCTPromiseResolveBlock)resolve
252
259
  rejecter:(RCTPromiseRejectBlock)reject) {
253
260
  NSString *namespace = [details objectForKey:@"tracker"];
254
- id<SPTrackerController> trackerController = [SPSnowplow trackerByNamespace:namespace];
261
+ id<SPTrackerController> trackerController = [self trackerByNamespace:namespace];
255
262
 
256
263
  if (trackerController != nil) {
257
264
  NSDictionary *argmap = [details objectForKey:@"eventData"];
258
265
  NSArray<NSDictionary *> *contexts = [details objectForKey:@"contexts"];
259
266
 
260
- NSString *pageUrl = [argmap sp_stringForKey:@"pageUrl" defaultValue:nil];
267
+ NSString *pageUrl = [argmap rnsp_stringForKey:@"pageUrl" defaultValue:nil];
261
268
  SPPageView *event = [[SPPageView alloc] initWithPageUrl:pageUrl];
262
269
 
263
- NSString *pageTitle = [argmap sp_stringForKey:@"pageTitle" defaultValue:nil];
270
+ NSString *pageTitle = [argmap rnsp_stringForKey:@"pageTitle" defaultValue:nil];
264
271
  if (pageTitle) {
265
272
  event.pageTitle = pageTitle;
266
273
  }
267
- NSString *referrer = [argmap sp_stringForKey:@"referrer" defaultValue:nil];
274
+ NSString *referrer = [argmap rnsp_stringForKey:@"referrer" defaultValue:nil];
268
275
  if (referrer) {
269
276
  event.referrer = referrer;
270
277
  }
@@ -283,19 +290,19 @@ RCT_EXPORT_METHOD(trackTimingEvent:
283
290
  resolver:(RCTPromiseResolveBlock)resolve
284
291
  rejecter:(RCTPromiseRejectBlock)reject) {
285
292
  NSString *namespace = [details objectForKey:@"tracker"];
286
- id<SPTrackerController> trackerController = [SPSnowplow trackerByNamespace:namespace];
293
+ id<SPTrackerController> trackerController = [self trackerByNamespace:namespace];
287
294
 
288
295
  if (trackerController != nil) {
289
296
  NSDictionary *argmap = [details objectForKey:@"eventData"];
290
297
  NSArray<NSDictionary *> *contexts = [details objectForKey:@"contexts"];
291
298
 
292
- NSString *category = [argmap sp_stringForKey:@"category" defaultValue:nil];
293
- NSString *variable = [argmap sp_stringForKey:@"variable" defaultValue:nil];
294
- NSNumber *timing = [argmap sp_numberForKey:@"timing" defaultValue:nil];
299
+ NSString *category = [argmap rnsp_stringForKey:@"category" defaultValue:nil];
300
+ NSString *variable = [argmap rnsp_stringForKey:@"variable" defaultValue:nil];
301
+ NSNumber *timing = [argmap rnsp_numberForKey:@"timing" defaultValue:nil];
295
302
  SPTiming *event = [[SPTiming alloc] initWithCategory:category
296
303
  variable:variable
297
304
  timing:timing];
298
- NSString *label = [argmap sp_stringForKey:@"label" defaultValue:nil];
305
+ NSString *label = [argmap rnsp_stringForKey:@"label" defaultValue:nil];
299
306
  if (label) {
300
307
  event.label = label;
301
308
  }
@@ -314,24 +321,24 @@ RCT_EXPORT_METHOD(trackConsentGrantedEvent:
314
321
  resolver:(RCTPromiseResolveBlock)resolve
315
322
  rejecter:(RCTPromiseRejectBlock)reject) {
316
323
  NSString *namespace = [details objectForKey:@"tracker"];
317
- id<SPTrackerController> trackerController = [SPSnowplow trackerByNamespace:namespace];
324
+ id<SPTrackerController> trackerController = [self trackerByNamespace:namespace];
318
325
 
319
326
  if (trackerController != nil) {
320
327
  NSDictionary *argmap = [details objectForKey:@"eventData"];
321
328
  NSArray<NSDictionary *> *contexts = [details objectForKey:@"contexts"];
322
329
 
323
- NSString *expiry = [argmap sp_stringForKey:@"expiry" defaultValue:nil];
324
- NSString *documentId = [argmap sp_stringForKey:@"documentId" defaultValue:nil];
325
- NSString *version = [argmap sp_stringForKey:@"version" defaultValue:nil];
330
+ NSString *expiry = [argmap rnsp_stringForKey:@"expiry" defaultValue:nil];
331
+ NSString *documentId = [argmap rnsp_stringForKey:@"documentId" defaultValue:nil];
332
+ NSString *version = [argmap rnsp_stringForKey:@"version" defaultValue:nil];
326
333
  SPConsentGranted *event = [[SPConsentGranted alloc] initWithExpiry:expiry
327
334
  documentId:documentId
328
335
  version:version];
329
336
 
330
- NSString *name = [argmap sp_stringForKey:@"name" defaultValue:nil];
337
+ NSString *name = [argmap rnsp_stringForKey:@"name" defaultValue:nil];
331
338
  if (name) {
332
339
  event.name = name;
333
340
  }
334
- NSString *documentDescription = [argmap sp_stringForKey:@"documentDescription" defaultValue:nil];
341
+ NSString *documentDescription = [argmap rnsp_stringForKey:@"documentDescription" defaultValue:nil];
335
342
  if (documentDescription) {
336
343
  event.documentDescription = documentDescription;
337
344
  }
@@ -350,7 +357,7 @@ RCT_EXPORT_METHOD(trackConsentWithdrawnEvent:
350
357
  resolver:(RCTPromiseResolveBlock)resolve
351
358
  rejecter:(RCTPromiseRejectBlock)reject) {
352
359
  NSString *namespace = [details objectForKey:@"tracker"];
353
- id<SPTrackerController> trackerController = [SPSnowplow trackerByNamespace:namespace];
360
+ id<SPTrackerController> trackerController = [self trackerByNamespace:namespace];
354
361
 
355
362
  if (trackerController != nil) {
356
363
  NSDictionary *argmap = [details objectForKey:@"eventData"];
@@ -358,17 +365,17 @@ RCT_EXPORT_METHOD(trackConsentWithdrawnEvent:
358
365
 
359
366
  SPConsentWithdrawn *event = [SPConsentWithdrawn new];
360
367
 
361
- BOOL all = [argmap sp_boolForKey:@"all" defaultValue:nil];
368
+ BOOL all = [argmap rnsp_boolForKey:@"all" defaultValue:nil];
362
369
  event.all = all;
363
- NSString *documentId = [argmap sp_stringForKey:@"documentId" defaultValue:nil];
370
+ NSString *documentId = [argmap rnsp_stringForKey:@"documentId" defaultValue:nil];
364
371
  event.documentId = documentId;
365
- NSString *version = [argmap sp_stringForKey:@"version" defaultValue:nil];
372
+ NSString *version = [argmap rnsp_stringForKey:@"version" defaultValue:nil];
366
373
  event.version = version;
367
- NSString *name = [argmap sp_stringForKey:@"name" defaultValue:nil];
374
+ NSString *name = [argmap rnsp_stringForKey:@"name" defaultValue:nil];
368
375
  if (name) {
369
376
  event.name = name;
370
377
  }
371
- NSString *documentDescription = [argmap sp_stringForKey:@"documentDescription" defaultValue:nil];
378
+ NSString *documentDescription = [argmap rnsp_stringForKey:@"documentDescription" defaultValue:nil];
372
379
  if (documentDescription) {
373
380
  event.documentDescription = documentDescription;
374
381
  }
@@ -387,34 +394,34 @@ RCT_EXPORT_METHOD(trackEcommerceTransactionEvent:
387
394
  resolver:(RCTPromiseResolveBlock)resolve
388
395
  rejecter:(RCTPromiseRejectBlock)reject) {
389
396
  NSString *namespace = [details objectForKey:@"tracker"];
390
- id<SPTrackerController> trackerController = [SPSnowplow trackerByNamespace:namespace];
397
+ id<SPTrackerController> trackerController = [self trackerByNamespace:namespace];
391
398
 
392
399
  if (trackerController != nil) {
393
400
  NSDictionary *argmap = [details objectForKey:@"eventData"];
394
401
  NSArray<NSDictionary *> *contexts = [details objectForKey:@"contexts"];
395
402
 
396
- NSString *orderId = [argmap sp_stringForKey:@"orderId" defaultValue:nil];
397
- NSNumber *totalValue = [argmap sp_numberForKey:@"totalValue" defaultValue:nil];
403
+ NSString *orderId = [argmap rnsp_stringForKey:@"orderId" defaultValue:nil];
404
+ NSNumber *totalValue = [argmap rnsp_numberForKey:@"totalValue" defaultValue:nil];
398
405
  NSArray *items = [argmap objectForKey:@"items"];
399
406
 
400
407
  NSMutableArray *transItems = [NSMutableArray new];
401
408
  for (NSDictionary* item in items) {
402
- NSString *sku = [item sp_stringForKey:@"sku" defaultValue:nil];
403
- NSNumber *price = [item sp_numberForKey:@"price" defaultValue:nil];
404
- NSNumber *quantity = [item sp_numberForKey:@"quantity" defaultValue:nil];
409
+ NSString *sku = [item rnsp_stringForKey:@"sku" defaultValue:nil];
410
+ NSNumber *price = [item rnsp_numberForKey:@"price" defaultValue:nil];
411
+ NSNumber *quantity = [item rnsp_numberForKey:@"quantity" defaultValue:nil];
405
412
  SPEcommerceItem *ecomItem = [[SPEcommerceItem alloc] initWithSku:sku
406
413
  price:price
407
414
  quantity:quantity];
408
415
 
409
- NSString *name = [argmap sp_stringForKey:@"name" defaultValue:nil];
416
+ NSString *name = [argmap rnsp_stringForKey:@"name" defaultValue:nil];
410
417
  if (name) {
411
418
  ecomItem.name = name;
412
419
  }
413
- NSString *category = [argmap sp_stringForKey:@"category" defaultValue:nil];
420
+ NSString *category = [argmap rnsp_stringForKey:@"category" defaultValue:nil];
414
421
  if (category) {
415
422
  ecomItem.category = category;
416
423
  }
417
- NSString *currency = [argmap sp_stringForKey:@"currency" defaultValue:nil];
424
+ NSString *currency = [argmap rnsp_stringForKey:@"currency" defaultValue:nil];
418
425
  if (currency) {
419
426
  ecomItem.currency = currency;
420
427
  }
@@ -440,16 +447,16 @@ RCT_EXPORT_METHOD(trackDeepLinkReceivedEvent:
440
447
  resolver:(RCTPromiseResolveBlock)resolve
441
448
  rejecter:(RCTPromiseRejectBlock)reject) {
442
449
  NSString *namespace = [details objectForKey:@"tracker"];
443
- id<SPTrackerController> trackerController = [SPSnowplow trackerByNamespace:namespace];
450
+ id<SPTrackerController> trackerController = [self trackerByNamespace:namespace];
444
451
 
445
452
  if (trackerController != nil) {
446
453
  NSDictionary *argmap = [details objectForKey:@"eventData"];
447
454
  NSArray<NSDictionary *> *contexts = [details objectForKey:@"contexts"];
448
455
 
449
- NSString *url = [argmap sp_stringForKey:@"url" defaultValue:nil];
456
+ NSString *url = [argmap rnsp_stringForKey:@"url" defaultValue:nil];
450
457
  SPDeepLinkReceived *event = [[SPDeepLinkReceived alloc] initWithUrl:url];
451
458
 
452
- NSString *referrer = [argmap sp_stringForKey:@"referrer" defaultValue:nil];
459
+ NSString *referrer = [argmap rnsp_stringForKey:@"referrer" defaultValue:nil];
453
460
  if (referrer) {
454
461
  event.referrer = referrer;
455
462
  }
@@ -468,15 +475,15 @@ RCT_EXPORT_METHOD(trackMessageNotificationEvent:
468
475
  resolver:(RCTPromiseResolveBlock)resolve
469
476
  rejecter:(RCTPromiseRejectBlock)reject) {
470
477
  NSString *namespace = [details objectForKey:@"tracker"];
471
- id<SPTrackerController> trackerController = [SPSnowplow trackerByNamespace:namespace];
478
+ id<SPTrackerController> trackerController = [self trackerByNamespace:namespace];
472
479
 
473
480
  if (trackerController != nil) {
474
481
  NSDictionary *argmap = [details objectForKey:@"eventData"];
475
482
  NSArray<NSDictionary *> *contexts = [details objectForKey:@"contexts"];
476
483
 
477
- NSString *title = [argmap sp_stringForKey:@"title" defaultValue:nil];
478
- NSString *body = [argmap sp_stringForKey:@"body" defaultValue:nil];
479
- NSString *triggerStr = [argmap sp_stringForKey:@"trigger" defaultValue:nil];
484
+ NSString *title = [argmap rnsp_stringForKey:@"title" defaultValue:nil];
485
+ NSString *body = [argmap rnsp_stringForKey:@"body" defaultValue:nil];
486
+ NSString *triggerStr = [argmap rnsp_stringForKey:@"trigger" defaultValue:nil];
480
487
  SPMessageNotificationTrigger trigger;
481
488
  if ([triggerStr isEqualToString:@"push"]) {
482
489
  trigger = SPMessageNotificationTriggerPush;
@@ -493,7 +500,7 @@ RCT_EXPORT_METHOD(trackMessageNotificationEvent:
493
500
  body: body
494
501
  trigger: trigger];
495
502
 
496
- NSString *action = [argmap sp_stringForKey:@"action" defaultValue:nil];
503
+ NSString *action = [argmap rnsp_stringForKey:@"action" defaultValue:nil];
497
504
  if (action) {
498
505
  event.action = action;
499
506
  }
@@ -501,9 +508,9 @@ RCT_EXPORT_METHOD(trackMessageNotificationEvent:
501
508
  if (attachmentsMap) {
502
509
  NSMutableArray *attachments = [NSMutableArray new];
503
510
  for (NSDictionary* attachmentMap in attachmentsMap) {
504
- NSString *identifier = [attachmentMap sp_stringForKey:@"identifier" defaultValue:nil];
505
- NSString *type = [attachmentMap sp_stringForKey:@"type" defaultValue:nil];
506
- NSString *url = [attachmentMap sp_stringForKey:@"url" defaultValue:nil];
511
+ NSString *identifier = [attachmentMap rnsp_stringForKey:@"identifier" defaultValue:nil];
512
+ NSString *type = [attachmentMap rnsp_stringForKey:@"type" defaultValue:nil];
513
+ NSString *url = [attachmentMap rnsp_stringForKey:@"url" defaultValue:nil];
507
514
  SPMessageNotificationAttachment *attachment = [[SPMessageNotificationAttachment alloc] initWithIdentifier:identifier
508
515
  type:type
509
516
  url:url];
@@ -515,47 +522,47 @@ RCT_EXPORT_METHOD(trackMessageNotificationEvent:
515
522
  if (bodyLocArgs) {
516
523
  event.bodyLocArgs = bodyLocArgs;
517
524
  }
518
- NSString *bodyLocKey = [argmap sp_stringForKey:@"bodyLocKey" defaultValue:nil];
525
+ NSString *bodyLocKey = [argmap rnsp_stringForKey:@"bodyLocKey" defaultValue:nil];
519
526
  if (bodyLocKey) {
520
527
  event.bodyLocKey = bodyLocKey;
521
528
  }
522
- NSString *category = [argmap sp_stringForKey:@"category" defaultValue:nil];
529
+ NSString *category = [argmap rnsp_stringForKey:@"category" defaultValue:nil];
523
530
  if (category) {
524
531
  event.category = category;
525
532
  }
526
- NSNumber *contentAvailable = [argmap sp_numberForKey:@"contentAvailable" defaultValue:nil];
533
+ NSNumber *contentAvailable = [argmap rnsp_numberForKey:@"contentAvailable" defaultValue:nil];
527
534
  if (contentAvailable != nil) {
528
535
  event.contentAvailable = contentAvailable;
529
536
  }
530
- NSString *group = [argmap sp_stringForKey:@"group" defaultValue:nil];
537
+ NSString *group = [argmap rnsp_stringForKey:@"group" defaultValue:nil];
531
538
  if (group) {
532
539
  event.group = group;
533
540
  }
534
- NSString *icon = [argmap sp_stringForKey:@"icon" defaultValue:nil];
541
+ NSString *icon = [argmap rnsp_stringForKey:@"icon" defaultValue:nil];
535
542
  if (icon) {
536
543
  event.icon = icon;
537
544
  }
538
- NSNumber *notificationCount = [argmap sp_numberForKey:@"notificationCount" defaultValue:nil];
545
+ NSNumber *notificationCount = [argmap rnsp_numberForKey:@"notificationCount" defaultValue:nil];
539
546
  if (notificationCount) {
540
547
  event.notificationCount = notificationCount;
541
548
  }
542
- NSString *notificationTimestamp = [argmap sp_stringForKey:@"notificationTimestamp" defaultValue:nil];
549
+ NSString *notificationTimestamp = [argmap rnsp_stringForKey:@"notificationTimestamp" defaultValue:nil];
543
550
  if (notificationTimestamp) {
544
551
  event.notificationTimestamp = notificationTimestamp;
545
552
  }
546
- NSString *sound = [argmap sp_stringForKey:@"sound" defaultValue:nil];
553
+ NSString *sound = [argmap rnsp_stringForKey:@"sound" defaultValue:nil];
547
554
  if (sound) {
548
555
  event.sound = sound;
549
556
  }
550
- NSString *subtitle = [argmap sp_stringForKey:@"subtitle" defaultValue:nil];
557
+ NSString *subtitle = [argmap rnsp_stringForKey:@"subtitle" defaultValue:nil];
551
558
  if (subtitle) {
552
559
  event.subtitle = subtitle;
553
560
  }
554
- NSString *tag = [argmap sp_stringForKey:@"tag" defaultValue:nil];
561
+ NSString *tag = [argmap rnsp_stringForKey:@"tag" defaultValue:nil];
555
562
  if (tag) {
556
563
  event.tag = tag;
557
564
  }
558
- NSString *threadIdentifier = [argmap sp_stringForKey:@"threadIdentifier" defaultValue:nil];
565
+ NSString *threadIdentifier = [argmap rnsp_stringForKey:@"threadIdentifier" defaultValue:nil];
559
566
  if (threadIdentifier) {
560
567
  event.threadIdentifier = threadIdentifier;
561
568
  }
@@ -563,7 +570,7 @@ RCT_EXPORT_METHOD(trackMessageNotificationEvent:
563
570
  if (titleLocArgs) {
564
571
  event.titleLocArgs = titleLocArgs;
565
572
  }
566
- NSString *titleLocKey = [argmap sp_stringForKey:@"titleLocKey" defaultValue:nil];
573
+ NSString *titleLocKey = [argmap rnsp_stringForKey:@"titleLocKey" defaultValue:nil];
567
574
  if (titleLocKey) {
568
575
  event.titleLocKey = titleLocKey;
569
576
  }
@@ -582,7 +589,7 @@ RCT_EXPORT_METHOD(removeGlobalContexts:
582
589
  resolver:(RCTPromiseResolveBlock)resolve
583
590
  rejecter:(RCTPromiseRejectBlock)reject) {
584
591
  NSString *namespace = [details objectForKey:@"tracker"];
585
- id<SPTrackerController> trackerController = [SPSnowplow trackerByNamespace:namespace];
592
+ id<SPTrackerController> trackerController = [self trackerByNamespace:namespace];
586
593
 
587
594
  if (trackerController != nil) {
588
595
  NSString *tag = [details objectForKey:@"removeTag"];
@@ -599,7 +606,7 @@ RCT_EXPORT_METHOD(addGlobalContexts:
599
606
  resolver:(RCTPromiseResolveBlock)resolve
600
607
  rejecter:(RCTPromiseRejectBlock)reject) {
601
608
  NSString *namespace = [details objectForKey:@"tracker"];
602
- id<SPTrackerController> trackerController = [SPSnowplow trackerByNamespace:namespace];
609
+ id<SPTrackerController> trackerController = [self trackerByNamespace:namespace];
603
610
 
604
611
  if (trackerController != nil) {
605
612
  NSDictionary *gcArg = [details objectForKey:@"addGlobalContext"];
@@ -622,10 +629,10 @@ RCT_EXPORT_METHOD(setUserId:
622
629
  resolver:(RCTPromiseResolveBlock)resolve
623
630
  rejecter:(RCTPromiseRejectBlock)reject) {
624
631
  NSString *namespace = [details objectForKey:@"tracker"];
625
- id<SPTrackerController> trackerController = [SPSnowplow trackerByNamespace:namespace];
632
+ id<SPTrackerController> trackerController = [self trackerByNamespace:namespace];
626
633
 
627
634
  if (trackerController != nil) {
628
- NSString *newUid = [details sp_stringForKey:@"userId" defaultValue:nil];
635
+ NSString *newUid = [details rnsp_stringForKey:@"userId" defaultValue:nil];
629
636
  [trackerController.subject setUserId:newUid];
630
637
  resolve(@YES);
631
638
  } else {
@@ -639,10 +646,10 @@ RCT_EXPORT_METHOD(setNetworkUserId:
639
646
  resolver:(RCTPromiseResolveBlock)resolve
640
647
  rejecter:(RCTPromiseRejectBlock)reject) {
641
648
  NSString *namespace = [details objectForKey:@"tracker"];
642
- id<SPTrackerController> trackerController = [SPSnowplow trackerByNamespace:namespace];
649
+ id<SPTrackerController> trackerController = [self trackerByNamespace:namespace];
643
650
 
644
651
  if (trackerController != nil) {
645
- NSString *newNuid = [details sp_stringForKey:@"networkUserId" defaultValue:nil];
652
+ NSString *newNuid = [details rnsp_stringForKey:@"networkUserId" defaultValue:nil];
646
653
  [trackerController.subject setNetworkUserId:newNuid];
647
654
  resolve(@YES);
648
655
  } else {
@@ -656,10 +663,10 @@ RCT_EXPORT_METHOD(setDomainUserId:
656
663
  resolver:(RCTPromiseResolveBlock)resolve
657
664
  rejecter:(RCTPromiseRejectBlock)reject) {
658
665
  NSString *namespace = [details objectForKey:@"tracker"];
659
- id<SPTrackerController> trackerController = [SPSnowplow trackerByNamespace:namespace];
666
+ id<SPTrackerController> trackerController = [self trackerByNamespace:namespace];
660
667
 
661
668
  if (trackerController != nil) {
662
- NSString *newDuid = [details sp_stringForKey:@"domainUserId" defaultValue:nil];
669
+ NSString *newDuid = [details rnsp_stringForKey:@"domainUserId" defaultValue:nil];
663
670
  [trackerController.subject setDomainUserId:newDuid];
664
671
  resolve(@YES);
665
672
  } else {
@@ -673,10 +680,10 @@ RCT_EXPORT_METHOD(setIpAddress:
673
680
  resolver:(RCTPromiseResolveBlock)resolve
674
681
  rejecter:(RCTPromiseRejectBlock)reject) {
675
682
  NSString *namespace = [details objectForKey:@"tracker"];
676
- id<SPTrackerController> trackerController = [SPSnowplow trackerByNamespace:namespace];
683
+ id<SPTrackerController> trackerController = [self trackerByNamespace:namespace];
677
684
 
678
685
  if (trackerController != nil) {
679
- NSString *newIp = [details sp_stringForKey:@"ipAddress" defaultValue:nil];
686
+ NSString *newIp = [details rnsp_stringForKey:@"ipAddress" defaultValue:nil];
680
687
  [trackerController.subject setIpAddress:newIp];
681
688
  resolve(@YES);
682
689
  } else {
@@ -690,10 +697,10 @@ RCT_EXPORT_METHOD(setUseragent:
690
697
  resolver:(RCTPromiseResolveBlock)resolve
691
698
  rejecter:(RCTPromiseRejectBlock)reject) {
692
699
  NSString *namespace = [details objectForKey:@"tracker"];
693
- id<SPTrackerController> trackerController = [SPSnowplow trackerByNamespace:namespace];
700
+ id<SPTrackerController> trackerController = [self trackerByNamespace:namespace];
694
701
 
695
702
  if (trackerController != nil) {
696
- NSString *newUagent = [details sp_stringForKey:@"useragent" defaultValue:nil];
703
+ NSString *newUagent = [details rnsp_stringForKey:@"useragent" defaultValue:nil];
697
704
  [trackerController.subject setUseragent:newUagent];
698
705
  resolve(@YES);
699
706
  } else {
@@ -707,10 +714,10 @@ RCT_EXPORT_METHOD(setTimezone:
707
714
  resolver:(RCTPromiseResolveBlock)resolve
708
715
  rejecter:(RCTPromiseRejectBlock)reject) {
709
716
  NSString *namespace = [details objectForKey:@"tracker"];
710
- id<SPTrackerController> trackerController = [SPSnowplow trackerByNamespace:namespace];
717
+ id<SPTrackerController> trackerController = [self trackerByNamespace:namespace];
711
718
 
712
719
  if (trackerController != nil) {
713
- NSString *newTz = [details sp_stringForKey:@"timezone" defaultValue:nil];
720
+ NSString *newTz = [details rnsp_stringForKey:@"timezone" defaultValue:nil];
714
721
  [trackerController.subject setTimezone:newTz];
715
722
  resolve(@YES);
716
723
  } else {
@@ -724,10 +731,10 @@ RCT_EXPORT_METHOD(setLanguage:
724
731
  resolver:(RCTPromiseResolveBlock)resolve
725
732
  rejecter:(RCTPromiseRejectBlock)reject) {
726
733
  NSString *namespace = [details objectForKey:@"tracker"];
727
- id<SPTrackerController> trackerController = [SPSnowplow trackerByNamespace:namespace];
734
+ id<SPTrackerController> trackerController = [self trackerByNamespace:namespace];
728
735
 
729
736
  if (trackerController != nil) {
730
- NSString *newLang = [details sp_stringForKey:@"language" defaultValue:nil];
737
+ NSString *newLang = [details rnsp_stringForKey:@"language" defaultValue:nil];
731
738
  [trackerController.subject setLanguage:newLang];
732
739
  resolve(@YES);
733
740
  } else {
@@ -741,7 +748,7 @@ RCT_EXPORT_METHOD(setScreenResolution:
741
748
  resolver:(RCTPromiseResolveBlock)resolve
742
749
  rejecter:(RCTPromiseRejectBlock)reject) {
743
750
  NSString *namespace = [details objectForKey:@"tracker"];
744
- id<SPTrackerController> trackerController = [SPSnowplow trackerByNamespace:namespace];
751
+ id<SPTrackerController> trackerController = [self trackerByNamespace:namespace];
745
752
 
746
753
  if (trackerController != nil) {
747
754
  NSObject *newRes = [details objectForKey:@"screenResolution"];
@@ -765,7 +772,7 @@ RCT_EXPORT_METHOD(setScreenViewport:
765
772
  resolver:(RCTPromiseResolveBlock)resolve
766
773
  rejecter:(RCTPromiseRejectBlock)reject) {
767
774
  NSString *namespace = [details objectForKey:@"tracker"];
768
- id<SPTrackerController> trackerController = [SPSnowplow trackerByNamespace:namespace];
775
+ id<SPTrackerController> trackerController = [self trackerByNamespace:namespace];
769
776
 
770
777
  if (trackerController != nil) {
771
778
  NSObject *newView = [details objectForKey:@"screenViewport"];
@@ -789,10 +796,10 @@ RCT_EXPORT_METHOD(setColorDepth:
789
796
  resolver:(RCTPromiseResolveBlock)resolve
790
797
  rejecter:(RCTPromiseRejectBlock)reject) {
791
798
  NSString *namespace = [details objectForKey:@"tracker"];
792
- id<SPTrackerController> trackerController = [SPSnowplow trackerByNamespace:namespace];
799
+ id<SPTrackerController> trackerController = [self trackerByNamespace:namespace];
793
800
 
794
801
  if (trackerController != nil) {
795
- NSNumber *newColorD = [details sp_numberForKey:@"colorDepth" defaultValue:nil];
802
+ NSNumber *newColorD = [details rnsp_numberForKey:@"colorDepth" defaultValue:nil];
796
803
  [trackerController.subject setColorDepth:newColorD];
797
804
  resolve(@YES);
798
805
  } else {
@@ -806,7 +813,7 @@ RCT_EXPORT_METHOD(getSessionUserId:
806
813
  resolver:(RCTPromiseResolveBlock)resolve
807
814
  rejecter:(RCTPromiseRejectBlock)reject) {
808
815
  NSString *namespace = [details objectForKey:@"tracker"];
809
- id<SPTrackerController> trackerController = [SPSnowplow trackerByNamespace:namespace];
816
+ id<SPTrackerController> trackerController = [self trackerByNamespace:namespace];
810
817
 
811
818
  if (trackerController != nil) {
812
819
  NSString *suid = [trackerController.session userId];
@@ -822,7 +829,7 @@ RCT_EXPORT_METHOD(getSessionId:
822
829
  resolver:(RCTPromiseResolveBlock)resolve
823
830
  rejecter:(RCTPromiseRejectBlock)reject) {
824
831
  NSString *namespace = [details objectForKey:@"tracker"];
825
- id<SPTrackerController> trackerController = [SPSnowplow trackerByNamespace:namespace];
832
+ id<SPTrackerController> trackerController = [self trackerByNamespace:namespace];
826
833
 
827
834
  if (trackerController != nil) {
828
835
  NSString *sid = [trackerController.session sessionId];
@@ -838,7 +845,7 @@ RCT_EXPORT_METHOD(getSessionIndex:
838
845
  resolver:(RCTPromiseResolveBlock)resolve
839
846
  rejecter:(RCTPromiseRejectBlock)reject) {
840
847
  NSString *namespace = [details objectForKey:@"tracker"];
841
- id<SPTrackerController> trackerController = [SPSnowplow trackerByNamespace:namespace];
848
+ id<SPTrackerController> trackerController = [self trackerByNamespace:namespace];
842
849
 
843
850
  if (trackerController != nil) {
844
851
  NSInteger sidx = [trackerController.session sessionIndex];
@@ -854,7 +861,7 @@ RCT_EXPORT_METHOD(getIsInBackground:
854
861
  resolver:(RCTPromiseResolveBlock)resolve
855
862
  rejecter:(RCTPromiseRejectBlock)reject) {
856
863
  NSString *namespace = [details objectForKey:@"tracker"];
857
- id<SPTrackerController> trackerController = [SPSnowplow trackerByNamespace:namespace];
864
+ id<SPTrackerController> trackerController = [self trackerByNamespace:namespace];
858
865
 
859
866
  if (trackerController != nil) {
860
867
  BOOL isInBg = [trackerController.session isInBackground];
@@ -870,7 +877,7 @@ RCT_EXPORT_METHOD(getBackgroundIndex:
870
877
  resolver:(RCTPromiseResolveBlock)resolve
871
878
  rejecter:(RCTPromiseRejectBlock)reject) {
872
879
  NSString *namespace = [details objectForKey:@"tracker"];
873
- id<SPTrackerController> trackerController = [SPSnowplow trackerByNamespace:namespace];
880
+ id<SPTrackerController> trackerController = [self trackerByNamespace:namespace];
874
881
 
875
882
  if (trackerController != nil) {
876
883
  NSInteger bgIdx = [trackerController.session backgroundIndex];
@@ -886,7 +893,7 @@ RCT_EXPORT_METHOD(getForegroundIndex:
886
893
  resolver:(RCTPromiseResolveBlock)resolve
887
894
  rejecter:(RCTPromiseRejectBlock)reject) {
888
895
  NSString *namespace = [details objectForKey:@"tracker"];
889
- id<SPTrackerController> trackerController = [SPSnowplow trackerByNamespace:namespace];
896
+ id<SPTrackerController> trackerController = [self trackerByNamespace:namespace];
890
897
 
891
898
  if (trackerController != nil) {
892
899
  NSInteger fgIdx = [trackerController.session foregroundIndex];
@@ -897,4 +904,8 @@ RCT_EXPORT_METHOD(getForegroundIndex:
897
904
  }
898
905
  }
899
906
 
907
+ - (nullable id<SPTrackerController>)trackerByNamespace:(NSString *)namespace {
908
+ return [namespace isEqual:[NSNull null]] ? [SPSnowplow defaultTracker] : [SPSnowplow trackerByNamespace:namespace];
909
+ }
910
+
900
911
  @end