@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
@@ -12,52 +12,63 @@ var _AdZone = require("./components/AdZone");
12
12
  var _util = require("./util");
13
13
  var _package = _interopRequireDefault(require("../package.json"));
14
14
  var _reactNativeBase = _interopRequireDefault(require("react-native-base64"));
15
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
18
- 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; }
15
+ var _jsxRuntime = require("react/jsx-runtime");
16
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
17
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
18
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
19
19
  /**
20
- * Enum representing possible device operating systems.
20
+ * The AdadaptedReactNativeSdk package/module definition.
21
21
  */
22
- let DeviceOS;
23
22
  /**
24
- * Enum defining the different API environments.
23
+ * Enum representing possible device operating systems.
25
24
  */
26
- exports.DeviceOS = DeviceOS;
27
- (function (DeviceOS) {
25
+ let DeviceOS = exports.DeviceOS = /*#__PURE__*/function (DeviceOS) {
28
26
  DeviceOS["ANDROID"] = "android";
29
27
  DeviceOS["IOS"] = "ios";
30
- })(DeviceOS || (exports.DeviceOS = DeviceOS = {}));
31
- let ApiEnv;
28
+ return DeviceOS;
29
+ }({});
32
30
  /**
33
- * Enum defining the different API environments for List Manager.
31
+ * Enum defining the different API environments.
34
32
  */
35
- exports.ApiEnv = ApiEnv;
36
- (function (ApiEnv) {
33
+ let ApiEnv = exports.ApiEnv = /*#__PURE__*/function (ApiEnv) {
37
34
  ApiEnv["Prod"] = "https://ads.adadapted.com";
38
35
  ApiEnv["Dev"] = "https://sandbox.adadapted.com";
39
36
  ApiEnv["Mock"] = "MOCK_DATA";
40
- })(ApiEnv || (exports.ApiEnv = ApiEnv = {}));
41
- let ListManagerApiEnv;
37
+ return ApiEnv;
38
+ }({});
42
39
  /**
43
- * Enum defining the different API environments for the Payload Server.
40
+ * Enum defining the different API environments for List Manager.
44
41
  */
45
- exports.ListManagerApiEnv = ListManagerApiEnv;
46
- (function (ListManagerApiEnv) {
42
+ let ListManagerApiEnv = exports.ListManagerApiEnv = /*#__PURE__*/function (ListManagerApiEnv) {
47
43
  ListManagerApiEnv["Prod"] = "https://ec.adadapted.com";
48
44
  ListManagerApiEnv["Dev"] = "https://sandec.adadapted.com";
49
45
  ListManagerApiEnv["Mock"] = "MOCK_DATA";
50
- })(ListManagerApiEnv || (exports.ListManagerApiEnv = ListManagerApiEnv = {}));
51
- let PayloadApiEnv;
46
+ return ListManagerApiEnv;
47
+ }({});
52
48
  /**
53
- * Interface defining inputs to the {@link Sdk.initialize} method.
49
+ * Enum defining the different API environments for the Payload Server.
54
50
  */
55
- exports.PayloadApiEnv = PayloadApiEnv;
56
- (function (PayloadApiEnv) {
51
+ let PayloadApiEnv = exports.PayloadApiEnv = /*#__PURE__*/function (PayloadApiEnv) {
57
52
  PayloadApiEnv["Prod"] = "https://payload.adadapted.com";
58
53
  PayloadApiEnv["Dev"] = "https://sandpayload.adadapted.com";
59
54
  PayloadApiEnv["Mock"] = "MOCK_DATA";
60
- })(PayloadApiEnv || (exports.PayloadApiEnv = PayloadApiEnv = {}));
55
+ return PayloadApiEnv;
56
+ }({});
57
+ /**
58
+ * Interface defining inputs to the {@link Sdk.initialize: AdadaptedReactNativeSdk} method.
59
+ */
60
+ /**
61
+ * Interface defining properties of a user's Device.
62
+ */
63
+ /**
64
+ * Interface defining a wrapper for an {@link AdZone}.
65
+ */
66
+ /**
67
+ * Interface defining a keyword search result.
68
+ * This is primarily used to export an interface directly from
69
+ * {@link AdadaptedReactNativeSdk} so the interaction with the SDK all be
70
+ * done through this namespace.
71
+ */
61
72
  /**
62
73
  * Class that acts as the AdAdapted SDK for react-native.
63
74
  */
