@convivainc/conviva-react-native-appanalytics 0.1.4 → 0.2.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.
Files changed (31) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/README.md +60 -7
  3. package/android/src/main/java/com/conviva/react/apptracker/RNConvivaTrackerModule.java +275 -159
  4. package/android/src/main/java/com/conviva/react/apptracker/util/TrackerVersion.java +1 -1
  5. package/conviva-react-native-appanalytics.d.ts +13 -0
  6. package/conviva-react-native-appanalytics.js +108 -2
  7. package/ios/RNConvivaAppAnalytics.m +78 -21
  8. package/ios/Util/RNTrackerVersion.m +1 -1
  9. package/package.json +1 -1
  10. package/android/.gradle/7.5/checksums/checksums.lock +0 -0
  11. package/android/.gradle/7.5/checksums/md5-checksums.bin +0 -0
  12. package/android/.gradle/7.5/checksums/sha1-checksums.bin +0 -0
  13. package/android/.gradle/7.5/dependencies-accessors/dependencies-accessors.lock +0 -0
  14. package/android/.gradle/7.5/dependencies-accessors/gc.properties +0 -0
  15. package/android/.gradle/7.5/executionHistory/executionHistory.lock +0 -0
  16. package/android/.gradle/7.5/fileChanges/last-build.bin +0 -0
  17. package/android/.gradle/7.5/fileHashes/fileHashes.bin +0 -0
  18. package/android/.gradle/7.5/fileHashes/fileHashes.lock +0 -0
  19. package/android/.gradle/7.5/fileHashes/resourceHashesCache.bin +0 -0
  20. package/android/.gradle/7.5/gc.properties +0 -0
  21. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  22. package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
  23. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  24. package/android/.gradle/config.properties +0 -2
  25. package/android/.gradle/vcs-1/gc.properties +0 -0
  26. package/android/.idea/compiler.xml +0 -6
  27. package/android/.idea/gradle.xml +0 -19
  28. package/android/.idea/migrations.xml +0 -10
  29. package/android/.idea/misc.xml +0 -10
  30. package/android/.idea/vcs.xml +0 -6
  31. package/android/local.properties +0 -8
@@ -22,7 +22,6 @@ import com.conviva.apptracker.event.ScreenView;
22
22
  import com.conviva.apptracker.event.SelfDescribing;
23
23
  import com.conviva.apptracker.event.Structured;
24
24
  import com.conviva.apptracker.event.Timing;
25
- import com.conviva.apptracker.globalcontexts.GlobalContext;
26
25
  import com.conviva.apptracker.internal.constants.TrackerConstants;
27
26
  import com.conviva.apptracker.network.CollectorCookieJar;
28
27
  import com.conviva.apptracker.network.HttpMethod;
