@convivainc/conviva-react-native-appanalytics 0.1.5 → 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.
- package/CHANGELOG.md +6 -0
- package/README.md +0 -1
- package/android/src/main/java/com/conviva/react/apptracker/RNConvivaTrackerModule.java +275 -159
- package/android/src/main/java/com/conviva/react/apptracker/util/TrackerVersion.java +1 -1
- package/conviva-react-native-appanalytics.d.ts +13 -0
- package/conviva-react-native-appanalytics.js +108 -2
- package/ios/RNConvivaAppAnalytics.m +38 -0
- package/ios/Util/RNTrackerVersion.m +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
|
|
2
2
|
# Changelog
|
|
3
3
|
|
|
4
|
+
## 0.2.0 (06/SEP/2024)
|
|
5
|
+
- Introduces API for setting the conviva identifier
|
|
6
|
+
- Internal enhancements for the Android Bridge
|
|
7
|
+
*This feature needs the Android App SDK version of [0.9.5](https://github.com/Conviva/conviva-android-appanalytics)*
|
|
8
|
+
*This feature needs the iOS App SDK version of [0.2.30](https://github.com/Conviva/conviva-ios-appanalytics)*
|
|
9
|
+
|
|
4
10
|
## 0.1.5 (07/JUN/2024)
|
|
5
11
|
- Supports trackCustomEvent with JSONObject argument for [iOS Bridge](https://github.com/Conviva/conviva-ios-appanalytics)
|
|
6
12
|
|
package/README.md
CHANGED
|
@@ -133,7 +133,6 @@ let App = withReactNavigationAutotrack(autocaptureNavigationTrack)(AppNavigator)
|
|
|
133
133
|
|
|
134
134
|
|
|
135
135
|
## Custom event tracking to track your application specific events and state changes
|
|
136
|
-
<strong>_*** Note: Supported only in Android right now ***_<br></strong><br>
|
|
137
136
|
Use trackCustomEvent() API to track all kinds of events. This API provides 2 fields to describe the tracked events.
|
|
138
137
|
|
|
139
138
|
eventName - Name of the custom event. (Mandatory)
|
|
@@ -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
|
-
|
|
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
|
-
|
|
216
|
-
|
|
231
|
+
SelfDescribingJson sdj = EventUtil.createSelfDescribingJson(argmap);
|
|
232
|
+
SelfDescribing event = new SelfDescribing(sdj);
|
|
217
233
|
|
|
218
|
-
|
|
219
|
-
|
|
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
|
-
|
|
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
|
-
|
|
241
|
-
|
|
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
|
-
|
|
260
|
-
event.customContexts.addAll(evCtxts);
|
|
285
|
+
ScreenView event = EventUtil.createScreenViewEvent(argmap);
|
|
261
286
|
|
|
262
|
-
|
|
263
|
-
|
|
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
|
-
|
|
282
|
-
event.customContexts.addAll(evCtxts);
|
|
311
|
+
PageView event = EventUtil.createPageViewEvent(argmap);
|
|
283
312
|
|
|
284
|
-
|
|
285
|
-
|
|
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
|
-
|
|
336
|
+
Timing event = EventUtil.createTimingEvent(argmap);
|
|
302
337
|
|
|
303
|
-
|
|
304
|
-
|
|
338
|
+
List<SelfDescribingJson> evCtxts = EventUtil.createContexts(contexts);
|
|
339
|
+
event.customContexts.addAll(evCtxts);
|
|
305
340
|
|
|
306
|
-
|
|
307
|
-
|
|
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
|
-
|
|
326
|
-
event.customContexts.addAll(evCtxts);
|
|
362
|
+
ConsentGranted event = EventUtil.createConsentGrantedEvent(argmap);
|
|
327
363
|
|
|
328
|
-
|
|
329
|
-
|
|
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
|
-
|
|
348
|
-
event.customContexts.addAll(evCtxts);
|
|
388
|
+
ConsentWithdrawn event = EventUtil.createConsentWithdrawnEvent(argmap);
|
|
349
389
|
|
|
350
|
-
|
|
351
|
-
|
|
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
|
-
|
|
370
|
-
event.customContexts.addAll(evCtxts);
|
|
414
|
+
EcommerceTransaction event = EventUtil.createEcommerceTransactionEvent(argmap);
|
|
371
415
|
|
|
372
|
-
|
|
373
|
-
|
|
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
|
-
|
|
392
|
-
event.customContexts.addAll(evCtxts);
|
|
440
|
+
DeepLinkReceived event = EventUtil.createDeepLinkReceivedEvent(argmap);
|
|
393
441
|
|
|
394
|
-
|
|
395
|
-
|
|
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
|
-
|
|
414
|
-
event.customContexts.addAll(evCtxts);
|
|
466
|
+
MessageNotification event = EventUtil.createMessageNotificationEvent(argmap);
|
|
415
467
|
|
|
416
|
-
|
|
417
|
-
|
|
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
|
-
|
|
491
|
+
HashMap<String, Object> eventData = argmap.toHashMap();
|
|
434
492
|
|
|
435
|
-
|
|
436
|
-
|
|
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
|
-
|
|
512
|
+
HashMap<String, Object> tags = argmap.toHashMap();
|
|
452
513
|
|
|
453
|
-
|
|
454
|
-
|
|
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
|
-
|
|
470
|
-
|
|
471
|
-
|
|
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
|
-
|
|
485
|
-
|
|
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
|
-
|
|
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
|
-
|
|
560
|
-
|
|
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
|
-
|
|
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
|
-
|
|
578
|
-
|
|
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
|
-
|
|
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
|
-
|
|
596
|
-
|
|
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
|
-
|
|
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
|
-
|
|
614
|
-
|
|
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
|
-
|
|
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
|
-
|
|
632
|
-
|
|
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
|
-
|
|
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
|
-
|
|
650
|
-
|
|
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
|
-
|
|
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
|
-
|
|
668
|
-
|
|
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
|
-
|
|
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
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
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
|
-
|
|
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
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
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
|
-
|
|
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
|
-
|
|
732
|
-
|
|
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
|
-
|
|
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
|
}
|
|
@@ -848,6 +848,19 @@ declare function removeTracker(trackerNamespace: string): Promise<boolean>;
|
|
|
848
848
|
* @returns - A boolean promise
|
|
849
849
|
*/
|
|
850
850
|
declare function removeAllTrackers(): Promise<boolean>;
|
|
851
|
+
/**
|
|
852
|
+
* Gets the cliend id
|
|
853
|
+
*
|
|
854
|
+
* @returns - A string promise
|
|
855
|
+
*/
|
|
856
|
+
declare function getClientId(): Promise<string>;
|
|
857
|
+
/**
|
|
858
|
+
* Sets the cliend id
|
|
859
|
+
*
|
|
860
|
+
* @param clientId {string}
|
|
861
|
+
* @returns - A boolean promise
|
|
862
|
+
*/
|
|
863
|
+
declare function setClientId(clientId: string): Promise<boolean>;
|
|
851
864
|
declare const autocaptureNavigationTrack: (...args: any[]) => any;
|
|
852
865
|
|
|
853
866
|
declare const _default: {
|
|
@@ -139,6 +139,8 @@ const logMessages = {
|
|
|
139
139
|
// api error prefix
|
|
140
140
|
createTracker: 'createTracker:',
|
|
141
141
|
removeTracker: 'removeTracker: trackerNamespace can only be a string',
|
|
142
|
+
getClientId: 'getClientId: failed fetching client id',
|
|
143
|
+
setClientId: 'setClientId: clientId is invalid',
|
|
142
144
|
// methods
|
|
143
145
|
trackSelfDesc: 'trackSelfDescribingEvent:',
|
|
144
146
|
trackScreenView: 'trackScreenViewEvent:',
|
|
@@ -164,6 +166,7 @@ const logMessages = {
|
|
|
164
166
|
setScreenViewport: 'setScreenViewport: screenViewport can only be of ScreenSize type or null',
|
|
165
167
|
setColorDepth: 'setColorDepth: colorDepth can only be a number(integer) or null',
|
|
166
168
|
setSubjectData: 'setSubjectData:',
|
|
169
|
+
createTrackerNotSet: 'createTracker not invoked prior:'
|
|
167
170
|
};
|
|
168
171
|
|
|
169
172
|
/*
|
|
@@ -1282,6 +1285,7 @@ function setSubjectData$1(namespace, config) {
|
|
|
1282
1285
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1283
1286
|
* See the Apache License Version 2.0 for the specific language governing permissions and limitations there under.
|
|
1284
1287
|
*/
|
|
1288
|
+
let isTrackerInitialised = false;
|
|
1285
1289
|
/**
|
|
1286
1290
|
* Create a tracker from specified initial configuration.
|
|
1287
1291
|
*
|
|
@@ -1290,8 +1294,12 @@ function setSubjectData$1(namespace, config) {
|
|
|
1290
1294
|
*/
|
|
1291
1295
|
function createTracker$1(initConfig) {
|
|
1292
1296
|
return initValidate(initConfig)
|
|
1293
|
-
.then(() =>
|
|
1297
|
+
.then(() => {
|
|
1298
|
+
isTrackerInitialised = true;
|
|
1299
|
+
return RNConvivaTracker.createTracker(initConfig);
|
|
1300
|
+
})
|
|
1294
1301
|
.catch((error) => {
|
|
1302
|
+
isTrackerInitialised = false;
|
|
1295
1303
|
throw new Error(`${logMessages.createTracker} ${error.message}.`);
|
|
1296
1304
|
});
|
|
1297
1305
|
}
|
|
@@ -1305,6 +1313,10 @@ function removeTracker$1(trackerNamespace) {
|
|
|
1305
1313
|
if (typeof trackerNamespace !== 'string') {
|
|
1306
1314
|
return Promise.reject(new Error(logMessages.removeTracker));
|
|
1307
1315
|
}
|
|
1316
|
+
if (!isTrackerInitialised) {
|
|
1317
|
+
return Promise.reject(new Error(logMessages.createTrackerNotSet));
|
|
1318
|
+
}
|
|
1319
|
+
isTrackerInitialised = false;
|
|
1308
1320
|
return Promise.resolve(RNConvivaTracker.removeTracker({ tracker: trackerNamespace }));
|
|
1309
1321
|
}
|
|
1310
1322
|
/**
|
|
@@ -1313,8 +1325,35 @@ function removeTracker$1(trackerNamespace) {
|
|
|
1313
1325
|
* @returns - A void promise
|
|
1314
1326
|
*/
|
|
1315
1327
|
function removeAllTrackers$1() {
|
|
1328
|
+
if (!isTrackerInitialised) {
|
|
1329
|
+
return Promise.reject(new Error(logMessages.createTrackerNotSet));
|
|
1330
|
+
}
|
|
1316
1331
|
return Promise.resolve(RNConvivaTracker.removeAllTrackers());
|
|
1317
1332
|
}
|
|
1333
|
+
/**
|
|
1334
|
+
* Get the client id which is in prescribed format.
|
|
1335
|
+
*
|
|
1336
|
+
* @returns - A promise string if the client if available or genetrated
|
|
1337
|
+
*/
|
|
1338
|
+
function getClientId$1() {
|
|
1339
|
+
return Promise.resolve(RNConvivaTracker.getClientId())
|
|
1340
|
+
.catch((error) => {
|
|
1341
|
+
throw new Error(`${logMessages.getClientId} ${error.message}.`);
|
|
1342
|
+
});
|
|
1343
|
+
}
|
|
1344
|
+
/**
|
|
1345
|
+
* Set the client id which is in the prescribed format.
|
|
1346
|
+
*
|
|
1347
|
+
* @param clientId {string} - client id generated for the application in the device
|
|
1348
|
+
* @returns - A promise fullfilled if the client id is valid
|
|
1349
|
+
*/
|
|
1350
|
+
function setClientId$1(clid) {
|
|
1351
|
+
// have necessary checks in place
|
|
1352
|
+
if (!clid || clid === "" || clid.split(".").length != 4 || !clid.split(".").every(part => part !== "" && !isNaN(Number(part)))) {
|
|
1353
|
+
return Promise.reject(new Error(logMessages.setClientId));
|
|
1354
|
+
}
|
|
1355
|
+
return Promise.resolve(RNConvivaTracker.setClientId({ clientId: clid }));
|
|
1356
|
+
}
|
|
1318
1357
|
/**
|
|
1319
1358
|
* Returns a function to track a SelfDescribing event by a tracker
|
|
1320
1359
|
*
|
|
@@ -1323,6 +1362,9 @@ function removeAllTrackers$1() {
|
|
|
1323
1362
|
*/
|
|
1324
1363
|
function trackSelfDescribingEvent(namespace) {
|
|
1325
1364
|
return function (argmap, contexts = []) {
|
|
1365
|
+
if (!isTrackerInitialised) {
|
|
1366
|
+
return Promise.reject(new Error(logMessages.createTrackerNotSet));
|
|
1367
|
+
}
|
|
1326
1368
|
return trackSelfDescribingEvent$1(namespace, argmap, contexts);
|
|
1327
1369
|
};
|
|
1328
1370
|
}
|
|
@@ -1334,6 +1376,9 @@ function trackSelfDescribingEvent(namespace) {
|
|
|
1334
1376
|
*/
|
|
1335
1377
|
function trackScreenViewEvent(namespace) {
|
|
1336
1378
|
return function (argmap, contexts = []) {
|
|
1379
|
+
if (!isTrackerInitialised) {
|
|
1380
|
+
return Promise.reject(new Error(logMessages.createTrackerNotSet));
|
|
1381
|
+
}
|
|
1337
1382
|
return trackScreenViewEvent$1(namespace, argmap, contexts);
|
|
1338
1383
|
};
|
|
1339
1384
|
}
|
|
@@ -1345,6 +1390,9 @@ function trackScreenViewEvent(namespace) {
|
|
|
1345
1390
|
*/
|
|
1346
1391
|
function trackStructuredEvent(namespace) {
|
|
1347
1392
|
return function (argmap, contexts = []) {
|
|
1393
|
+
if (!isTrackerInitialised) {
|
|
1394
|
+
return Promise.reject(new Error(logMessages.createTrackerNotSet));
|
|
1395
|
+
}
|
|
1348
1396
|
return trackStructuredEvent$1(namespace, argmap, contexts);
|
|
1349
1397
|
};
|
|
1350
1398
|
}
|
|
@@ -1356,6 +1404,9 @@ function trackStructuredEvent(namespace) {
|
|
|
1356
1404
|
*/
|
|
1357
1405
|
function trackPageView(namespace) {
|
|
1358
1406
|
return function (argmap, contexts = []) {
|
|
1407
|
+
if (!isTrackerInitialised) {
|
|
1408
|
+
return Promise.reject(new Error(logMessages.createTrackerNotSet));
|
|
1409
|
+
}
|
|
1359
1410
|
return trackPageView$1(namespace, argmap, contexts);
|
|
1360
1411
|
};
|
|
1361
1412
|
}
|
|
@@ -1367,6 +1418,9 @@ function trackPageView(namespace) {
|
|
|
1367
1418
|
*/
|
|
1368
1419
|
function trackTimingEvent(namespace) {
|
|
1369
1420
|
return function (argmap, contexts = []) {
|
|
1421
|
+
if (!isTrackerInitialised) {
|
|
1422
|
+
return Promise.reject(new Error(logMessages.createTrackerNotSet));
|
|
1423
|
+
}
|
|
1370
1424
|
return trackTimingEvent$1(namespace, argmap, contexts);
|
|
1371
1425
|
};
|
|
1372
1426
|
}
|
|
@@ -1378,6 +1432,9 @@ function trackTimingEvent(namespace) {
|
|
|
1378
1432
|
*/
|
|
1379
1433
|
function trackConsentGrantedEvent(namespace) {
|
|
1380
1434
|
return function (argmap, contexts = []) {
|
|
1435
|
+
if (!isTrackerInitialised) {
|
|
1436
|
+
return Promise.reject(new Error(logMessages.createTrackerNotSet));
|
|
1437
|
+
}
|
|
1381
1438
|
return trackConsentGrantedEvent$1(namespace, argmap, contexts);
|
|
1382
1439
|
};
|
|
1383
1440
|
}
|
|
@@ -1389,6 +1446,9 @@ function trackConsentGrantedEvent(namespace) {
|
|
|
1389
1446
|
*/
|
|
1390
1447
|
function trackConsentWithdrawnEvent(namespace) {
|
|
1391
1448
|
return function (argmap, contexts = []) {
|
|
1449
|
+
if (!isTrackerInitialised) {
|
|
1450
|
+
return Promise.reject(new Error(logMessages.createTrackerNotSet));
|
|
1451
|
+
}
|
|
1392
1452
|
return trackConsentWithdrawnEvent$1(namespace, argmap, contexts);
|
|
1393
1453
|
};
|
|
1394
1454
|
}
|
|
@@ -1400,6 +1460,9 @@ function trackConsentWithdrawnEvent(namespace) {
|
|
|
1400
1460
|
*/
|
|
1401
1461
|
function trackEcommerceTransactionEvent(namespace) {
|
|
1402
1462
|
return function (argmap, contexts = []) {
|
|
1463
|
+
if (!isTrackerInitialised) {
|
|
1464
|
+
return Promise.reject(new Error(logMessages.createTrackerNotSet));
|
|
1465
|
+
}
|
|
1403
1466
|
return trackEcommerceTransactionEvent$1(namespace, argmap, contexts);
|
|
1404
1467
|
};
|
|
1405
1468
|
}
|
|
@@ -1411,6 +1474,9 @@ function trackEcommerceTransactionEvent(namespace) {
|
|
|
1411
1474
|
*/
|
|
1412
1475
|
function trackDeepLinkReceivedEvent(namespace) {
|
|
1413
1476
|
return function (argmap, contexts = []) {
|
|
1477
|
+
if (!isTrackerInitialised) {
|
|
1478
|
+
return Promise.reject(new Error(logMessages.createTrackerNotSet));
|
|
1479
|
+
}
|
|
1414
1480
|
return trackDeepLinkReceivedEvent$1(namespace, argmap, contexts);
|
|
1415
1481
|
};
|
|
1416
1482
|
}
|
|
@@ -1422,6 +1488,9 @@ function trackDeepLinkReceivedEvent(namespace) {
|
|
|
1422
1488
|
*/
|
|
1423
1489
|
function trackMessageNotificationEvent(namespace) {
|
|
1424
1490
|
return function (argmap, contexts = []) {
|
|
1491
|
+
if (!isTrackerInitialised) {
|
|
1492
|
+
return Promise.reject(new Error(logMessages.createTrackerNotSet));
|
|
1493
|
+
}
|
|
1425
1494
|
return trackMessageNotificationEvent$1(namespace, argmap, contexts);
|
|
1426
1495
|
};
|
|
1427
1496
|
}
|
|
@@ -1433,26 +1502,41 @@ function trackMessageNotificationEvent(namespace) {
|
|
|
1433
1502
|
*/
|
|
1434
1503
|
function trackCustomEvent(namespace) {
|
|
1435
1504
|
return function (eventName, eventData, contexts = []) {
|
|
1505
|
+
if (!isTrackerInitialised) {
|
|
1506
|
+
return Promise.reject(new Error(logMessages.createTrackerNotSet));
|
|
1507
|
+
}
|
|
1436
1508
|
return trackCustomEvent$1(namespace, eventName, eventData, contexts);
|
|
1437
1509
|
};
|
|
1438
1510
|
}
|
|
1439
1511
|
function setCustomTags(namespace) {
|
|
1440
1512
|
return function (tags, contexts = []) {
|
|
1513
|
+
if (!isTrackerInitialised) {
|
|
1514
|
+
return Promise.reject(new Error(logMessages.createTrackerNotSet));
|
|
1515
|
+
}
|
|
1441
1516
|
return setCustomTags$1(namespace, tags, contexts);
|
|
1442
1517
|
};
|
|
1443
1518
|
}
|
|
1444
1519
|
function setCustomTagsWithCategory(namespace) {
|
|
1445
1520
|
return function (category, tags, contexts = []) {
|
|
1521
|
+
if (!isTrackerInitialised) {
|
|
1522
|
+
return Promise.reject(new Error(logMessages.createTrackerNotSet));
|
|
1523
|
+
}
|
|
1446
1524
|
return setCustomTagsWithCategory$1(namespace, category, tags, contexts);
|
|
1447
1525
|
};
|
|
1448
1526
|
}
|
|
1449
1527
|
function clearCustomTags(namespace) {
|
|
1450
1528
|
return function (tagKeys, contexts = []) {
|
|
1529
|
+
if (!isTrackerInitialised) {
|
|
1530
|
+
return Promise.reject(new Error(logMessages.createTrackerNotSet));
|
|
1531
|
+
}
|
|
1451
1532
|
return clearCustomTags$1(namespace, tagKeys, contexts);
|
|
1452
1533
|
};
|
|
1453
1534
|
}
|
|
1454
1535
|
function clearAllCustomTags(namespace) {
|
|
1455
1536
|
return function (contexts = []) {
|
|
1537
|
+
if (!isTrackerInitialised) {
|
|
1538
|
+
return Promise.reject(new Error(logMessages.createTrackerNotSet));
|
|
1539
|
+
}
|
|
1456
1540
|
return clearAllCustomTags$1(namespace, contexts);
|
|
1457
1541
|
};
|
|
1458
1542
|
}
|
|
@@ -1685,6 +1769,9 @@ function getForegroundIndex(namespace) {
|
|
|
1685
1769
|
*/
|
|
1686
1770
|
function trackClickEvent(namespace) {
|
|
1687
1771
|
return function (eventData) {
|
|
1772
|
+
if (!isTrackerInitialised) {
|
|
1773
|
+
return Promise.reject(new Error(logMessages.createTrackerNotSet));
|
|
1774
|
+
}
|
|
1688
1775
|
return trackClickEvent$1(namespace, eventData);
|
|
1689
1776
|
};
|
|
1690
1777
|
}
|
|
@@ -2187,6 +2274,25 @@ function removeAllTrackers() {
|
|
|
2187
2274
|
return removeAllTrackers$1()
|
|
2188
2275
|
.catch((e) => errorHandler(e));
|
|
2189
2276
|
}
|
|
2277
|
+
/**
|
|
2278
|
+
* Gets the cliend id
|
|
2279
|
+
*
|
|
2280
|
+
* @returns - A string promise
|
|
2281
|
+
*/
|
|
2282
|
+
function getClientId() {
|
|
2283
|
+
return Promise.resolve(getClientId$1())
|
|
2284
|
+
.catch((e) => errorHandler(e));
|
|
2285
|
+
}
|
|
2286
|
+
/**
|
|
2287
|
+
* Sets the cliend id
|
|
2288
|
+
*
|
|
2289
|
+
* @param clientId {string}
|
|
2290
|
+
* @returns - A boolean promise
|
|
2291
|
+
*/
|
|
2292
|
+
function setClientId(clientId) {
|
|
2293
|
+
return Promise.resolve(setClientId$1(clientId))
|
|
2294
|
+
.catch((e) => errorHandler(e));
|
|
2295
|
+
}
|
|
2190
2296
|
const autocaptureNavigationTrack = handleError((payload) => {
|
|
2191
2297
|
checkDisplayNamePlugin();
|
|
2192
2298
|
trackScreenViewEvent('CAT')(payload).catch((e) => errorHandler(e));
|
|
@@ -2200,5 +2306,5 @@ var index = {
|
|
|
2200
2306
|
withReactNavigationAutotrack: withReactNavigationAutotrack(autocaptureNavigationTrack)
|
|
2201
2307
|
};
|
|
2202
2308
|
|
|
2203
|
-
export { autocaptureNavigationTrack, createTracker, index as default, getWebViewCallback, removeAllTrackers, removeTracker, withReactNavigationAutotrack };
|
|
2309
|
+
export { autocaptureNavigationTrack, createTracker, index as default, getClientId, getWebViewCallback, removeAllTrackers, removeTracker, setClientId, withReactNavigationAutotrack };
|
|
2204
2310
|
//# sourceMappingURL=conviva-react-native-appanalytics.js.map
|
|
@@ -1074,6 +1074,44 @@ RCT_EXPORT_METHOD(getForegroundIndex:
|
|
|
1074
1074
|
}
|
|
1075
1075
|
}
|
|
1076
1076
|
|
|
1077
|
+
RCT_EXPORT_METHOD(getClientId: (RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) {
|
|
1078
|
+
|
|
1079
|
+
CATAppAnalytics *convivaAppAnalytics = [CATAppAnalytics sharedInstance];
|
|
1080
|
+
|
|
1081
|
+
if (convivaAppAnalytics != nil) {
|
|
1082
|
+
NSString *clientId = [convivaAppAnalytics getClientId];
|
|
1083
|
+
if (clientId != nil && clientId.length > 0) {
|
|
1084
|
+
resolve(clientId);
|
|
1085
|
+
}
|
|
1086
|
+
else {
|
|
1087
|
+
NSError* error = [NSError errorWithDomain:@"ConvivaAppAnalytics" code:200 userInfo:nil];
|
|
1088
|
+
reject(@"ERROR", @"ClientId not found", error);
|
|
1089
|
+
}
|
|
1090
|
+
} else {
|
|
1091
|
+
NSError* error = [NSError errorWithDomain:@"ConvivaAppAnalytics" code:200 userInfo:nil];
|
|
1092
|
+
reject(@"ERROR", @"CATAppAnalytics not found", error);
|
|
1093
|
+
}
|
|
1094
|
+
}
|
|
1095
|
+
|
|
1096
|
+
RCT_EXPORT_METHOD(setClientId:
|
|
1097
|
+
(NSDictionary *)details
|
|
1098
|
+
resolver:(RCTPromiseResolveBlock)resolve
|
|
1099
|
+
rejecter:(RCTPromiseRejectBlock)reject) {
|
|
1100
|
+
CATAppAnalytics *convivaAppAnalytics = [CATAppAnalytics sharedInstance];
|
|
1101
|
+
|
|
1102
|
+
if (convivaAppAnalytics != nil) {
|
|
1103
|
+
NSString *newClientId = [details rncat_stringForKey:@"clientId" defaultValue:nil];
|
|
1104
|
+
BOOL isClientIdSet = NO;
|
|
1105
|
+
if (newClientId != nil && newClientId.length > 0) {
|
|
1106
|
+
isClientIdSet = [convivaAppAnalytics setClientId: newClientId];
|
|
1107
|
+
}
|
|
1108
|
+
resolve(@(isClientIdSet));
|
|
1109
|
+
} else {
|
|
1110
|
+
NSError* error = [NSError errorWithDomain:@"ConvivaAppAnalytics" code:200 userInfo:nil];
|
|
1111
|
+
reject(@"ERROR", @"tracker with given namespace not found", error);
|
|
1112
|
+
}
|
|
1113
|
+
}
|
|
1114
|
+
|
|
1077
1115
|
- (nullable id<CATTrackerController>)trackerByNamespace:(NSString *)namespace {
|
|
1078
1116
|
return [namespace isEqual:[NSNull null]] ? [CATAppAnalytics defaultTracker] : [CATAppAnalytics trackerByNamespace:namespace];
|
|
1079
1117
|
}
|
package/package.json
CHANGED