@@ -65,7 +76,7 @@ class AdadaptedReactNativeSdk {
65
76
  /**
66
77
  * The client app ID used to send to API endpoints.
67
78
  */
68
-
79
+ appId = "";
69
80
  /**
70
81
  * The API environment to use when making API calls.
71
82
  */
@@ -99,6 +110,10 @@ class AdadaptedReactNativeSdk {
99
110
  * The available ad zones.
100
111
  */
101
112
 
113
+ /**
114
+ * The available off-screen ad zones.
115
+ */
116
+ offScreenAdZones = [];
102
117
  /**
103
118
  * The touch sensitivity of the Ad Zone in both the X and Y directions.
104
119
  * This is used to determine the click/press sensitivity when the
@@ -133,7 +148,7 @@ class AdadaptedReactNativeSdk {
133
148
  /**
134
149
  * If provided, triggers when an "add to list" item is
135
150
  * clicked in an ad zone.
136
- * @param items - The array of items to "add to list".
151
+ * @param detail - The array of items to "add to list".
137
152
  * @param isExternalPayload - If true, the items are from an external payload.
138
153
  */
139
154
 
@@ -152,11 +167,7 @@ class AdadaptedReactNativeSdk {
152
167
  */
153
168
 
154
169
  /**
155
- * Track ad zone visibility for off-screen ads.
156
- */
157
-
158
- /**
159
- * Optional default ad zone visibility for off-screen ads.
170
+ * Ad zones that contain off-screen ads.
160
171
  */
161
172
 
162
173
  /**
@@ -183,30 +194,18 @@ class AdadaptedReactNativeSdk {
183
194
  return this.adZones;
184
195
  }
185
196
 
197
+ /**
198
+ * Gets the list of available off-screen Ad Zones.
199
+ * @returns all available off-screen ad zones.
200
+ */
201
+ getOffScreenAdZones() {
202
+ return this.offScreenAdZones;
203
+ }
204
+
186
205
  /**
187
206
  * @inheritDoc
188
207
  */
189
208
  constructor() {
190
- _defineProperty(this, "appId", "");
191
- _defineProperty(this, "apiEnv", void 0);
192
- _defineProperty(this, "listManagerApiEnv", void 0);
193
- _defineProperty(this, "payloadApiEnv", void 0);
194
- _defineProperty(this, "deviceOs", void 0);
195
- _defineProperty(this, "sessionId", void 0);
196
- _defineProperty(this, "deviceInfo", void 0);
197
- _defineProperty(this, "sessionInfo", void 0);
198
- _defineProperty(this, "adZones", void 0);
199
- _defineProperty(this, "xyAdZoneDragDistanceAllowed", void 0);
200
- _defineProperty(this, "onAdZonesRefreshed", void 0);
201
- _defineProperty(this, "refreshAdZonesTimer", void 0);
202
- _defineProperty(this, "keywordInterceptSearchValue", void 0);
203
- _defineProperty(this, "keywordIntercepts", void 0);
204
- _defineProperty(this, "onAddToListTriggered", void 0);
205
- _defineProperty(this, "onOutOfAppPayloadAvailable", void 0);
206
- _defineProperty(this, "deepLinkOnEventListener", void 0);
207
- _defineProperty(this, "AppStateOnEventListener", void 0);
208
- _defineProperty(this, "isAdZoneVisible", true);
209
- _defineProperty(this, "defaultAdZoneVisibility", void 0);
210
209
  this.apiEnv = ApiEnv.Prod;
211
210
  this.listManagerApiEnv = ListManagerApiEnv.Prod;
212
211
  this.payloadApiEnv = PayloadApiEnv.Prod;
@@ -249,8 +248,7 @@ class AdadaptedReactNativeSdk {
249
248
  if (Object.prototype.hasOwnProperty.call(adZones, adZoneId)) {
250
249
  adZoneInfoList.push({
251
250
  zoneId: adZones[adZoneId].id,
252
- adZone: /*#__PURE__*/React.createElement(_AdZone.AdZone, {
253
- key: adZoneId,
251
+ adZone: /*#__PURE__*/(0, _jsxRuntime.jsx)(_AdZone.AdZone, {
254
252
  appId: this.appId,
255
253
  sessionId: this.sessionId,
256
254
  udid: this.deviceInfo.udid,
@@ -258,18 +256,57 @@ class AdadaptedReactNativeSdk {
258
256
  apiEnv: this.apiEnv,
259
257
  xyDragDistanceAllowed: this.xyAdZoneDragDistanceAllowed || 25,
260
258
  adZoneData: adZones[adZoneId],
261
- onAddToListTriggered: items => {
262
- (0, _util.safeInvoke)(this.onAddToListTriggered, items);
259
+ onAddToListTriggered: details => {
260
+ (0, _util.safeInvoke)(this.onAddToListTriggered, {
261
+ zoneId: adZoneId,
262
+ items: details
263
+ });
263
264
  },
264
- isAdZoneVisible: !this.onAdZoneVisibilityChanged,
265
- defaultToInvisibleAdZone: this.defaultAdZoneVisibility
266
- })
265
+ isAdZoneVisible: true,
266
+ offScreenAdZone: false
267
+ }, adZoneId)
267
268
  });
268
269
  }
269
270
  }
270
271
  return adZoneInfoList;
271
272
  }
272
273
 
274
+ /**
275
+ * Creates all off-screen Ad Zone Info objects based on provided off-screen Ad Zones.
276
+ * @param adZones - The object of available zones.
277
+ * @returns the array of off-screen Ad Zone Info objects.
278
+ */
279
+ generateOffScreenAdZones(adZones) {
280
+ const adZoneInfoList = [];
281
+ for (const adZoneId in adZones) {
282
+ if (Object.prototype.hasOwnProperty.call(adZones, adZoneId)) {
283
+ if (this.offScreenAdZone && this.offScreenAdZone.length > 0 && this.offScreenAdZone.includes(Number(adZoneId))) {
284
+ adZoneInfoList.push({
285
+ zoneId: adZones[adZoneId].id,
286
+ adZone: /*#__PURE__*/(0, _jsxRuntime.jsx)(_AdZone.AdZone, {
287
+ appId: this.appId,
288
+ sessionId: this.sessionId,
289
+ udid: this.deviceInfo.udid,
290
+ deviceOs: this.deviceOs,
291
+ apiEnv: this.apiEnv,
292
+ xyDragDistanceAllowed: this.xyAdZoneDragDistanceAllowed || 25,
293
+ adZoneData: adZones[adZoneId],
294
+ onAddToListTriggered: items => {
295
+ (0, _util.safeInvoke)(this.onAddToListTriggered, {
296
+ zoneId: adZoneId,
297
+ items
298
+ });
299
+ },
300
+ isAdZoneVisible: false,
301
+ offScreenAdZone: true
302
+ }, adZoneId)
303
+ });
304
+ }
305
+ }
306
+ }
307
+ return adZoneInfoList;
308
+ }
309
+
273
310
  /**
274
311
  * Triggered when session data is initialized or refreshed. Creates
275
312
  * a timer based on the session data refresh value.
@@ -287,6 +324,7 @@ class AdadaptedReactNativeSdk {
287
324
  }, this.deviceOs, this.apiEnv).then(response => {
288
325
  this.sessionInfo = response.data;
289
326
  this.adZones = this.generateAdZones(response.data.zones);
327
+ this.offScreenAdZones = this.generateOffScreenAdZones(response.data.zones);
290
328
 
291
329
  // Call the user defined callback indicating
292
330
  // the session data has been refreshed.
@@ -379,25 +417,25 @@ class AdadaptedReactNativeSdk {
379
417
  */
380
418
  handleDeepLink(event) {
381
419
  const searchStr = "data=";
382
- const dataIndex = event["url"].indexOf(searchStr);
420
+ const dataIndex = event.url.indexOf(searchStr);
383
421
  if (dataIndex !== -1) {
384
- const encodedData = event.url.substr(dataIndex + searchStr.length);
422
+ const encodedData = event.url.substr(`${dataIndex}${searchStr.length}`);
385
423
  const payloadData = JSON.parse(_reactNativeBase.default.decode(encodedData));
386
- const payloadId = payloadData["payload_id"];
387
- const itemDataList = payloadData["detailed_list_items"];
424
+ const payloadId = payloadData.payload_id;
425
+ const itemDataList = payloadData.detailed_list_items;
388
426
  if (itemDataList && itemDataList.length > 0) {
389
427
  const finalItemList = [];
390
428
  for (const itemData of itemDataList) {
391
429
  finalItemList.push({
392
430
  payload_id: payloadId,
393
431
  detailed_list_items: [{
394
- product_title: itemData["product_title"],
395
- product_brand: itemData["product_brand"],
396
- product_category: itemData["product_category"],
397
- product_barcode: itemData["product_barcode"],
398
- product_discount: itemData["product_discount"],
399
- product_image: itemData["product_image"],
400
- product_sku: itemData["product_sku"]
432
+ product_title: itemData.product_title,
433
+ product_brand: itemData.product_brand,
434
+ product_category: itemData.product_category,
435
+ product_barcode: itemData.product_barcode,
436
+ product_discount: itemData.product_discount,
437
+ product_image: itemData.product_image,
438
+ product_sku: itemData.product_sku
401
439
  }]
402
440
  });
403
441
  }
@@ -433,13 +471,13 @@ class AdadaptedReactNativeSdk {
433
471
  finalItemList.push({
434
472
  payload_id: payload.payload_id,
435
473
  detailed_list_items: [{
436
- product_title: itemData["product_title"],
437
- product_brand: itemData["product_brand"],
438
- product_category: itemData["product_category"],
439
- product_barcode: itemData["product_barcode"],
440
- product_discount: itemData["product_discount"],
441
- product_image: itemData["product_image"],
442
- product_sku: itemData["product_sku"]
474
+ product_title: itemData.product_title,
475
+ product_brand: itemData.product_brand,
476
+ product_category: itemData.product_category,
477
+ product_barcode: itemData.product_barcode,
478
+ product_discount: itemData.product_discount,
479
+ product_image: itemData.product_image,
480
+ product_sku: itemData.product_sku
443
481
  }]
444
482
  });
445
483
  }
@@ -454,10 +492,9 @@ class AdadaptedReactNativeSdk {
454
492
 
455
493
  /**
456
494
  * Notify the ad zone of visibility status change for off-screen ads.
495
+ * @param isVisible - Ad Zone visibility tracking.
457
496
  */
458
- onAdZoneVisibilityChanged() {
459
- const isVisible = !this.isAdZoneVisible;
460
- this.isAdZoneVisible = isVisible;
497
+ onAdZoneVisibilityChanged(isVisible) {
461
498
  _reactNative.DeviceEventEmitter.emit("visibility-event", isVisible);
462
499
  }
463
500
 
@@ -521,10 +558,9 @@ class AdadaptedReactNativeSdk {
521
558
  this.onOutOfAppPayloadAvailable = props.onOutOfAppPayloadAvailable;
522
559
  }
523
560
 
524
- // If provided for off-screen ads, set the ad zone visibility for ad tracking.
525
- if (props.defaultToInvisibleAdZone) {
526
- this.defaultAdZoneVisibility = props.defaultToInvisibleAdZone;
527
- this.onAdZoneVisibilityChanged();
561
+ // If provided set any off-screen ad zones.
562
+ if (props.offScreenAdZone) {
563
+ this.offScreenAdZone = props.offScreenAdZone;
528
564
  }
529
565
  return new Promise((resolve, reject) => {
530
566
  this.getDeviceInformation().then(deviceInfoObj => {
@@ -560,6 +596,7 @@ class AdadaptedReactNativeSdk {
560
596
  this.sessionId = response.data.session_id;
561
597
  this.sessionInfo = response.data;
562
598
  this.adZones = this.generateAdZones(response.data.zones);
599
+ this.offScreenAdZones = this.generateOffScreenAdZones(response.data.zones);
563
600
 
564
601
  // Start the session data refresh timer.
565
602
  this.onRefreshAdZones();
@@ -585,12 +622,15 @@ class AdadaptedReactNativeSdk {
585
622
  this.getPayloadItemData();
586
623
 
587
624
  // Initialize an event listener to intercept deep links while the app is running.
588
-
589
625
  this.deepLinkOnEventListener = _reactNative.Linking.addEventListener("url", this.handleDeepLink);
590
626
 
591
- // Initialize an event listener to intercept App state changes.
627
+ // // Initialize an event listener to intercept App state changes.
628
+ // this.AppStateOnEventListener =
629
+ // AppState.addEventListener(
630
+ // "change",
631
+ // this.handleAppStateChange
632
+ // );
592
633
 
593
- this.AppStateOnEventListener = _reactNative.AppState.addEventListener("change", this.handleAppStateChange);
594
634
  resolve();
595
635
  }).catch(err => {
596
636
  reject(err);
@@ -611,8 +651,10 @@ class AdadaptedReactNativeSdk {
611
651
  const finalResultListStartsWith = [];
612
652
  const finalResultListContains = [];
613
653
  this.keywordInterceptSearchValue = searchTerm;
614
- if (!this.deviceInfo || !this.sessionId) {
615
- console.error("AdAdapted SDK has not been initialized.");
654
+ if (!this.deviceInfo) {
655
+ console.error("AdAdapted SDK has not been initialized with device info.");
656
+ } else if (!this.sessionId) {
657
+ console.error("AdAdapted SDK has not been initialized with session id.");
616
658
  } else if (!this.keywordIntercepts) {
617
659
  console.error("No available keyword intercepts.");
618
660
  } else if (searchTerm && searchTerm.trim() && searchTerm.trim().length >= this.keywordIntercepts.min_match_length) {
@@ -683,8 +725,10 @@ class AdadaptedReactNativeSdk {
683
725
  */
684
726
  reportKeywordInterceptTermSelected(termId) {
685
727
  const termObj = this.getKeywordInterceptTerm(termId);
686
- if (!this.deviceInfo || !this.sessionId) {
687
- console.error("AdAdapted SDK has not been initialized.");
728
+ if (!this.deviceInfo) {
729
+ console.error("AdAdapted SDK has not been initialized with device info.");
730
+ } else if (!this.sessionId) {
731
+ console.error("AdAdapted SDK has not been initialized with session id.");
688
732
  } else if (!this.keywordIntercepts) {
689
733
  console.error("No available keyword intercepts.");
690
734
  } else if (!termId || !termObj) {
@@ -725,8 +769,10 @@ class AdadaptedReactNativeSdk {
725
769
  termObjs.push(termObj);
726
770
  }
727
771
  }
728
- if (!this.deviceInfo || !this.sessionId) {
729
- console.error("AdAdapted SDK has not been initialized.");
772
+ if (!this.deviceInfo) {
773
+ console.error("AdAdapted SDK has not been initialized with device info.");
774
+ } else if (!this.sessionId) {
775
+ console.error("AdAdapted SDK has not been initialized with session id.");
730
776
  } else if (!this.keywordIntercepts) {
731
777
  console.error("No available keyword intercepts.");
732
778
  } else if (!termIds || termIds.length === 0 || termObjs.length === 0) {
@@ -1 +1 @@
1
- {"version":3,"names":["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","NativeModules","then","response","generateAdZones","adZoneInfoList","adZoneId","Object","prototype","hasOwnProperty","call","push","zoneId","id","adZone","appId","udid","deviceOs","xyAdZoneDragDistanceAllowed","items","safeInvoke","onAdZoneVisibilityChanged","defaultAdZoneVisibility","onRefreshAdZones","timerMs","sessionInfo","polling_interval_ms","refreshAdZonesTimer","setTimeout","adadaptedApiRequests","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","base64","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","DeviceEventEmitter","emit","acknowledge","props","Dev","xyDragDistanceAllowed","defaultToInvisibleAdZone","reject","deviceInfoObj","systemName","IOS","ANDROID","Platform","OS","advertiserId","undefined","initializeSession","device_udid","sdk_version","packageJson","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","Linking","getInitialURL","deepLinkOnEventListener","addEventListener","AppStateOnEventListener","AppState","performKeywordSearch","searchTerm","finalResultListStartsWith","finalResultListContains","trim","min_match_length","finalEventsList","currentTs","toLowerCase","startsWith","search_id","user_input","event_type","ReportedEventType","MATCHED","created_at","sort","a","b","priority","NOT_MATCHED","reportInterceptEvent","concat","reportKeywordInterceptTermSelected","SELECTED","reportKeywordInterceptTermsPresented","termIds","termObjs","termEvents","PRESENTED","reportItemsAddedToList","requestData","ListManagerEventSource","APP","ListManagerEventName","ADDED_TO_LIST","reportListManagerEvents","reportItemsCrossedOffList","CROSSED_OFF_LIST","reportItemsDeletedFromList","DELETED_FROM_LIST","markPayloadContentAcknowledged","reportPayloadContentStatus","tracking","status","PayloadStatus","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","_interopRequireWildcard","require","_reactNative","adadaptedApiRequests","_adadaptedApiTypes","_AdZone","_util","_package","_interopRequireDefault","_reactNativeBase","_jsxRuntime","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","DeviceOS","exports","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","NativeModules","then","response","generateAdZones","adZoneInfoList","adZoneId","prototype","push","zoneId","id","adZone","jsx","AdZone","udid","deviceOs","xyDragDistanceAllowed","xyAdZoneDragDistanceAllowed","adZoneData","details","safeInvoke","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","base64","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","DeviceEventEmitter","emit","acknowledge","props","Dev","reject","deviceInfoObj","systemName","IOS","ANDROID","Platform","OS","advertiserId","undefined","initializeSession","device_udid","sdk_version","packageJson","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","Linking","getInitialURL","deepLinkOnEventListener","addEventListener","performKeywordSearch","searchTerm","finalResultListStartsWith","finalResultListContains","trim","min_match_length","finalEventsList","currentTs","toLowerCase","startsWith","search_id","user_input","event_type","ReportedEventType","MATCHED","created_at","sort","b","priority","NOT_MATCHED","reportInterceptEvent","concat","reportKeywordInterceptTermSelected","SELECTED","reportKeywordInterceptTermsPresented","termIds","termObjs","termEvents","PRESENTED","reportItemsAddedToList","requestData","ListManagerEventSource","APP","ListManagerEventName","ADDED_TO_LIST","reportListManagerEvents","reportItemsCrossedOffList","CROSSED_OFF_LIST","reportItemsDeletedFromList","DELETED_FROM_LIST","markPayloadContentAcknowledged","reportPayloadContentStatus","tracking","status","PayloadStatus","DELIVERED","markPayloadContentRejected","REJECTED","clearTimeout","remove","AppStateOnEventListener"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"type":"commonjs"}
@@ -1,2 +1,6 @@
1
1
  "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
2
6
  //# 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":[]}