@@ -89,8 +88,6 @@ public class RNConvivaTrackerModule extends ReactContextBaseJavaModule {
89
88
  if (networkConfig.hasKey("customPostPath") && !networkConfig.isNull("customPostPath")) {
90
89
  String customPostPath = networkConfig.getString("customPostPath");
91
90
  networkConfiguration.customPostPath = customPostPath;
92
- } else {
93
- networkConfiguration.customPostPath = (customerKey + "/" + TrackerConstants.CONVIVA_PROTOCOL_VERSION);
94
91
  }
95
92
  if (networkConfig.hasKey("requestHeaders") && !networkConfig.isNull("requestHeaders")) {
96
93
  ReadableMap requestHeaders = networkConfig.getMap("requestHeaders");
@@ -180,8 +177,11 @@ public class RNConvivaTrackerModule extends ReactContextBaseJavaModule {
180
177
  try {
181
178
  String namespace = details.getString("tracker");
182
179
  TrackerController trackerController = getTracker(namespace);
183
-
184
- promise.resolve(ConvivaAppAnalytics.removeTracker(trackerController));
180
+ if (trackerController != null) {
181
+ promise.resolve(ConvivaAppAnalytics.removeTracker(trackerController));
182
+ } else {
183
+ promise.reject("ERROR", "TrackerController is null");
184
+ }
185
185
 
186
186
  } catch (Throwable t) {
187
187
  promise.reject("ERROR", t.getMessage());
@@ -200,23 +200,45 @@ public class RNConvivaTrackerModule extends ReactContextBaseJavaModule {
200
200
  }
201
201
  }
202
202
 
203
+ @ReactMethod
204
+ public void setClientId(ReadableMap argmap, Promise promise) {
205
+ try {
206
+ promise.resolve(ConvivaAppAnalytics.setClientId(this.reactContext, argmap.getString("clientId")));
207
+ } catch (Throwable t) {
208
+ promise.reject("ERROR", t.getMessage());
209
+ }
210
+ }
211
+
212
+ @ReactMethod
213
+ public void getClientId(Promise promise) {
214
+ try {
215
+ promise.resolve(ConvivaAppAnalytics.getClientId(this.reactContext));
216
+ } catch (Throwable t) {
217
+ promise.reject("ERROR", t.getMessage());
218
+ }
219
+ }
220
+
203
221
  @ReactMethod
204
222
  public void trackSelfDescribingEvent(ReadableMap details, Promise promise) {
205
223
  try {
206
224
  String namespace = details.getString("tracker");
207
- ReadableMap argmap = details.getMap("eventData");
208
- ReadableArray contexts = details.getArray("contexts");
209
-
210
225
  TrackerController trackerController = getTracker(namespace);
226
+ if (trackerController != null) {
227
+ ReadableMap argmap = details.getMap("eventData");
228
+ ReadableArray contexts = details.getArray("contexts");
211
229
 
212
- SelfDescribingJson sdj = EventUtil.createSelfDescribingJson(argmap);
213
- SelfDescribing event = new SelfDescribing(sdj);
214
230
 
215
- List<SelfDescribingJson> evCtxts = EventUtil.createContexts(contexts);
216
- event.customContexts.addAll(evCtxts);
231
+ SelfDescribingJson sdj = EventUtil.createSelfDescribingJson(argmap);
232
+ SelfDescribing event = new SelfDescribing(sdj);
217
233
 
218
- trackerController.track(event);
219
- promise.resolve(true);
234
+ List<SelfDescribingJson> evCtxts = EventUtil.createContexts(contexts);
235
+ event.customContexts.addAll(evCtxts);
236
+
237
+ trackerController.track(event);
238
+ promise.resolve(true);
239
+ } else {
240
+ promise.reject("ERROR", "TrackerController is null");
241
+ }
220
242
 
221
243
  } catch (Throwable t) {
222
244
  promise.reject("ERROR", t.getMessage());
@@ -227,18 +249,23 @@ public class RNConvivaTrackerModule extends ReactContextBaseJavaModule {
227
249
  public void trackStructuredEvent(ReadableMap details, Promise promise) {
228
250
  try {
229
251
  String namespace = details.getString("tracker");
230
- ReadableMap argmap = details.getMap("eventData");
231
- ReadableArray contexts = details.getArray("contexts");
232
-
233
252
  TrackerController trackerController = getTracker(namespace);
253
+ if (trackerController != null) {
234
254
 
235
- Structured event = EventUtil.createStructuredEvent(argmap);
255
+ ReadableMap argmap = details.getMap("eventData");
256
+ ReadableArray contexts = details.getArray("contexts");
236
257
 
237
- List<SelfDescribingJson> evCtxts = EventUtil.createContexts(contexts);
238
- event.customContexts.addAll(evCtxts);
239
258
 
240
- trackerController.track(event);
241
- promise.resolve(true);
259
+ Structured event = EventUtil.createStructuredEvent(argmap);
260
+
261
+ List<SelfDescribingJson> evCtxts = EventUtil.createContexts(contexts);
262
+ event.customContexts.addAll(evCtxts);
263
+
264
+ trackerController.track(event);
265
+ promise.resolve(true);
266
+ } else {
267
+ promise.reject("ERROR", "TrackerController is null");
268
+ }
242
269
 
243
270
  } catch (Throwable t) {
244
271
  promise.reject("ERROR", t.getMessage());
@@ -249,18 +276,22 @@ public class RNConvivaTrackerModule extends ReactContextBaseJavaModule {
249
276
  public void trackScreenViewEvent(ReadableMap details, Promise promise) {
250
277
  try {
251
278
  String namespace = details.getString("tracker");
252
- ReadableMap argmap = details.getMap("eventData");
253
- ReadableArray contexts = details.getArray("contexts");
254
-
255
279
  TrackerController trackerController = getTracker(namespace);
280
+ if (trackerController != null) {
281
+ ReadableMap argmap = details.getMap("eventData");
282
+ ReadableArray contexts = details.getArray("contexts");
256
283
 
257
- ScreenView event = EventUtil.createScreenViewEvent(argmap);
258
284
 
259
- List<SelfDescribingJson> evCtxts = EventUtil.createContexts(contexts);
260
- event.customContexts.addAll(evCtxts);
285
+ ScreenView event = EventUtil.createScreenViewEvent(argmap);
261
286
 
262
- trackerController.track(event);
263
- promise.resolve(true);
287
+ List<SelfDescribingJson> evCtxts = EventUtil.createContexts(contexts);
288
+ event.customContexts.addAll(evCtxts);
289
+
290
+ trackerController.track(event);
291
+ promise.resolve(true);
292
+ } else {
293
+ promise.reject("ERROR", "TrackerController is null");
294
+ }
264
295
 
265
296
  } catch (Throwable t) {
266
297
  promise.reject("ERROR", t.getMessage());
@@ -271,18 +302,22 @@ public class RNConvivaTrackerModule extends ReactContextBaseJavaModule {
271
302
  public void trackPageView(ReadableMap details, Promise promise) {
272
303
  try {
273
304
  String namespace = details.getString("tracker");
274
- ReadableMap argmap = details.getMap("eventData");
275
- ReadableArray contexts = details.getArray("contexts");
276
-
277
305
  TrackerController trackerController = getTracker(namespace);
306
+ if (trackerController != null) {
307
+ ReadableMap argmap = details.getMap("eventData");
308
+ ReadableArray contexts = details.getArray("contexts");
278
309
 
279
- PageView event = EventUtil.createPageViewEvent(argmap);
280
310
 
281
- List<SelfDescribingJson> evCtxts = EventUtil.createContexts(contexts);
282
- event.customContexts.addAll(evCtxts);
311
+ PageView event = EventUtil.createPageViewEvent(argmap);
283
312
 
284
- trackerController.track(event);
285
- promise.resolve(true);
313
+ List<SelfDescribingJson> evCtxts = EventUtil.createContexts(contexts);
314
+ event.customContexts.addAll(evCtxts);
315
+
316
+ trackerController.track(event);
317
+ promise.resolve(true);
318
+ } else {
319
+ promise.reject("ERROR", "TrackerController is null");
320
+ }
286
321
 
287
322
  } catch (Throwable t) {
288
323
  promise.reject("ERROR", t.getMessage());
@@ -293,18 +328,21 @@ public class RNConvivaTrackerModule extends ReactContextBaseJavaModule {
293
328
  public void trackTimingEvent(ReadableMap details, Promise promise) {
294
329
  try {
295
330
  String namespace = details.getString("tracker");
296
- ReadableMap argmap = details.getMap("eventData");
297
- ReadableArray contexts = details.getArray("contexts");
298
-
299
331
  TrackerController trackerController = getTracker(namespace);
332
+ if (trackerController != null) {
333
+ ReadableMap argmap = details.getMap("eventData");
334
+ ReadableArray contexts = details.getArray("contexts");
300
335
 
301
- Timing event = EventUtil.createTimingEvent(argmap);
336
+ Timing event = EventUtil.createTimingEvent(argmap);
302
337
 
303
- List<SelfDescribingJson> evCtxts = EventUtil.createContexts(contexts);
304
- event.customContexts.addAll(evCtxts);
338
+ List<SelfDescribingJson> evCtxts = EventUtil.createContexts(contexts);
339
+ event.customContexts.addAll(evCtxts);
305
340
 
306
- trackerController.track(event);
307
- promise.resolve(true);
341
+ trackerController.track(event);
342
+ promise.resolve(true);
343
+ } else {
344
+ promise.reject("ERROR", "TrackerController is null");
345
+ }
308
346
 
309
347
  } catch (Throwable t) {
310
348
  promise.reject("ERROR", t.getMessage());
@@ -315,18 +353,22 @@ public class RNConvivaTrackerModule extends ReactContextBaseJavaModule {
315
353
  public void trackConsentGrantedEvent(ReadableMap details, Promise promise) {
316
354
  try {
317
355
  String namespace = details.getString("tracker");
318
- ReadableMap argmap = details.getMap("eventData");
319
- ReadableArray contexts = details.getArray("contexts");
320
-
321
356
  TrackerController trackerController = getTracker(namespace);
357
+ if (trackerController != null) {
358
+ ReadableMap argmap = details.getMap("eventData");
359
+ ReadableArray contexts = details.getArray("contexts");
322
360
 
323
- ConsentGranted event = EventUtil.createConsentGrantedEvent(argmap);
324
361
 
325
- List<SelfDescribingJson> evCtxts = EventUtil.createContexts(contexts);
326
- event.customContexts.addAll(evCtxts);
362
+ ConsentGranted event = EventUtil.createConsentGrantedEvent(argmap);
327
363
 
328
- trackerController.track(event);
329
- promise.resolve(true);
364
+ List<SelfDescribingJson> evCtxts = EventUtil.createContexts(contexts);
365
+ event.customContexts.addAll(evCtxts);
366
+
367
+ trackerController.track(event);
368
+ promise.resolve(true);
369
+ } else {
370
+ promise.reject("ERROR", "TrackerController is null");
371
+ }
330
372
 
331
373
  } catch (Throwable t) {
332
374
  promise.reject("ERROR", t.getMessage());
@@ -337,18 +379,22 @@ public class RNConvivaTrackerModule extends ReactContextBaseJavaModule {
337
379
  public void trackConsentWithdrawnEvent(ReadableMap details, Promise promise) {
338
380
  try {
339
381
  String namespace = details.getString("tracker");
340
- ReadableMap argmap = details.getMap("eventData");
341
- ReadableArray contexts = details.getArray("contexts");
342
-
343
382
  TrackerController trackerController = getTracker(namespace);
383
+ if (trackerController != null) {
384
+ ReadableMap argmap = details.getMap("eventData");
385
+ ReadableArray contexts = details.getArray("contexts");
344
386
 
345
- ConsentWithdrawn event = EventUtil.createConsentWithdrawnEvent(argmap);
346
387
 
347
- List<SelfDescribingJson> evCtxts = EventUtil.createContexts(contexts);
348
- event.customContexts.addAll(evCtxts);
388
+ ConsentWithdrawn event = EventUtil.createConsentWithdrawnEvent(argmap);
349
389
 
350
- trackerController.track(event);
351
- promise.resolve(true);
390
+ List<SelfDescribingJson> evCtxts = EventUtil.createContexts(contexts);
391
+ event.customContexts.addAll(evCtxts);
392
+
393
+ trackerController.track(event);
394
+ promise.resolve(true);
395
+ } else {
396
+ promise.reject("ERROR", "TrackerController is null");
397
+ }
352
398
 
353
399
  } catch (Throwable t) {
354
400
  promise.reject("ERROR", t.getMessage());
@@ -359,18 +405,22 @@ public class RNConvivaTrackerModule extends ReactContextBaseJavaModule {
359
405
  public void trackEcommerceTransactionEvent(ReadableMap details, Promise promise) {
360
406
  try {
361
407
  String namespace = details.getString("tracker");
362
- ReadableMap argmap = details.getMap("eventData");
363
- ReadableArray contexts = details.getArray("contexts");
364
-
365
408
  TrackerController trackerController = getTracker(namespace);
409
+ if (trackerController != null) {
410
+ ReadableMap argmap = details.getMap("eventData");
411
+ ReadableArray contexts = details.getArray("contexts");
366
412
 
367
- EcommerceTransaction event = EventUtil.createEcommerceTransactionEvent(argmap);
368
413
 
369
- List<SelfDescribingJson> evCtxts = EventUtil.createContexts(contexts);
370
- event.customContexts.addAll(evCtxts);
414
+ EcommerceTransaction event = EventUtil.createEcommerceTransactionEvent(argmap);
371
415
 
372
- trackerController.track(event);
373
- promise.resolve(true);
416
+ List<SelfDescribingJson> evCtxts = EventUtil.createContexts(contexts);
417
+ event.customContexts.addAll(evCtxts);
418
+
419
+ trackerController.track(event);
420
+ promise.resolve(true);
421
+ } else {
422
+ promise.reject("ERROR", "TrackerController is null");
423
+ }
374
424
 
375
425
  } catch (Throwable t) {
376
426
  promise.reject("ERROR", t.getMessage());
@@ -381,18 +431,22 @@ public class RNConvivaTrackerModule extends ReactContextBaseJavaModule {
381
431
  public void trackDeepLinkReceivedEvent(ReadableMap details, Promise promise) {
382
432
  try {
383
433
  String namespace = details.getString("tracker");
384
- ReadableMap argmap = details.getMap("eventData");
385
- ReadableArray contexts = details.getArray("contexts");
386
-
387
434
  TrackerController trackerController = getTracker(namespace);
435
+ if (trackerController != null) {
436
+ ReadableMap argmap = details.getMap("eventData");
437
+ ReadableArray contexts = details.getArray("contexts");
388
438
 
389
- DeepLinkReceived event = EventUtil.createDeepLinkReceivedEvent(argmap);
390
439
 
391
- List<SelfDescribingJson> evCtxts = EventUtil.createContexts(contexts);
392
- event.customContexts.addAll(evCtxts);
440
+ DeepLinkReceived event = EventUtil.createDeepLinkReceivedEvent(argmap);
393
441
 
394
- trackerController.track(event);
395
- promise.resolve(true);
442
+ List<SelfDescribingJson> evCtxts = EventUtil.createContexts(contexts);
443
+ event.customContexts.addAll(evCtxts);
444
+
445
+ trackerController.track(event);
446
+ promise.resolve(true);
447
+ } else {
448
+ promise.reject("ERROR", "TrackerController is null");
449
+ }
396
450
 
397
451
  } catch (Throwable t) {
398
452
  promise.reject("ERROR", t.getMessage());
@@ -403,18 +457,22 @@ public class RNConvivaTrackerModule extends ReactContextBaseJavaModule {
403
457
  public void trackMessageNotificationEvent(ReadableMap details, Promise promise) {
404
458
  try {
405
459
  String namespace = details.getString("tracker");
406
- ReadableMap argmap = details.getMap("eventData");
407
- ReadableArray contexts = details.getArray("contexts");
408
-
409
460
  TrackerController trackerController = getTracker(namespace);
461
+ if (trackerController != null) {
462
+ ReadableMap argmap = details.getMap("eventData");
463
+ ReadableArray contexts = details.getArray("contexts");
410
464
 
411
- MessageNotification event = EventUtil.createMessageNotificationEvent(argmap);
412
465
 
413
- List<SelfDescribingJson> evCtxts = EventUtil.createContexts(contexts);
414
- event.customContexts.addAll(evCtxts);
466
+ MessageNotification event = EventUtil.createMessageNotificationEvent(argmap);
415
467
 
416
- trackerController.track(event);
417
- promise.resolve(true);
468
+ List<SelfDescribingJson> evCtxts = EventUtil.createContexts(contexts);
469
+ event.customContexts.addAll(evCtxts);
470
+
471
+ trackerController.track(event);
472
+ promise.resolve(true);
473
+ } else {
474
+ promise.reject("ERROR", "TrackerController is null");
475
+ }
418
476
 
419
477
  } catch (Throwable t) {
420
478
  promise.reject("ERROR", t.getMessage());
@@ -425,15 +483,18 @@ public class RNConvivaTrackerModule extends ReactContextBaseJavaModule {
425
483
  public void trackCustomEvent(ReadableMap details, Promise promise) {
426
484
  try {
427
485
  String namespace = details.getString("tracker");
428
- String eventName = details.getString("eventName");
429
- ReadableMap argmap = details.getMap("eventData");
430
-
431
486
  TrackerController trackerController = getTracker(namespace);
487
+ if (trackerController != null) {
488
+ String eventName = details.getString("eventName");
489
+ ReadableMap argmap = details.getMap("eventData");
432
490
 
433
- HashMap<String, Object> eventData = argmap.toHashMap();
491
+ HashMap<String, Object> eventData = argmap.toHashMap();
434
492
 
435
- trackerController.trackCustomEvent(eventName, JSONValue.toJSONString(eventData));
436
- promise.resolve(true);
493
+ trackerController.trackCustomEvent(eventName, JSONValue.toJSONString(eventData));
494
+ promise.resolve(true);
495
+ } else {
496
+ promise.reject("ERROR", "TrackerController is null");
497
+ }
437
498
 
438
499
  } catch (Throwable t) {
439
500
  promise.reject("ERROR", t.getMessage());
@@ -444,14 +505,17 @@ public class RNConvivaTrackerModule extends ReactContextBaseJavaModule {
444
505
  public void setCustomTags(ReadableMap details, Promise promise) {
445
506
  try {
446
507
  String namespace = details.getString("tracker");
447
- ReadableMap argmap = details.getMap("tags");
448
-
449
508
  TrackerController trackerController = getTracker(namespace);
509
+ if (trackerController != null) {
510
+ ReadableMap argmap = details.getMap("tags");
450
511
 
451
- HashMap<String, Object> tags = argmap.toHashMap();
512
+ HashMap<String, Object> tags = argmap.toHashMap();
452
513
 
453
- trackerController.setCustomTags(tags);
454
- promise.resolve(true);
514
+ trackerController.setCustomTags(tags);
515
+ promise.resolve(true);
516
+ } else {
517
+ promise.reject("ERROR", "TrackerController is null");
518
+ }
455
519
 
456
520
  } catch (Throwable t) {
457
521
  promise.reject("ERROR", t.getMessage());
@@ -462,13 +526,17 @@ public class RNConvivaTrackerModule extends ReactContextBaseJavaModule {
462
526
  public void clearCustomTags(ReadableMap details, Promise promise) {
463
527
  try {
464
528
  String namespace = details.getString("tracker");
465
- ReadableArray argArray = details.getArray("tagKeys");
466
-
467
529
  TrackerController trackerController = getTracker(namespace);
530
+ if (trackerController != null) {
531
+ ReadableArray argArray = details.getArray("tagKeys");
468
532
 
469
- List<String> tagKeys = EventUtil.createStrings(argArray);
470
- trackerController.clearCustomTags(new HashSet<>(tagKeys));
471
- promise.resolve(true);
533
+
534
+ List<String> tagKeys = EventUtil.createStrings(argArray);
535
+ trackerController.clearCustomTags(new HashSet<>(tagKeys));
536
+ promise.resolve(true);
537
+ } else {
538
+ promise.reject("ERROR", "TrackerController is null");
539
+ }
472
540
 
473
541
  } catch (Throwable t) {
474
542
  promise.reject("ERROR", t.getMessage());
@@ -480,9 +548,13 @@ public class RNConvivaTrackerModule extends ReactContextBaseJavaModule {
480
548
  try {
481
549
  String namespace = details.getString("tracker");
482
550
  TrackerController trackerController = getTracker(namespace);
551
+ if (trackerController != null) {
483
552
 
484
- trackerController.clearAllCustomTags();
485
- promise.resolve(true);
553
+ trackerController.clearAllCustomTags();
554
+ promise.resolve(true);
555
+ } else {
556
+ promise.reject("ERROR", "TrackerController is null");
557
+ }
486
558
 
487
559
  } catch (Throwable t) {
488
560
  promise.reject("ERROR", t.getMessage());
@@ -493,13 +565,18 @@ public class RNConvivaTrackerModule extends ReactContextBaseJavaModule {
493
565
  public void trackClickEvent(ReadableMap details, Promise promise) {
494
566
  try {
495
567
  String namespace = details.getString("tracker");
496
- ReadableMap eventMap = details.getMap("eventData");
497
568
  TrackerController trackerController = getTracker(namespace);
569
+ if (trackerController != null) {
570
+ ReadableMap eventMap = details.getMap("eventData");
498
571
 
499
- ButtonClick event = EventUtil.createButtonClickEvent(eventMap);
500
- trackerController.track(event);
501
572
 
502
- promise.resolve(true);
573
+ ButtonClick event = EventUtil.createButtonClickEvent(eventMap);
574
+ trackerController.track(event);
575
+
576
+ promise.resolve(true);
577
+ } else {
578
+ promise.reject("ERROR", "TrackerController is null");
579
+ }
503
580
 
504
581
  } catch (Throwable t) {
505
582
  promise.reject("ERROR", t.getMessage());
@@ -555,13 +632,17 @@ public class RNConvivaTrackerModule extends ReactContextBaseJavaModule {
555
632
  try {
556
633
  String namespace = details.getString("tracker");
557
634
  TrackerController trackerController = getTracker(namespace);
635
+ if (trackerController != null) {
558
636
 
559
- if (details.isNull("userId")) {
560
- trackerController.getSubject().setUserId(null);
637
+ if (details.isNull("userId")) {
638
+ trackerController.getSubject().setUserId(null);
639
+ } else {
640
+ trackerController.getSubject().setUserId(details.getString("userId"));
641
+ }
642
+ promise.resolve(true);
561
643
  } else {
562
- trackerController.getSubject().setUserId(details.getString("userId"));
644
+ promise.reject("ERROR", "TrackerController is null");
563
645
  }
564
- promise.resolve(true);
565
646
 
566
647
  } catch (Throwable t) {
567
648
  promise.reject("ERROR", t.getMessage());
@@ -573,13 +654,17 @@ public class RNConvivaTrackerModule extends ReactContextBaseJavaModule {
573
654
  try {
574
655
  String namespace = details.getString("tracker");
575
656
  TrackerController trackerController = getTracker(namespace);
657
+ if (trackerController != null) {
576
658
 
577
- if (details.isNull("networkUserId")) {
578
- trackerController.getSubject().setNetworkUserId(null);
659
+ if (details.isNull("networkUserId")) {
660
+ trackerController.getSubject().setNetworkUserId(null);
661
+ } else {
662
+ trackerController.getSubject().setNetworkUserId(details.getString("networkUserId"));
663
+ }
664
+ promise.resolve(true);
579
665
  } else {
580
- trackerController.getSubject().setNetworkUserId(details.getString("networkUserId"));
666
+ promise.reject("ERROR", "TrackerController is null");
581
667
  }
582
- promise.resolve(true);
583
668
 
584
669
  } catch (Throwable t) {
585
670
  promise.reject("ERROR", t.getMessage());
@@ -591,13 +676,17 @@ public class RNConvivaTrackerModule extends ReactContextBaseJavaModule {
591
676
  try {
592
677
  String namespace = details.getString("tracker");
593
678
  TrackerController trackerController = getTracker(namespace);
679
+ if (trackerController != null) {
594
680
 
595
- if (details.isNull("domainUserId")) {
596
- trackerController.getSubject().setDomainUserId(null);
681
+ if (details.isNull("domainUserId")) {
682
+ trackerController.getSubject().setDomainUserId(null);
683
+ } else {
684
+ trackerController.getSubject().setDomainUserId(details.getString("domainUserId"));
685
+ }
686
+ promise.resolve(true);
597
687
  } else {
598
- trackerController.getSubject().setDomainUserId(details.getString("domainUserId"));
688
+ promise.reject("ERROR", "TrackerController is null");
599
689
  }
600
- promise.resolve(true);
601
690
 
602
691
  } catch (Throwable t) {
603
692
  promise.reject("ERROR", t.getMessage());
@@ -609,13 +698,17 @@ public class RNConvivaTrackerModule extends ReactContextBaseJavaModule {
609
698
  try {
610
699
  String namespace = details.getString("tracker");
611
700
  TrackerController trackerController = getTracker(namespace);
701
+ if (trackerController != null) {
612
702
 
613
- if (details.isNull("ipAddress")) {
614
- trackerController.getSubject().setIpAddress(null);
703
+ if (details.isNull("ipAddress")) {
704
+ trackerController.getSubject().setIpAddress(null);
705
+ } else {
706
+ trackerController.getSubject().setIpAddress(details.getString("ipAddress"));
707
+ }
708
+ promise.resolve(true);
615
709
  } else {
616
- trackerController.getSubject().setIpAddress(details.getString("ipAddress"));
710
+ promise.reject("ERROR", "TrackerController is null");
617
711
  }
618
- promise.resolve(true);
619
712
 
620
713
  } catch (Throwable t) {
621
714
  promise.reject("ERROR", t.getMessage());
@@ -627,13 +720,17 @@ public class RNConvivaTrackerModule extends ReactContextBaseJavaModule {
627
720
  try {
628
721
  String namespace = details.getString("tracker");
629
722
  TrackerController trackerController = getTracker(namespace);
723
+ if (trackerController != null) {
630
724
 
631
- if (details.isNull("useragent")) {
632
- trackerController.getSubject().setUseragent(null);
725
+ if (details.isNull("useragent")) {
726
+ trackerController.getSubject().setUseragent(null);
727
+ } else {
728
+ trackerController.getSubject().setUseragent(details.getString("useragent"));
729
+ }
730
+ promise.resolve(true);
633
731
  } else {
634
- trackerController.getSubject().setUseragent(details.getString("useragent"));
732
+ promise.reject("ERROR", "TrackerController is null");
635
733
  }
636
- promise.resolve(true);
637
734
 
638
735
  } catch (Throwable t) {
639
736
  promise.reject("ERROR", t.getMessage());
@@ -645,13 +742,17 @@ public class RNConvivaTrackerModule extends ReactContextBaseJavaModule {
645
742
  try {
646
743
  String namespace = details.getString("tracker");
647
744
  TrackerController trackerController = getTracker(namespace);
745
+ if (trackerController != null) {
648
746
 
649
- if (details.isNull("timezone")) {
650
- trackerController.getSubject().setTimezone(null);
747
+ if (details.isNull("timezone")) {
748
+ trackerController.getSubject().setTimezone(null);
749
+ } else {
750
+ trackerController.getSubject().setTimezone(details.getString("timezone"));
751
+ }
752
+ promise.resolve(true);
651
753
  } else {
652
- trackerController.getSubject().setTimezone(details.getString("timezone"));
754
+ promise.reject("ERROR", "TrackerController is null");
653
755
  }
654
- promise.resolve(true);
655
756
 
656
757
  } catch (Throwable t) {
657
758
  promise.reject("ERROR", t.getMessage());
@@ -663,13 +764,17 @@ public class RNConvivaTrackerModule extends ReactContextBaseJavaModule {
663
764
  try {
664
765
  String namespace = details.getString("tracker");
665
766
  TrackerController trackerController = getTracker(namespace);
767
+ if (trackerController != null) {
666
768
 
667
- if (details.isNull("language")) {
668
- trackerController.getSubject().setLanguage(null);
769
+ if (details.isNull("language")) {
770
+ trackerController.getSubject().setLanguage(null);
771
+ } else {
772
+ trackerController.getSubject().setLanguage(details.getString("language"));
773
+ }
774
+ promise.resolve(true);
669
775
  } else {
670
- trackerController.getSubject().setLanguage(details.getString("language"));
776
+ promise.reject("ERROR", "TrackerController is null");
671
777
  }
672
- promise.resolve(true);
673
778
 
674
779
  } catch (Throwable t) {
675
780
  promise.reject("ERROR", t.getMessage());
@@ -681,18 +786,22 @@ public class RNConvivaTrackerModule extends ReactContextBaseJavaModule {
681
786
  try {
682
787
  String namespace = details.getString("tracker");
683
788
  TrackerController trackerController = getTracker(namespace);
789
+ if (trackerController != null) {
684
790
 
685
- if (details.isNull("screenResolution")) {
686
- trackerController.getSubject().setScreenResolution(null);
687
- } else {
688
- ReadableArray screenRes = details.getArray("screenResolution");
689
- int width = screenRes.getInt(0);
690
- int height = screenRes.getInt(1);
691
- Size screenR = new Size(width, height);
791
+ if (details.isNull("screenResolution")) {
792
+ trackerController.getSubject().setScreenResolution(null);
793
+ } else {
794
+ ReadableArray screenRes = details.getArray("screenResolution");
795
+ int width = screenRes.getInt(0);
796
+ int height = screenRes.getInt(1);
797
+ Size screenR = new Size(width, height);
692
798
 
693
- trackerController.getSubject().setScreenResolution(screenR);
799
+ trackerController.getSubject().setScreenResolution(screenR);
800
+ }
801
+ promise.resolve(true);
802
+ } else {
803
+ promise.reject("ERROR", "TrackerController is null");
694
804
  }
695
- promise.resolve(true);
696
805
 
697
806
  } catch (Throwable t) {
698
807
  promise.reject("ERROR", t.getMessage());
@@ -704,18 +813,22 @@ public class RNConvivaTrackerModule extends ReactContextBaseJavaModule {
704
813
  try {
705
814
  String namespace = details.getString("tracker");
706
815
  TrackerController trackerController = getTracker(namespace);
816
+ if (trackerController != null) {
707
817
 
708
- if (details.isNull("screenViewport")) {
709
- trackerController.getSubject().setScreenViewPort(null);
710
- } else {
711
- ReadableArray screenView = details.getArray("screenViewport");
712
- int width = screenView.getInt(0);
713
- int height = screenView.getInt(1);
714
- Size screenVP = new Size(width, height);
818
+ if (details.isNull("screenViewport")) {
819
+ trackerController.getSubject().setScreenViewPort(null);
820
+ } else {
821
+ ReadableArray screenView = details.getArray("screenViewport");
822
+ int width = screenView.getInt(0);
823
+ int height = screenView.getInt(1);
824
+ Size screenVP = new Size(width, height);
715
825
 
716
- trackerController.getSubject().setScreenViewPort(screenVP);
826
+ trackerController.getSubject().setScreenViewPort(screenVP);
827
+ }
828
+ promise.resolve(true);
829
+ } else {
830
+ promise.reject("ERROR", "TrackerController is null");
717
831
  }
718
- promise.resolve(true);
719
832
 
720
833
  } catch (Throwable t) {
721
834
  promise.reject("ERROR", t.getMessage());
@@ -727,13 +840,17 @@ public class RNConvivaTrackerModule extends ReactContextBaseJavaModule {
727
840
  try {
728
841
  String namespace = details.getString("tracker");
729
842
  TrackerController trackerController = getTracker(namespace);
843
+ if (trackerController != null) {
730
844
 
731
- if (details.isNull("colorDepth")) {
732
- trackerController.getSubject().setColorDepth(null);
845
+ if (details.isNull("colorDepth")) {
846
+ trackerController.getSubject().setColorDepth(null);
847
+ } else {
848
+ trackerController.getSubject().setColorDepth(details.getInt("colorDepth"));
849
+ }
850
+ promise.resolve(true);
733
851
  } else {
734
- trackerController.getSubject().setColorDepth(details.getInt("colorDepth"));
852
+ promise.reject("ERROR", "TrackerController is null");
735
853
  }
736
- promise.resolve(true);
737
854
 
738
855
  } catch (Throwable t) {
739
856
  promise.reject("ERROR", t.getMessage());
@@ -833,5 +950,4 @@ public class RNConvivaTrackerModule extends ReactContextBaseJavaModule {
833
950
  private TrackerController getTracker(String namespace) {
834
951
  return namespace == null ? ConvivaAppAnalytics.getDefaultTracker() : ConvivaAppAnalytics.getTracker(namespace);
835
952
  }
836
-
837
953
  }