@adadapted/react-native-sdk 3.2.0 → 3.4.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 (72) hide show
  1. package/android/.project +1 -1
  2. package/android/.settings/org.eclipse.buildship.core.prefs +2 -2
  3. package/android/bin/build.gradle +13 -11
  4. package/android/bin/gradle.properties +4 -4
  5. package/android/build.gradle +19 -81
  6. package/android/gradle.properties +4 -4
  7. package/android/src/main/AndroidManifest.xml +1 -3
  8. package/android/src/main/java/com/adadaptedreactnativesdk/AdadaptedReactNativeSdkModule.kt +39 -54
  9. package/ios/AdadaptedReactNativeSdk.m +1 -1
  10. package/lib/commonjs/api/adadaptedApiRequests.js +3 -3
  11. package/lib/commonjs/api/adadaptedApiRequests.js.map +1 -1
  12. package/lib/commonjs/api/adadaptedApiRequests.mock.js +25 -8
  13. package/lib/commonjs/api/adadaptedApiRequests.mock.js.map +1 -1
  14. package/lib/commonjs/api/adadaptedApiTypes.js +68 -28
  15. package/lib/commonjs/api/adadaptedApiTypes.js.map +1 -1
  16. package/lib/commonjs/components/AdZone.js +101 -67
  17. package/lib/commonjs/components/AdZone.js.map +1 -1
  18. package/lib/commonjs/components/ReportAdButton.js +40 -0
  19. package/lib/commonjs/components/ReportAdButton.js.map +1 -0
  20. package/lib/commonjs/images/ReportIcon.png +0 -0
  21. package/lib/commonjs/index.js +139 -93
  22. package/lib/commonjs/index.js.map +1 -1
  23. package/lib/commonjs/package.json +1 -0
  24. package/lib/commonjs/types.js +4 -0
  25. package/lib/commonjs/types.js.map +1 -1
  26. package/lib/commonjs/util.js +14 -4
  27. package/lib/commonjs/util.js.map +1 -1
  28. package/lib/module/api/adadaptedApiRequests.js +2 -0
  29. package/lib/module/api/adadaptedApiRequests.js.map +1 -1
  30. package/lib/module/api/adadaptedApiRequests.mock.js +27 -9
  31. package/lib/module/api/adadaptedApiRequests.mock.js.map +1 -1
  32. package/lib/module/api/adadaptedApiTypes.js +85 -24
  33. package/lib/module/api/adadaptedApiTypes.js.map +1 -1
  34. package/lib/module/components/AdZone.js +90 -61
  35. package/lib/module/components/AdZone.js.map +1 -1
  36. package/lib/module/components/ReportAdButton.js +34 -0
  37. package/lib/module/components/ReportAdButton.js.map +1 -0
  38. package/lib/module/images/ReportIcon.png +0 -0
  39. package/lib/module/index.js +142 -89
  40. package/lib/module/index.js.map +1 -1
  41. package/lib/module/package.json +1 -0
  42. package/lib/module/types.js +2 -0
  43. package/lib/module/types.js.map +1 -1
  44. package/lib/module/util.js +16 -4
  45. package/lib/module/util.js.map +1 -1
  46. package/lib/typescript/src/api/adadaptedApiRequests.d.ts +1 -0
  47. package/lib/typescript/src/api/adadaptedApiRequests.d.ts.map +1 -0
  48. package/lib/typescript/src/api/adadaptedApiRequests.mock.d.ts +1 -0
  49. package/lib/typescript/src/api/adadaptedApiRequests.mock.d.ts.map +1 -0
  50. package/lib/typescript/src/api/adadaptedApiTypes.d.ts +5 -0
  51. package/lib/typescript/src/api/adadaptedApiTypes.d.ts.map +1 -0
  52. package/lib/typescript/src/components/AdZone.d.ts +11 -6
  53. package/lib/typescript/src/components/AdZone.d.ts.map +1 -0
  54. package/lib/typescript/src/components/ReportAdButton.d.ts +19 -0
  55. package/lib/typescript/src/components/ReportAdButton.d.ts.map +1 -0
  56. package/lib/typescript/src/index.d.ts +33 -17
  57. package/lib/typescript/src/index.d.ts.map +1 -0
  58. package/lib/typescript/src/types.d.ts +3 -2
  59. package/lib/typescript/src/types.d.ts.map +1 -0
  60. package/lib/typescript/src/util.d.ts +13 -0
  61. package/lib/typescript/src/util.d.ts.map +1 -0
  62. package/package.json +151 -155
  63. package/src/api/adadaptedApiRequests.mock.ts +25 -9
  64. package/src/api/adadaptedApiTypes.ts +5 -0
  65. package/src/components/AdZone.tsx +94 -46
  66. package/src/components/ReportAdButton.tsx +46 -0
  67. package/src/images/ReportIcon.png +0 -0
  68. package/src/index.tsx +146 -69
  69. package/src/util.ts +13 -0
  70. package/lib/typescript/example/index.d.ts +0 -1
  71. package/lib/typescript/example/src/App.d.ts +0 -9
  72. package/lib/typescript/jest.setup.d.ts +0 -5
@@ -1,9 +1,10 @@
1
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
1
+ "use strict";
2
+
2
3
  /**
3
4
  * The AdadaptedReactNativeSdk package/module definition.
4
5
  */
5
6
  import * as React from "react";
6
- import { AppState, DeviceEventEmitter, Linking, NativeModules, Platform } from "react-native";
7
+ import { DeviceEventEmitter, Linking, NativeModules, Platform } from "react-native";
7
8
  import * as adadaptedApiRequests from "./api/adadaptedApiRequests";
8
9
  import { ListManagerEventName, ListManagerEventSource, PayloadStatus, ReportedEventType } from "./api/adadaptedApiTypes";
9
10
  import { AdZone } from "./components/AdZone";
@@ -14,45 +15,62 @@ import base64 from "react-native-base64";
14
15
  /**
15
16
  * Enum representing possible device operating systems.
16
17
  */
17
- export let DeviceOS;
18
-
19
- /**
20
- * Enum defining the different API environments.
21
- */
22
- (function (DeviceOS) {
18
+ import { jsx as _jsx } from "react/jsx-runtime";
19
+ export let DeviceOS = /*#__PURE__*/function (DeviceOS) {
23
20
  DeviceOS["ANDROID"] = "android";
24
21
  DeviceOS["IOS"] = "ios";
25
- })(DeviceOS || (DeviceOS = {}));
26
- export let ApiEnv;
22
+ return DeviceOS;
23
+ }({});
27
24
 
28
25
  /**
29
- * Enum defining the different API environments for List Manager.
26
+ * Enum defining the different API environments.
30
27
  */
31
- (function (ApiEnv) {
28
+ export let ApiEnv = /*#__PURE__*/function (ApiEnv) {
32
29
  ApiEnv["Prod"] = "https://ads.adadapted.com";
33
30
  ApiEnv["Dev"] = "https://sandbox.adadapted.com";
34
31
  ApiEnv["Mock"] = "MOCK_DATA";
35
- })(ApiEnv || (ApiEnv = {}));
36
- export let ListManagerApiEnv;
32
+ return ApiEnv;
33
+ }({});
37
34
 
38
35
  /**
39
- * Enum defining the different API environments for the Payload Server.
36
+ * Enum defining the different API environments for List Manager.
40
37
  */
41
- (function (ListManagerApiEnv) {
38
+ export let ListManagerApiEnv = /*#__PURE__*/function (ListManagerApiEnv) {
42
39
  ListManagerApiEnv["Prod"] = "https://ec.adadapted.com";
43
40
  ListManagerApiEnv["Dev"] = "https://sandec.adadapted.com";
44
41
  ListManagerApiEnv["Mock"] = "MOCK_DATA";
45
- })(ListManagerApiEnv || (ListManagerApiEnv = {}));
46
- export let PayloadApiEnv;
42
+ return ListManagerApiEnv;
43
+ }({});
47
44
 
48
45
  /**
49
- * Interface defining inputs to the {@link Sdk.initialize} method.
46
+ * Enum defining the different API environments for the Payload Server.
50
47
  */
51
- (function (PayloadApiEnv) {
48
+ export let PayloadApiEnv = /*#__PURE__*/function (PayloadApiEnv) {
52
49
  PayloadApiEnv["Prod"] = "https://payload.adadapted.com";
53
50
  PayloadApiEnv["Dev"] = "https://sandpayload.adadapted.com";
54
51
  PayloadApiEnv["Mock"] = "MOCK_DATA";
55
- })(PayloadApiEnv || (PayloadApiEnv = {}));
52
+ return PayloadApiEnv;
53
+ }({});
54
+
55
+ /**
56
+ * Interface defining inputs to the {@link Sdk.initialize: AdadaptedReactNativeSdk} method.
57
+ */
58
+
59
+ /**
60
+ * Interface defining properties of a user's Device.
61
+ */
62
+
63
+ /**
64
+ * Interface defining a wrapper for an {@link AdZone}.
65
+ */
66
+
67
+ /**
68
+ * Interface defining a keyword search result.
69
+ * This is primarily used to export an interface directly from
70
+ * {@link AdadaptedReactNativeSdk} so the interaction with the SDK all be
71
+ * done through this namespace.
72
+ */
73
+
56
74
  /**
57
75
  * Class that acts as the AdAdapted SDK for react-native.
58
76
  */
@@ -60,7 +78,7 @@ export class AdadaptedReactNativeSdk {
60
78
  /**
61
79
  * The client app ID used to send to API endpoints.
62
80
  */
63
-
81
+ appId = "";
64
82
  /**
65
83
  * The API environment to use when making API calls.
66
84
  */
@@ -94,6 +112,10 @@ export class AdadaptedReactNativeSdk {
94
112
  * The available ad zones.
95
113
  */
96
114
 
115
+ /**
116
+ * The available off-screen ad zones.
117
+ */
118
+ offScreenAdZones = [];
97
119
  /**
98
120
  * The touch sensitivity of the Ad Zone in both the X and Y directions.
99
121
  * This is used to determine the click/press sensitivity when the
@@ -128,7 +150,7 @@ export class AdadaptedReactNativeSdk {
128
150
  /**
129
151
  * If provided, triggers when an "add to list" item is
130
152
  * clicked in an ad zone.
131
- * @param items - The array of items to "add to list".
153
+ * @param detail - The array of items to "add to list".
132
154
  * @param isExternalPayload - If true, the items are from an external payload.
133
155
  */
134
156
 
@@ -147,11 +169,7 @@ export class AdadaptedReactNativeSdk {
147
169
  */
148
170
 
149
171
  /**
150
- * Track ad zone visibility for off-screen ads.
151
- */
152
-
153
- /**
154
- * Optional default ad zone visibility for off-screen ads.
172
+ * Ad zones that contain off-screen ads.
155
173
  */
156
174
 
157
175
  /**
@@ -178,30 +196,18 @@ export class AdadaptedReactNativeSdk {
178
196
  return this.adZones;
179
197
  }
180
198
 
199
+ /**
200
+ * Gets the list of available off-screen Ad Zones.
201
+ * @returns all available off-screen ad zones.
202
+ */
203
+ getOffScreenAdZones() {
204
+ return this.offScreenAdZones;
205
+ }
206
+
181
207
  /**
182
208
  * @inheritDoc
183
209
  */
184
210
  constructor() {
185
- _defineProperty(this, "appId", "");
186
- _defineProperty(this, "apiEnv", void 0);
187
- _defineProperty(this, "listManagerApiEnv", void 0);
188
- _defineProperty(this, "payloadApiEnv", void 0);
189
- _defineProperty(this, "deviceOs", void 0);
190
- _defineProperty(this, "sessionId", void 0);
191
- _defineProperty(this, "deviceInfo", void 0);
192
- _defineProperty(this, "sessionInfo", void 0);
193
- _defineProperty(this, "adZones", void 0);
194
- _defineProperty(this, "xyAdZoneDragDistanceAllowed", void 0);
195
- _defineProperty(this, "onAdZonesRefreshed", void 0);
196
- _defineProperty(this, "refreshAdZonesTimer", void 0);
197
- _defineProperty(this, "keywordInterceptSearchValue", void 0);
198
- _defineProperty(this, "keywordIntercepts", void 0);
199
- _defineProperty(this, "onAddToListTriggered", void 0);
200
- _defineProperty(this, "onOutOfAppPayloadAvailable", void 0);
201
- _defineProperty(this, "deepLinkOnEventListener", void 0);
202
- _defineProperty(this, "AppStateOnEventListener", void 0);
203
- _defineProperty(this, "isAdZoneVisible", true);
204
- _defineProperty(this, "defaultAdZoneVisibility", void 0);
205
211
  this.apiEnv = ApiEnv.Prod;
206
212
  this.listManagerApiEnv = ListManagerApiEnv.Prod;
207
213
  this.payloadApiEnv = PayloadApiEnv.Prod;
@@ -244,8 +250,7 @@ export class AdadaptedReactNativeSdk {
244
250
  if (Object.prototype.hasOwnProperty.call(adZones, adZoneId)) {
245
251
  adZoneInfoList.push({
246
252
  zoneId: adZones[adZoneId].id,
247
- adZone: /*#__PURE__*/React.createElement(AdZone, {
248
- key: adZoneId,
253
+ adZone: /*#__PURE__*/_jsx(AdZone, {
249
254
  appId: this.appId,
250
255
  sessionId: this.sessionId,
251
256
  udid: this.deviceInfo.udid,
@@ -253,18 +258,57 @@ export class AdadaptedReactNativeSdk {
253
258
  apiEnv: this.apiEnv,
254
259
  xyDragDistanceAllowed: this.xyAdZoneDragDistanceAllowed || 25,
255
260
  adZoneData: adZones[adZoneId],
256
- onAddToListTriggered: items => {
257
- safeInvoke(this.onAddToListTriggered, items);
261
+ onAddToListTriggered: details => {
262
+ safeInvoke(this.onAddToListTriggered, {
263
+ zoneId: adZoneId,
264
+ items: details
265
+ });
258
266
  },
259
- isAdZoneVisible: !this.onAdZoneVisibilityChanged,
260
- defaultToInvisibleAdZone: this.defaultAdZoneVisibility
261
- })
267
+ isAdZoneVisible: true,
268
+ offScreenAdZone: false
269
+ }, adZoneId)
262
270
  });
263
271
  }
264
272
  }
265
273
  return adZoneInfoList;
266
274
  }
267
275
 
276
+ /**
277
+ * Creates all off-screen Ad Zone Info objects based on provided off-screen Ad Zones.
278
+ * @param adZones - The object of available zones.
279
+ * @returns the array of off-screen Ad Zone Info objects.
280
+ */
281
+ generateOffScreenAdZones(adZones) {
282
+ const adZoneInfoList = [];
283
+ for (const adZoneId in adZones) {
284
+ if (Object.prototype.hasOwnProperty.call(adZones, adZoneId)) {
285
+ if (this.offScreenAdZone && this.offScreenAdZone.length > 0 && this.offScreenAdZone.includes(Number(adZoneId))) {
286
+ adZoneInfoList.push({
287
+ zoneId: adZones[adZoneId].id,
288
+ adZone: /*#__PURE__*/_jsx(AdZone, {
289
+ appId: this.appId,
290
+ sessionId: this.sessionId,
291
+ udid: this.deviceInfo.udid,
292
+ deviceOs: this.deviceOs,
293
+ apiEnv: this.apiEnv,
294
+ xyDragDistanceAllowed: this.xyAdZoneDragDistanceAllowed || 25,
295
+ adZoneData: adZones[adZoneId],
296
+ onAddToListTriggered: items => {
297
+ safeInvoke(this.onAddToListTriggered, {
298
+ zoneId: adZoneId,
299
+ items
300
+ });
301
+ },
302
+ isAdZoneVisible: false,
303
+ offScreenAdZone: true
304
+ }, adZoneId)
305
+ });
306
+ }
307
+ }
308
+ }
309
+ return adZoneInfoList;
310
+ }
311
+
268
312
  /**
269
313
  * Triggered when session data is initialized or refreshed. Creates
270
314
  * a timer based on the session data refresh value.
@@ -282,6 +326,7 @@ export class AdadaptedReactNativeSdk {
282
326
  }, this.deviceOs, this.apiEnv).then(response => {
283
327
  this.sessionInfo = response.data;
284
328
  this.adZones = this.generateAdZones(response.data.zones);
329
+ this.offScreenAdZones = this.generateOffScreenAdZones(response.data.zones);
285
330
 
286
331
  // Call the user defined callback indicating
287
332
  // the session data has been refreshed.
@@ -374,25 +419,25 @@ export class AdadaptedReactNativeSdk {
374
419
  */
375
420
  handleDeepLink(event) {
376
421
  const searchStr = "data=";
377
- const dataIndex = event["url"].indexOf(searchStr);
422
+ const dataIndex = event.url.indexOf(searchStr);
378
423
  if (dataIndex !== -1) {
379
- const encodedData = event.url.substr(dataIndex + searchStr.length);
424
+ const encodedData = event.url.substr(`${dataIndex}${searchStr.length}`);
380
425
  const payloadData = JSON.parse(base64.decode(encodedData));
381
- const payloadId = payloadData["payload_id"];
382
- const itemDataList = payloadData["detailed_list_items"];
426
+ const payloadId = payloadData.payload_id;
427
+ const itemDataList = payloadData.detailed_list_items;
383
428
  if (itemDataList && itemDataList.length > 0) {
384
429
  const finalItemList = [];
385
430
  for (const itemData of itemDataList) {
386
431
  finalItemList.push({
387
432
  payload_id: payloadId,
388
433
  detailed_list_items: [{
389
- product_title: itemData["product_title"],
390
- product_brand: itemData["product_brand"],
391
- product_category: itemData["product_category"],
392
- product_barcode: itemData["product_barcode"],
393
- product_discount: itemData["product_discount"],
394
- product_image: itemData["product_image"],
395
- product_sku: itemData["product_sku"]
434
+ product_title: itemData.product_title,
435
+ product_brand: itemData.product_brand,
436
+ product_category: itemData.product_category,
437
+ product_barcode: itemData.product_barcode,
438
+ product_discount: itemData.product_discount,
439
+ product_image: itemData.product_image,
440
+ product_sku: itemData.product_sku
396
441
  }]
397
442
  });
398
443
  }
@@ -428,13 +473,13 @@ export class AdadaptedReactNativeSdk {
428
473
  finalItemList.push({
429
474
  payload_id: payload.payload_id,
430
475
  detailed_list_items: [{
431
- product_title: itemData["product_title"],
432
- product_brand: itemData["product_brand"],
433
- product_category: itemData["product_category"],
434
- product_barcode: itemData["product_barcode"],
435
- product_discount: itemData["product_discount"],
436
- product_image: itemData["product_image"],
437
- product_sku: itemData["product_sku"]
476
+ product_title: itemData.product_title,
477
+ product_brand: itemData.product_brand,
478
+ product_category: itemData.product_category,
479
+ product_barcode: itemData.product_barcode,
480
+ product_discount: itemData.product_discount,
481
+ product_image: itemData.product_image,
482
+ product_sku: itemData.product_sku
438
483
  }]
439
484
  });
440
485
  }
@@ -449,10 +494,9 @@ export class AdadaptedReactNativeSdk {
449
494
 
450
495
  /**
451
496
  * Notify the ad zone of visibility status change for off-screen ads.
497
+ * @param isVisible - Ad Zone visibility tracking.
452
498
  */
453
- onAdZoneVisibilityChanged() {
454
- const isVisible = !this.isAdZoneVisible;
455
- this.isAdZoneVisible = isVisible;
499
+ onAdZoneVisibilityChanged(isVisible) {
456
500
  DeviceEventEmitter.emit("visibility-event", isVisible);
457
501
  }
458
502
 
@@ -516,10 +560,9 @@ export class AdadaptedReactNativeSdk {
516
560
  this.onOutOfAppPayloadAvailable = props.onOutOfAppPayloadAvailable;
517
561
  }
518
562
 
519
- // If provided for off-screen ads, set the ad zone visibility for ad tracking.
520
- if (props.defaultToInvisibleAdZone) {
521
- this.defaultAdZoneVisibility = props.defaultToInvisibleAdZone;
522
- this.onAdZoneVisibilityChanged();
563
+ // If provided set any off-screen ad zones.
564
+ if (props.offScreenAdZone) {
565
+ this.offScreenAdZone = props.offScreenAdZone;
523
566
  }
524
567
  return new Promise((resolve, reject) => {
525
568
  this.getDeviceInformation().then(deviceInfoObj => {
@@ -555,6 +598,7 @@ export class AdadaptedReactNativeSdk {
555
598
  this.sessionId = response.data.session_id;
556
599
  this.sessionInfo = response.data;
557
600
  this.adZones = this.generateAdZones(response.data.zones);
601
+ this.offScreenAdZones = this.generateOffScreenAdZones(response.data.zones);
558
602
 
559
603
  // Start the session data refresh timer.
560
604
  this.onRefreshAdZones();
@@ -580,12 +624,15 @@ export class AdadaptedReactNativeSdk {
580
624
  this.getPayloadItemData();
581
625
 
582
626
  // Initialize an event listener to intercept deep links while the app is running.
583
-
584
627
  this.deepLinkOnEventListener = Linking.addEventListener("url", this.handleDeepLink);
585
628
 
586
- // Initialize an event listener to intercept App state changes.
629
+ // // Initialize an event listener to intercept App state changes.
630
+ // this.AppStateOnEventListener =
631
+ // AppState.addEventListener(
632
+ // "change",
633
+ // this.handleAppStateChange
634
+ // );
587
635
 
588
- this.AppStateOnEventListener = AppState.addEventListener("change", this.handleAppStateChange);
589
636
  resolve();
590
637
  }).catch(err => {
591
638
  reject(err);
@@ -606,8 +653,10 @@ export class AdadaptedReactNativeSdk {
606
653
  const finalResultListStartsWith = [];
607
654
  const finalResultListContains = [];
608
655
  this.keywordInterceptSearchValue = searchTerm;
609
- if (!this.deviceInfo || !this.sessionId) {
610
- console.error("AdAdapted SDK has not been initialized.");
656
+ if (!this.deviceInfo) {
657
+ console.error("AdAdapted SDK has not been initialized with device info.");
658
+ } else if (!this.sessionId) {
659
+ console.error("AdAdapted SDK has not been initialized with session id.");
611
660
  } else if (!this.keywordIntercepts) {
612
661
  console.error("No available keyword intercepts.");
613
662
  } else if (searchTerm && searchTerm.trim() && searchTerm.trim().length >= this.keywordIntercepts.min_match_length) {
@@ -678,8 +727,10 @@ export class AdadaptedReactNativeSdk {
678
727
  */
679
728
  reportKeywordInterceptTermSelected(termId) {
680
729
  const termObj = this.getKeywordInterceptTerm(termId);
681
- if (!this.deviceInfo || !this.sessionId) {
682
- console.error("AdAdapted SDK has not been initialized.");
730
+ if (!this.deviceInfo) {
731
+ console.error("AdAdapted SDK has not been initialized with device info.");
732
+ } else if (!this.sessionId) {
733
+ console.error("AdAdapted SDK has not been initialized with session id.");
683
734
  } else if (!this.keywordIntercepts) {
684
735
  console.error("No available keyword intercepts.");
685
736
  } else if (!termId || !termObj) {
@@ -720,8 +771,10 @@ export class AdadaptedReactNativeSdk {
720
771
  termObjs.push(termObj);
721
772
  }
722
773
  }
723
- if (!this.deviceInfo || !this.sessionId) {
724
- console.error("AdAdapted SDK has not been initialized.");
774
+ if (!this.deviceInfo) {
775
+ console.error("AdAdapted SDK has not been initialized with device info.");
776
+ } else if (!this.sessionId) {
777
+ console.error("AdAdapted SDK has not been initialized with session id.");
725
778
  } else if (!this.keywordIntercepts) {
726
779
  console.error("No available keyword intercepts.");
727
780
  } else if (!termIds || termIds.length === 0 || termObjs.length === 0) {
@@ -1 +1 @@
1
- {"version":3,"names":["React","AppState","DeviceEventEmitter","Linking","NativeModules","Platform","adadaptedApiRequests","ListManagerEventName","ListManagerEventSource","PayloadStatus","ReportedEventType","AdZone","safeInvoke","packageJson","base64","DeviceOS","ApiEnv","ListManagerApiEnv","PayloadApiEnv","AdadaptedReactNativeSdk","getSessionId","sessionId","getDeviceInfo","deviceInfo","getAdZones","adZones","constructor","apiEnv","Prod","listManagerApiEnv","payloadApiEnv","onAdZonesRefreshed","onAddToListTriggered","onOutOfAppPayloadAvailable","keywordInterceptSearchValue","initialize","bind","unmount","handleAppStateChange","handleDeepLink","getDeviceInformation","Promise","resolve","then","response","generateAdZones","adZoneInfoList","adZoneId","Object","prototype","hasOwnProperty","call","push","zoneId","id","adZone","appId","udid","deviceOs","xyAdZoneDragDistanceAllowed","items","onAdZoneVisibilityChanged","defaultAdZoneVisibility","onRefreshAdZones","timerMs","sessionInfo","polling_interval_ms","refreshAdZonesTimer","setTimeout","refreshSessionData","aid","sid","uid","data","zones","catch","err","console","error","getKeywordIntercepts","keywordIntercepts","getKeywordInterceptTerm","termId","term","termObj","terms","term_id","getCurrentUnixTimestamp","Math","round","Date","getTime","getListManagerApiRequestData","eventSource","eventName","itemNames","listName","eventList","itemName","event_source","event_name","event_timestamp","event_params","item_name","list_name","session_id","app_id","events","event","searchStr","dataIndex","indexOf","encodedData","url","substr","length","payloadData","JSON","parse","decode","payloadId","itemDataList","finalItemList","itemData","payload_id","detailed_list_items","product_title","product_brand","product_category","product_barcode","product_discount","product_image","product_sku","state","getPayloadItemData","retrievePayloadContent","payload","payloads","isVisible","isAdZoneVisible","emit","acknowledge","props","Dev","xyDragDistanceAllowed","defaultToInvisibleAdZone","reject","deviceInfoObj","systemName","IOS","ANDROID","OS","advertiserId","undefined","initializeSession","device_udid","sdk_version","version","device_width","parseInt","deviceWidth","device_height","deviceHeight","device_density","deviceScreenDensity","device_carrier","deviceCarrier","device_name","deviceName","device_os","device_osv","systemVersion","device_locale","deviceLocale","device_timezone","deviceTimezone","bundle_id","bundleId","bundle_version","bundleVersion","allow_retargeting","isAdTrackingEnabled","storeCurrentSessionId","getInitialURL","deepLinkOnEventListener","addEventListener","AppStateOnEventListener","performKeywordSearch","searchTerm","finalResultListStartsWith","finalResultListContains","trim","min_match_length","finalEventsList","currentTs","toLowerCase","startsWith","search_id","user_input","event_type","MATCHED","created_at","sort","a","b","priority","NOT_MATCHED","reportInterceptEvent","concat","reportKeywordInterceptTermSelected","SELECTED","reportKeywordInterceptTermsPresented","termIds","termObjs","termEvents","PRESENTED","reportItemsAddedToList","requestData","APP","ADDED_TO_LIST","reportListManagerEvents","reportItemsCrossedOffList","CROSSED_OFF_LIST","reportItemsDeletedFromList","DELETED_FROM_LIST","markPayloadContentAcknowledged","reportPayloadContentStatus","tracking","status","DELIVERED","markPayloadContentRejected","REJECTED","clearTimeout","remove"],"sources":["index.tsx"],"sourcesContent":["/**\n * The AdadaptedReactNativeSdk package/module definition.\n */\nimport * as React from \"react\";\nimport {\n AppState,\n DeviceEventEmitter,\n EmitterSubscription,\n Linking,\n NativeModules,\n Platform,\n} from \"react-native\";\nimport * as adadaptedApiRequests from \"./api/adadaptedApiRequests\";\nimport {\n AdSession,\n DetailedListItem,\n KeywordIntercepts,\n KeywordSearchTerm,\n ListManagerEvent,\n ListManagerEventName,\n ListManagerEventSource,\n OutOfAppDataPayload,\n PayloadStatus,\n ReportedEventType,\n ReportedInterceptEvent,\n ReportListManagerDataRequest,\n Zone,\n} from \"./api/adadaptedApiTypes\";\nimport { AdZone } from \"./components/AdZone\";\nimport { safeInvoke } from \"./util\";\nimport packageJson from \"../package.json\";\nimport base64 from \"react-native-base64\";\n\n/**\n * Enum representing possible device operating systems.\n */\nexport enum DeviceOS {\n /**\n * Represents the Android operating system.\n */\n ANDROID = \"android\",\n /**\n * Represents the iOS operating system.\n */\n IOS = \"ios\",\n}\n\n/**\n * Enum defining the different API environments.\n */\nexport enum ApiEnv {\n /**\n * The production API environment.\n */\n Prod = \"https://ads.adadapted.com\",\n /**\n * The development API environment.\n */\n Dev = \"https://sandbox.adadapted.com\",\n /**\n * Used only for unit testing/mock data.\n */\n Mock = \"MOCK_DATA\",\n}\n\n/**\n * Enum defining the different API environments for List Manager.\n */\nexport enum ListManagerApiEnv {\n /**\n * The production API environment.\n */\n Prod = \"https://ec.adadapted.com\",\n /**\n * The development API environment.\n */\n Dev = \"https://sandec.adadapted.com\",\n /**\n * Used only for unit testing/mocking data.\n */\n Mock = \"MOCK_DATA\",\n}\n\n/**\n * Enum defining the different API environments for the Payload Server.\n */\nexport enum PayloadApiEnv {\n /**\n * The production API environment.\n */\n Prod = \"https://payload.adadapted.com\",\n /**\n * The development API environment.\n */\n Dev = \"https://sandpayload.adadapted.com\",\n /**\n * Used only for unit testing/mocking data.\n */\n Mock = \"MOCK_DATA\",\n}\n\n/**\n * Interface defining inputs to the {@link Sdk.initialize} method.\n */\nexport interface InitializeProps {\n /**\n * The app ID provided by the client.\n */\n appId: string;\n /**\n * The API environment.\n * If undefined, defaults to production.\n */\n apiEnv?: ApiEnv;\n /**\n * Optional custom advertiserId to replace IDFA - ios only.\n */\n advertiserId?: string;\n /**\n * The touch sensitivity of the Ad Zone in both the X and Y directions.\n * This is used to determine the click/press sensitivity when the\n * Ad Zone is being touched by the user as a regular touch or while\n * scrolling the view. If the amount of touch \"drag\" distance in either\n * X or Y direction is less than this value, we will treat the action as\n * a click/press on the Ad Zone.\n */\n xyDragDistanceAllowed?: number;\n /**\n * Callback that gets triggered when the session/zones/ads data\n * gets refreshed and is now available for reference.\n */\n onAdZonesRefreshed?(): void;\n /**\n * Callback that gets triggered when an \"add to list\" item/items are clicked.\n * @param items - The array of items to \"add to list\".\n */\n onAddToListTriggered?(items: DetailedListItem[]): void;\n /**\n * Callback that gets triggered when an \"add to list\"\n * occurs by means of an \"out of app\" data payload.\n * @param payloads - All payloads the client must go through.\n */\n onOutOfAppPayloadAvailable?(payloads: OutOfAppDataPayload[]): void;\n /**\n * Change the optional ad zone visibility default setting.\n */\n defaultToInvisibleAdZone?: boolean;\n}\n\n/**\n * Interface defining properties of a user's Device.\n */\nexport interface DeviceInfo {\n /**\n * The unique device ID.\n */\n udid: string;\n /**\n * The device name.\n */\n deviceName: string;\n /**\n * The operating system name.\n */\n systemName: string;\n /**\n * The operating system version.\n */\n systemVersion: string;\n /**\n * The device model.\n */\n deviceModel: string;\n /**\n * The device screen width.\n */\n deviceWidth: string;\n /**\n * The device screen height.\n */\n deviceHeight: string;\n /**\n * The device screen density.\n */\n deviceScreenDensity: string;\n /**\n * The current device local.\n */\n deviceLocale: string;\n /**\n * The device carrier name.\n */\n deviceCarrier: string;\n /**\n * The bundle ID.\n */\n bundleId: string;\n /**\n * The bundle version.\n */\n bundleVersion: string;\n /**\n * The current device timezone.\n */\n deviceTimezone: string;\n /**\n * If true, ad tracking is enabled for the device.\n */\n isAdTrackingEnabled: boolean;\n}\n\n/**\n * Interface defining a wrapper for an {@link AdZone}.\n */\nexport interface AdZoneInfo {\n /**\n * The ad zone ID.\n */\n zoneId: string;\n /**\n * The ad zone component.\n */\n adZone: JSX.Element;\n}\n\n/**\n * Interface defining a keyword search result.\n * This is primarily used to export an interface directly from\n * {@link AdadaptedReactNativeSdk} so the interaction with the SDK all be\n * done through this namespace.\n */\nexport interface KeywordSearchResult extends KeywordSearchTerm {}\n\n/**\n * Class that acts as the AdAdapted SDK for react-native.\n */\nexport class AdadaptedReactNativeSdk {\n /**\n * The client app ID used to send to API endpoints.\n */\n private appId: string = \"\";\n /**\n * The API environment to use when making API calls.\n */\n private apiEnv: ApiEnv;\n /**\n * The API environment to use when making API calls for List Manager.\n */\n private listManagerApiEnv: ListManagerApiEnv;\n /**\n * The API environment to use when making API calls for the Payload server.\n */\n private payloadApiEnv: PayloadApiEnv;\n /**\n * The device operating system.\n */\n private deviceOs: DeviceOS | undefined;\n /**\n * The session ID used for the API to properly identify a user.\n */\n private sessionId: string | undefined;\n /**\n * All device data gathered when \"initialize\" is called.\n */\n private deviceInfo: DeviceInfo | undefined;\n /**\n * All current Session/Ad info.\n * This info can be refreshed based on the set interval.\n */\n private sessionInfo: AdSession | undefined;\n /**\n * The available ad zones.\n */\n private adZones: AdZoneInfo[] | undefined;\n /**\n * The touch sensitivity of the Ad Zone in both the X and Y directions.\n * This is used to determine the click/press sensitivity when the\n * Ad Zone is being touched by the user as a regular touch or while\n * scrolling the view. If the amount of touch \"drag\" distance in either\n * X or Y direction is less than this value, we will treat the action as\n * a click/press on the Ad Zone.\n */\n private xyAdZoneDragDistanceAllowed: number | undefined;\n /**\n * If provided, triggers when the overall session/zones/ads data is\n * refreshed and available for reference.\n */\n private onAdZonesRefreshed: () => void | undefined;\n /**\n * The current active \"setTimeout\" reference. This is needed so we\n * can reference this variable and clean up the timer when its no\n * longer needed so memory leaks do not occur.\n */\n private refreshAdZonesTimer: ReturnType<typeof setTimeout> | undefined;\n /**\n * The user input string provided by the client and used to return a\n * result of keyword intercept terms. This will always be the last\n * provided value.\n */\n private keywordInterceptSearchValue: string;\n /**\n * The current available keyword intercepts that can\n * be used when a search is provided by the user.\n */\n private keywordIntercepts: KeywordIntercepts | undefined;\n /**\n * If provided, triggers when an \"add to list\" item is\n * clicked in an ad zone.\n * @param items - The array of items to \"add to list\".\n * @param isExternalPayload - If true, the items are from an external payload.\n */\n private onAddToListTriggered: (\n items: DetailedListItem[],\n isExternalPayload?: boolean\n ) => void | undefined;\n /**\n * If provided, triggers when an \"add to list\"\n * occurs by means of an \"out of app\" data payload.\n * @param payloads - All payloads the client must go through.\n */\n private onOutOfAppPayloadAvailable: (\n payloads: OutOfAppDataPayload[]\n ) => void | undefined;\n /**\n * Deeplink event listener.\n */\n private deepLinkOnEventListener: EmitterSubscription | undefined;\n /**\n * AppState event listener.\n */\n private AppStateOnEventListener: EmitterSubscription | undefined;\n /**\n * Track ad zone visibility for off-screen ads.\n */\n private isAdZoneVisible: boolean = true;\n /**\n * Optional default ad zone visibility for off-screen ads.\n */\n private defaultAdZoneVisibility: boolean | undefined;\n /**\n * Gets the Session ID.\n * @returns the Session ID.\n */\n public getSessionId(): string | undefined {\n return this.sessionId;\n }\n\n /**\n * Gets the Device Info object.\n * @returns the Device Info object.\n */\n public getDeviceInfo(): DeviceInfo | undefined {\n return this.deviceInfo;\n }\n\n /**\n * Gets the list of available Ad Zones.\n * @returns all available ad zones.\n */\n public getAdZones(): AdZoneInfo[] | undefined {\n return this.adZones;\n }\n\n /**\n * @inheritDoc\n */\n constructor() {\n this.apiEnv = ApiEnv.Prod;\n this.listManagerApiEnv = ListManagerApiEnv.Prod;\n this.payloadApiEnv = PayloadApiEnv.Prod;\n this.onAdZonesRefreshed = () => {\n // Defaulting to empty method.\n };\n this.onAddToListTriggered = () => {\n // Defaulting to empty method.\n };\n this.onOutOfAppPayloadAvailable = () => {\n // Defaulting to empty method.\n };\n this.keywordInterceptSearchValue = \"\";\n\n this.initialize = this.initialize.bind(this);\n this.unmount = this.unmount.bind(this);\n this.handleAppStateChange = this.handleAppStateChange.bind(this);\n this.handleDeepLink = this.handleDeepLink.bind(this);\n }\n\n /**\n * Gets the users device info.\n * @returns a Promise of void.\n */\n private getDeviceInformation(): Promise<string> {\n return new Promise<string>((resolve) => {\n NativeModules.AdadaptedReactNativeSdk.getDeviceInfo().then(\n (response: string) => {\n resolve(response);\n }\n );\n });\n }\n\n /**\n * Creates all Ad Zone Info objects based on provided Ad Zones.\n * @param adZones - The object of available zones.\n * @returns the array of Ad Zone Info objects.\n */\n private generateAdZones(adZones: { [key: number]: Zone }): AdZoneInfo[] {\n const adZoneInfoList: AdZoneInfo[] = [];\n\n for (const adZoneId in adZones) {\n if (Object.prototype.hasOwnProperty.call(adZones, adZoneId)) {\n adZoneInfoList.push({\n zoneId: adZones[adZoneId].id,\n adZone: (\n <AdZone\n key={adZoneId}\n appId={this.appId}\n sessionId={this.sessionId!}\n udid={this.deviceInfo!.udid}\n deviceOs={this.deviceOs!}\n apiEnv={this.apiEnv}\n xyDragDistanceAllowed={\n this.xyAdZoneDragDistanceAllowed || 25\n }\n adZoneData={adZones[adZoneId]}\n onAddToListTriggered={(items) => {\n safeInvoke(this.onAddToListTriggered, items);\n }}\n isAdZoneVisible={!this.onAdZoneVisibilityChanged}\n defaultToInvisibleAdZone={\n this.defaultAdZoneVisibility\n }\n />\n ),\n });\n }\n }\n\n return adZoneInfoList;\n }\n\n /**\n * Triggered when session data is initialized or refreshed. Creates\n * a timer based on the session data refresh value.\n */\n private onRefreshAdZones(): void {\n // Get the amount of time we will wait until a refresh occurs.\n // We are setting a minimum refresh time of 5 minutes, so if a\n // value provided by the API is lower, we don't refresh too often.\n const timerMs =\n this.sessionInfo!.polling_interval_ms >= 300000\n ? this.sessionInfo!.polling_interval_ms\n : 300000;\n\n this.refreshAdZonesTimer = setTimeout(() => {\n adadaptedApiRequests\n .refreshSessionData(\n {\n aid: this.appId,\n sid: this.sessionId!,\n uid: this.deviceInfo!.udid,\n },\n this.deviceOs!,\n this.apiEnv\n )\n .then((response) => {\n this.sessionInfo = response.data;\n this.adZones = this.generateAdZones(response.data.zones);\n\n // Call the user defined callback indicating\n // the session data has been refreshed.\n this.onAdZonesRefreshed();\n\n // Start the timer again based on the new session data.\n this.onRefreshAdZones();\n })\n .catch((err) => {\n console.error(err);\n\n // Start the timer again so we can make another\n // attempt to refresh the session data.\n this.onRefreshAdZones();\n });\n }, timerMs);\n }\n\n /**\n * Trigger an API request to get all possible\n * keyword intercepts for the session.\n */\n private getKeywordIntercepts(): void {\n adadaptedApiRequests\n .getKeywordIntercepts(\n {\n aid: this.appId,\n sid: this.sessionId!,\n uid: this.deviceInfo!.udid,\n },\n this.deviceOs!,\n this.apiEnv\n )\n .then((response) => {\n this.keywordIntercepts = response.data;\n });\n }\n\n /**\n * Gets the Keyword Intercept Term based on the provided term ID.\n * @param termId - The term ID to get the term object for.\n * @returns the term if it was found based on the provided term ID.\n */\n private getKeywordInterceptTerm(\n termId: string\n ): KeywordSearchTerm | undefined {\n let term: KeywordSearchTerm | undefined;\n\n if (this.keywordIntercepts && termId) {\n for (const termObj of this.keywordIntercepts.terms) {\n if (termObj.term_id === termId) {\n term = termObj;\n }\n }\n }\n\n return term;\n }\n\n /**\n * Gets the current unix timestamp.\n * @returns the current unix timestamp.\n */\n private getCurrentUnixTimestamp(): number {\n return Math.round(new Date().getTime() / 1000);\n }\n\n /**\n * Gets all data needed to make a List Manager API request.\n * @param eventSource - The event source.\n * @param eventName - The event name.\n * @param itemNames - The items to report.\n * @param listName - The list associated to the items, if any.\n * @returns the data required for the request.\n */\n private getListManagerApiRequestData(\n eventSource: ListManagerEventSource,\n eventName: ListManagerEventName,\n itemNames: string[],\n listName?: string\n ): ReportListManagerDataRequest {\n const eventList: ListManagerEvent[] = [];\n\n for (const itemName of itemNames) {\n eventList.push({\n event_source: eventSource,\n event_name: eventName,\n event_timestamp: this.getCurrentUnixTimestamp(),\n event_params: {\n item_name: itemName,\n list_name: listName,\n },\n });\n }\n\n return {\n session_id: this.sessionId!,\n app_id: this.appId,\n udid: this.deviceInfo!.udid,\n events: eventList,\n };\n }\n\n /**\n * Takes the deep link URL and extracts out the payload items data to\n * send to the client for adding to a user's list.\n * @param event - The event containing URL related info.\n */\n private handleDeepLink(event: any): void {\n const searchStr = \"data=\";\n const dataIndex: number = event[\"url\"].indexOf(searchStr);\n\n if (dataIndex !== -1) {\n const encodedData = event.url.substr(dataIndex + searchStr.length);\n const payloadData = JSON.parse(base64.decode(encodedData));\n const payloadId = payloadData[\"payload_id\"];\n const itemDataList = payloadData[\"detailed_list_items\"];\n\n if (itemDataList && itemDataList.length > 0) {\n const finalItemList: OutOfAppDataPayload[] = [];\n\n for (const itemData of itemDataList) {\n finalItemList.push({\n payload_id: payloadId,\n detailed_list_items: [\n {\n product_title: itemData[\"product_title\"],\n product_brand: itemData[\"product_brand\"],\n product_category: itemData[\"product_category\"],\n product_barcode: itemData[\"product_barcode\"],\n product_discount: itemData[\"product_discount\"],\n product_image: itemData[\"product_image\"],\n product_sku: itemData[\"product_sku\"],\n },\n ],\n });\n }\n\n // Send the items to the client, so they can add them to the list.\n safeInvoke(this.onOutOfAppPayloadAvailable, finalItemList);\n }\n }\n }\n\n /**\n * Triggered when the state of the app changes.\n * @param state - The current state of the app.\n */\n private handleAppStateChange(state: string): void {\n if (state === \"active\") {\n this.getPayloadItemData();\n }\n }\n\n /**\n * Gets all available Payload server item data for the user.\n */\n private getPayloadItemData(): void {\n adadaptedApiRequests\n .retrievePayloadContent(\n {\n app_id: this.appId,\n session_id: this.sessionId!,\n udid: this.deviceInfo!.udid,\n },\n this.payloadApiEnv\n )\n .then((response) => {\n const finalItemList: OutOfAppDataPayload[] = [];\n\n for (const payload of response.data.payloads) {\n for (const itemData of payload.detailed_list_items) {\n finalItemList.push({\n payload_id: payload.payload_id,\n detailed_list_items: [\n {\n product_title: itemData[\"product_title\"],\n product_brand: itemData[\"product_brand\"],\n product_category:\n itemData[\"product_category\"],\n product_barcode:\n itemData[\"product_barcode\"],\n product_discount:\n itemData[\"product_discount\"],\n product_image: itemData[\"product_image\"],\n product_sku: itemData[\"product_sku\"],\n },\n ],\n });\n }\n }\n\n // Send the items to the client, so they can add them to the list.\n safeInvoke(this.onOutOfAppPayloadAvailable, finalItemList);\n })\n .catch(() => {\n // Do nothing.\n });\n }\n\n /**\n * Notify the ad zone of visibility status change for off-screen ads.\n */\n public onAdZoneVisibilityChanged(): void {\n const isVisible = !this.isAdZoneVisible;\n this.isAdZoneVisible = isVisible;\n DeviceEventEmitter.emit(\"visibility-event\", isVisible);\n }\n\n /**\n * Notify the adZone to send ad interaction report.\n * @param itemName - Detailed list item title from ad that was clicked.\n */\n public acknowledge(itemName: string): void {\n DeviceEventEmitter.emit(\"acknowledge\", itemName);\n }\n\n /**\n * Initializes the session for the AdAdapted API and sets up the SDK.\n * @param props - The props used to initialize the SDK.\n * @returns a Promise of void.\n */\n public initialize(props: InitializeProps): Promise<void> {\n // Set the app ID.\n this.appId = props.appId;\n\n // Set the API environment based on the provided override value.\n // If the apiEnv value is not provided, production will be used as default.\n if (props.apiEnv) {\n this.apiEnv = props.apiEnv;\n } else {\n this.apiEnv = ApiEnv.Prod;\n }\n\n // Base the List Manager API environment off what\n // the user provides for the props.apiEnv value.\n if (props.apiEnv) {\n if (props.apiEnv === ApiEnv.Prod) {\n this.listManagerApiEnv = ListManagerApiEnv.Prod;\n } else {\n this.listManagerApiEnv = ListManagerApiEnv.Dev;\n }\n } else {\n this.listManagerApiEnv = ListManagerApiEnv.Prod;\n }\n\n // The ad zone touch drag sensitivity setting.\n if (props.xyDragDistanceAllowed) {\n this.xyAdZoneDragDistanceAllowed = props.xyDragDistanceAllowed;\n }\n\n // If the callback for onAdZonesRefreshed was provided, set it\n // globally for use when the method needs to be triggered.\n if (props.onAdZonesRefreshed) {\n this.onAdZonesRefreshed = props.onAdZonesRefreshed;\n }\n\n // If the callback for onAddToListTriggered was provided, set it\n // globally for use when the method needs to be triggered.\n if (props.onAddToListTriggered) {\n this.onAddToListTriggered = props.onAddToListTriggered;\n }\n\n // If the callback for onOutOfAppPayloadAvailable was provided, set it\n // globally for use when the method needs to be triggered.\n if (props.onOutOfAppPayloadAvailable) {\n this.onOutOfAppPayloadAvailable = props.onOutOfAppPayloadAvailable;\n }\n\n // If provided for off-screen ads, set the ad zone visibility for ad tracking.\n if (props.defaultToInvisibleAdZone) {\n this.defaultAdZoneVisibility = props.defaultToInvisibleAdZone;\n this.onAdZoneVisibilityChanged();\n }\n\n return new Promise<void>((resolve, reject) => {\n this.getDeviceInformation()\n .then((deviceInfoObj) => {\n const deviceInfo = JSON.parse(deviceInfoObj) as DeviceInfo;\n this.deviceInfo = deviceInfo;\n this.deviceOs =\n deviceInfo.systemName === \"ios\"\n ? DeviceOS.IOS\n : DeviceOS.ANDROID;\n // Pass custom advertiserId - ios only\n if (Platform.OS === \"ios\") {\n if (!(props.advertiserId === undefined)) {\n deviceInfo.udid = props.advertiserId;\n }\n }\n // Pass device info along with API call\n adadaptedApiRequests\n .initializeSession(\n {\n app_id: this.appId,\n udid: deviceInfo.udid,\n device_udid: deviceInfo.udid,\n sdk_version: packageJson.version,\n device_width: parseInt(\n deviceInfo.deviceWidth,\n 10\n ),\n device_height: parseInt(\n deviceInfo.deviceHeight,\n 10\n ),\n device_density: deviceInfo.deviceScreenDensity,\n device_carrier: deviceInfo.deviceCarrier,\n device_name: deviceInfo.deviceName,\n device_os: deviceInfo.systemName,\n device_osv: deviceInfo.systemVersion,\n device_locale: deviceInfo.deviceLocale,\n device_timezone: deviceInfo.deviceTimezone,\n bundle_id: deviceInfo.bundleId,\n bundle_version: deviceInfo.bundleVersion,\n allow_retargeting:\n deviceInfo.isAdTrackingEnabled,\n },\n this.deviceOs,\n this.apiEnv\n )\n .then((response) => {\n NativeModules.AdadaptedReactNativeSdk.storeCurrentSessionId(\n response.data.session_id\n );\n this.sessionId = response.data.session_id;\n this.sessionInfo = response.data;\n this.adZones = this.generateAdZones(\n response.data.zones\n );\n\n // Start the session data refresh timer.\n this.onRefreshAdZones();\n\n // Get all possible keyword intercept values.\n // We don't need to wait for this to complete\n // prior to resolving initialization of the SDK.\n this.getKeywordIntercepts();\n\n // Intercept an initial deep link here, if needed.\n Linking.getInitialURL().then((url) => {\n if (url) {\n // Pass in as an object so it mimics the \"url\"\n // property of the Linking.addEventListener(\"url\") method.\n this.handleDeepLink({\n url,\n });\n }\n });\n\n // Make the initial call to the Payload data server to see if\n // the user has any outstanding items to be added to list.\n this.getPayloadItemData();\n\n // Initialize an event listener to intercept deep links while the app is running.\n\n this.deepLinkOnEventListener = Linking.addEventListener(\n \"url\",\n this.handleDeepLink\n );\n\n // Initialize an event listener to intercept App state changes.\n\n this.AppStateOnEventListener = AppState.addEventListener(\n \"change\",\n this.handleAppStateChange\n );\n\n resolve();\n })\n .catch((err) => {\n reject(err);\n });\n })\n .catch((err) => {\n reject(err);\n });\n });\n }\n\n /**\n * Searches through available ad keywords based on provided search term.\n * @param searchTerm - The search term used to match against\n * available keyword intercepts.\n * @returns all keyword intercept terms that matched the search term.\n */\n public performKeywordSearch(searchTerm: string): KeywordSearchResult[] {\n const finalResultListStartsWith: KeywordSearchResult[] = [];\n const finalResultListContains: KeywordSearchResult[] = [];\n\n this.keywordInterceptSearchValue = searchTerm;\n\n if (!this.deviceInfo || !this.sessionId) {\n console.error(\"AdAdapted SDK has not been initialized.\");\n } else if (!this.keywordIntercepts) {\n console.error(\"No available keyword intercepts.\");\n } else if (\n searchTerm &&\n searchTerm.trim() &&\n searchTerm.trim().length >= this.keywordIntercepts.min_match_length\n ) {\n searchTerm = searchTerm.trim();\n\n const finalEventsList: ReportedInterceptEvent[] = [];\n const currentTs = this.getCurrentUnixTimestamp();\n\n // Search for matching terms.\n for (const termObj of this.keywordIntercepts.terms) {\n if (\n termObj.term\n .toLowerCase()\n .startsWith(searchTerm.toLowerCase())\n ) {\n // If the term starts with the search term,\n // add it to the finalResultListStartsWith list.\n finalResultListStartsWith.push(termObj);\n\n finalEventsList.push({\n term_id: termObj.term_id,\n search_id: this.keywordIntercepts.search_id,\n user_input: this.keywordInterceptSearchValue,\n term: termObj.term,\n event_type: ReportedEventType.MATCHED,\n created_at: currentTs,\n });\n }\n }\n\n // Sort the final results by priority.\n finalResultListStartsWith.sort((a, b) =>\n a.priority > b.priority ? 1 : -1\n );\n finalResultListContains.sort((a, b) =>\n a.priority > b.priority ? 1 : -1\n );\n\n // If there are no events to report at this point,\n // we need to report the \"not_matched\" event.\n if (finalEventsList.length === 0) {\n finalEventsList.push({\n term_id: \"\",\n search_id: \"NA\",\n user_input: this.keywordInterceptSearchValue,\n term: \"NA\",\n event_type: ReportedEventType.NOT_MATCHED,\n created_at: currentTs,\n });\n }\n\n // Send up the \"matched\" event for the keyword search for\n // all terms that matched the users search.\n adadaptedApiRequests\n .reportInterceptEvent(\n {\n app_id: this.appId,\n udid: this.deviceInfo.udid,\n session_id: this.sessionId,\n events: finalEventsList,\n },\n this.deviceOs!,\n this.apiEnv\n )\n .then(() => {\n // Do nothing with the response for now...\n });\n }\n\n // The returned list will keep all terms found by matching the\n // beginning of the term string at the beginning of the list. All\n // terms found that didn't match the beginning of the string, but\n // still contained the search term will be concatenated to the end\n // of the list.\n return finalResultListStartsWith.concat(finalResultListContains);\n }\n\n /**\n * Client must trigger this method when a Keyword Intercept Term has\n * been \"selected\" by the user.\n * This will ensure that the event is properly recorded and enable\n * accuracy in client reports.\n * @param termId - The term ID to trigger the event for.\n */\n public reportKeywordInterceptTermSelected(termId: string): void {\n const termObj = this.getKeywordInterceptTerm(termId);\n\n if (!this.deviceInfo || !this.sessionId) {\n console.error(\"AdAdapted SDK has not been initialized.\");\n } else if (!this.keywordIntercepts) {\n console.error(\"No available keyword intercepts.\");\n } else if (!termId || !termObj) {\n console.error(\"Invalid term ID provided.\");\n } else {\n adadaptedApiRequests\n .reportInterceptEvent(\n {\n app_id: this.appId,\n udid: this.deviceInfo.udid,\n session_id: this.sessionId,\n events: [\n {\n term_id: termObj.term_id,\n search_id: this.keywordIntercepts.search_id,\n user_input: this.keywordInterceptSearchValue,\n term: termObj.term,\n event_type: ReportedEventType.SELECTED,\n created_at: this.getCurrentUnixTimestamp(),\n },\n ],\n },\n this.deviceOs!,\n this.apiEnv\n )\n .then(() => {\n // Do nothing with the response for now...\n });\n }\n }\n\n /**\n * Client must trigger this method when a Keyword Intercept Term has\n * been \"presented\" to the user. All terms that satisfy a search don't\n * have to be presented, so only provide term IDs for the terms that\n * ultimately get presented to the user.\n * This will ensure that the event is properly recorded and enable\n * accuracy in client reports.\n * @param termIds - The term IDs list to trigger the event for.\n */\n public reportKeywordInterceptTermsPresented(termIds: string[]): void {\n const termObjs: KeywordSearchTerm[] = [];\n\n for (const termId of termIds) {\n const termObj = this.getKeywordInterceptTerm(termId);\n\n if (termObj) {\n termObjs.push(termObj);\n }\n }\n\n if (!this.deviceInfo || !this.sessionId) {\n console.error(\"AdAdapted SDK has not been initialized.\");\n } else if (!this.keywordIntercepts) {\n console.error(\"No available keyword intercepts.\");\n } else if (!termIds || termIds.length === 0 || termObjs.length === 0) {\n console.error(\"Invalid or empty terms ID list provided.\");\n } else {\n const termEvents: ReportedInterceptEvent[] = [];\n const currentTs = this.getCurrentUnixTimestamp();\n\n for (const termObj of termObjs) {\n termEvents.push({\n term_id: termObj.term_id,\n search_id: this.keywordIntercepts.search_id,\n user_input: this.keywordInterceptSearchValue,\n term: termObj.term,\n event_type: ReportedEventType.PRESENTED,\n created_at: currentTs,\n });\n }\n\n adadaptedApiRequests\n .reportInterceptEvent(\n {\n app_id: this.appId,\n udid: this.deviceInfo.udid,\n session_id: this.sessionId,\n events: termEvents,\n },\n this.deviceOs!,\n this.apiEnv\n )\n .then(() => {\n // Do nothing with the response for now...\n });\n }\n }\n\n /**\n * Client must trigger this method when any items\n * are added to a list for reports we provide to the client.\n * @param itemNames - The items to report.\n * @param listName - The list to associate the items with, if any.\n */\n public reportItemsAddedToList(\n itemNames: string[],\n listName?: string\n ): void {\n const requestData = this.getListManagerApiRequestData(\n ListManagerEventSource.APP,\n ListManagerEventName.ADDED_TO_LIST,\n itemNames,\n listName\n );\n\n adadaptedApiRequests\n .reportListManagerEvents(\n requestData,\n this.deviceOs!,\n this.listManagerApiEnv\n )\n .then()\n .catch(() => {\n // Do nothing.\n });\n }\n\n /**\n * Client must trigger this method when any items\n * are crossed off a list for reports we provide to the client.\n * @param itemNames - The items to report.\n * @param listName - The list the items are associated with, if any.\n */\n public reportItemsCrossedOffList(\n itemNames: string[],\n listName?: string\n ): void {\n const requestData = this.getListManagerApiRequestData(\n ListManagerEventSource.APP,\n ListManagerEventName.CROSSED_OFF_LIST,\n itemNames,\n listName\n );\n\n adadaptedApiRequests\n .reportListManagerEvents(\n requestData,\n this.deviceOs!,\n this.listManagerApiEnv\n )\n .then()\n .catch(() => {\n // Do nothing.\n });\n }\n\n /**\n * Client must trigger this method when any items\n * are deleted from a list for reports we provide to the client.\n * @param itemNames - The items to report.\n * @param listName - The list the items are associated with, if any.\n */\n public reportItemsDeletedFromList(\n itemNames: string[],\n listName?: string\n ): void {\n const requestData = this.getListManagerApiRequestData(\n ListManagerEventSource.APP,\n ListManagerEventName.DELETED_FROM_LIST,\n itemNames,\n listName\n );\n\n adadaptedApiRequests\n .reportListManagerEvents(\n requestData,\n this.deviceOs!,\n this.listManagerApiEnv\n )\n .then()\n .catch(() => {\n // Do nothing.\n });\n }\n\n /**\n * Client must trigger this method when any items\n * are deleted from a list for reports we provide to the client.\n * @param payloadId - The payload ID that we want to acknowledge.\n */\n public markPayloadContentAcknowledged(payloadId: string): void {\n adadaptedApiRequests\n .reportPayloadContentStatus(\n {\n app_id: this.appId,\n session_id: this.sessionId!,\n udid: this.deviceInfo!.udid,\n tracking: [\n {\n payload_id: payloadId,\n status: PayloadStatus.DELIVERED,\n event_timestamp: this.getCurrentUnixTimestamp(),\n },\n ],\n },\n this.payloadApiEnv\n )\n .then()\n .catch(() => {\n // Do nothing.\n });\n }\n\n /**\n * Client must trigger this method when any items\n * are deleted from a list for reports we provide to the client.\n * @param payloadId - The payload ID that we want to acknowledge.\n */\n public markPayloadContentRejected(payloadId: string): void {\n adadaptedApiRequests\n .reportPayloadContentStatus(\n {\n app_id: this.appId,\n session_id: this.sessionId!,\n udid: this.deviceInfo!.udid,\n tracking: [\n {\n payload_id: payloadId,\n status: PayloadStatus.REJECTED,\n event_timestamp: this.getCurrentUnixTimestamp(),\n },\n ],\n },\n this.payloadApiEnv\n )\n .then()\n .catch(() => {\n // Do nothing.\n });\n }\n\n /**\n * Performs all clean up tasks for the SDK. Call this method when\n * the component that references this SDK will \"unmount\", otherwise you\n * can experience memory leaks.\n */\n public unmount(): void {\n if (this.refreshAdZonesTimer) {\n clearTimeout(this.refreshAdZonesTimer);\n }\n\n if (this.deepLinkOnEventListener) {\n this.deepLinkOnEventListener.remove();\n }\n\n if (this.AppStateOnEventListener) {\n this.AppStateOnEventListener.remove();\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","DeviceEventEmitter","Linking","NativeModules","Platform","adadaptedApiRequests","ListManagerEventName","ListManagerEventSource","PayloadStatus","ReportedEventType","AdZone","safeInvoke","packageJson","base64","jsx","_jsx","DeviceOS","ApiEnv","ListManagerApiEnv","PayloadApiEnv","AdadaptedReactNativeSdk","appId","offScreenAdZones","getSessionId","sessionId","getDeviceInfo","deviceInfo","getAdZones","adZones","getOffScreenAdZones","constructor","apiEnv","Prod","listManagerApiEnv","payloadApiEnv","onAdZonesRefreshed","onAddToListTriggered","onOutOfAppPayloadAvailable","keywordInterceptSearchValue","initialize","bind","unmount","handleAppStateChange","handleDeepLink","getDeviceInformation","Promise","resolve","then","response","generateAdZones","adZoneInfoList","adZoneId","Object","prototype","hasOwnProperty","call","push","zoneId","id","adZone","udid","deviceOs","xyDragDistanceAllowed","xyAdZoneDragDistanceAllowed","adZoneData","details","items","isAdZoneVisible","offScreenAdZone","generateOffScreenAdZones","length","includes","Number","onRefreshAdZones","timerMs","sessionInfo","polling_interval_ms","refreshAdZonesTimer","setTimeout","refreshSessionData","aid","sid","uid","data","zones","catch","err","console","error","getKeywordIntercepts","keywordIntercepts","getKeywordInterceptTerm","termId","term","termObj","terms","term_id","getCurrentUnixTimestamp","Math","round","Date","getTime","getListManagerApiRequestData","eventSource","eventName","itemNames","listName","eventList","itemName","event_source","event_name","event_timestamp","event_params","item_name","list_name","session_id","app_id","events","event","searchStr","dataIndex","url","indexOf","encodedData","substr","payloadData","JSON","parse","decode","payloadId","payload_id","itemDataList","detailed_list_items","finalItemList","itemData","product_title","product_brand","product_category","product_barcode","product_discount","product_image","product_sku","state","getPayloadItemData","retrievePayloadContent","payload","payloads","onAdZoneVisibilityChanged","isVisible","emit","acknowledge","props","Dev","reject","deviceInfoObj","systemName","IOS","ANDROID","OS","advertiserId","undefined","initializeSession","device_udid","sdk_version","version","device_width","parseInt","deviceWidth","device_height","deviceHeight","device_density","deviceScreenDensity","device_carrier","deviceCarrier","device_name","deviceName","device_os","device_osv","systemVersion","device_locale","deviceLocale","device_timezone","deviceTimezone","bundle_id","bundleId","bundle_version","bundleVersion","allow_retargeting","isAdTrackingEnabled","storeCurrentSessionId","getInitialURL","deepLinkOnEventListener","addEventListener","performKeywordSearch","searchTerm","finalResultListStartsWith","finalResultListContains","trim","min_match_length","finalEventsList","currentTs","toLowerCase","startsWith","search_id","user_input","event_type","MATCHED","created_at","sort","a","b","priority","NOT_MATCHED","reportInterceptEvent","concat","reportKeywordInterceptTermSelected","SELECTED","reportKeywordInterceptTermsPresented","termIds","termObjs","termEvents","PRESENTED","reportItemsAddedToList","requestData","APP","ADDED_TO_LIST","reportListManagerEvents","reportItemsCrossedOffList","CROSSED_OFF_LIST","reportItemsDeletedFromList","DELETED_FROM_LIST","markPayloadContentAcknowledged","reportPayloadContentStatus","tracking","status","DELIVERED","markPayloadContentRejected","REJECTED","clearTimeout","remove","AppStateOnEventListener"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"type":"module"}
@@ -1,2 +1,4 @@
1
+ "use strict";
1
2
 
3
+ export {};
2
4
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["types.tsx"],"sourcesContent":["import * as React from \"react\";\n\n/**\n * A type that can be null or undefined.\n */\nexport type nil = null | undefined;\n\n/**\n * Extracts the type of a React component's props from the React component type T.\n * Usage example: type MyComponentProps = ExtractReactPropsType<typeof MyComponent>;\n */\nexport type ExtractReactPropsType<T> = T extends React.ComponentType<infer P>\n ? P\n : T extends React.Component<infer P>\n ? P\n : never;\n"],"mappings":""}
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["types.tsx"],"mappings":"","ignoreList":[]}