@24i/bigscreen-sdk 1.0.54-alpha.2836 → 2.1.1-alpha.2133

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 (278) hide show
  1. package/README.md +3 -2
  2. package/package.json +34 -53
  3. package/packages/adobe-heartbeat/src/AdobeHeartbeat.ts +9 -9
  4. package/packages/async-image/src/AsyncImage.tsx +10 -15
  5. package/packages/developer-tools/PlayerDebugWindow/README.md +1 -1
  6. package/packages/developer-tools/src/DeveloperToolsService/DeveloperToolsList.tsx +0 -11
  7. package/packages/developer-tools/src/PlayerDebugWindow/PlayerDebugWindow.tsx +5 -5
  8. package/packages/developer-tools/src/PlayerDebugWindow/constants.ts +0 -15
  9. package/packages/developer-tools/src/TechnicalInfo/TechnicalInfoDetail.tsx +1 -2
  10. package/packages/developer-tools/src/TechnicalInfo/TechnicalInfoProvider.ts +5 -57
  11. package/packages/developer-tools/src/TechnicalInfo/__mocks__/Device.ts +0 -12
  12. package/packages/developer-tools/src/TechnicalInfo/translations.ts +0 -8
  13. package/packages/device/src/getKeyDigit.ts +2 -2
  14. package/packages/device/src/resolver/resolver.ts +5 -18
  15. package/packages/digital-clock/src/DigitalClock.tsx +4 -15
  16. package/packages/driver-androidtv/src/DeviceAndroidTV.ts +9 -92
  17. package/packages/driver-androidtv/src/__mocks__/javaScriptBridge.ts +5 -38
  18. package/packages/driver-androidtv/src/index.ts +0 -1
  19. package/packages/driver-androidtv/src/keymap.ts +0 -18
  20. package/packages/driver-androidtv/src/types.ts +16 -144
  21. package/packages/driver-base/src/DeviceBase.ts +2 -80
  22. package/packages/driver-base/src/KeyMap/Key.ts +1 -8
  23. package/packages/driver-base/src/KeyMap/KeyMap.ts +0 -4
  24. package/packages/driver-base/src/KeyMap/interface.ts +0 -1
  25. package/packages/driver-base/src/KeyMap/overrideValues.ts +1 -2
  26. package/packages/driver-base/src/__mocks__/DeviceBase.ts +0 -24
  27. package/packages/driver-base/src/__mocks__/keyMap.ts +0 -1
  28. package/packages/driver-base/src/index.ts +0 -3
  29. package/packages/driver-base/src/types/DeviceEvent.ts +0 -2
  30. package/packages/driver-base/src/types/KeycodeKeyMap.ts +0 -1
  31. package/packages/driver-browser/src/DeviceBrowser.ts +0 -26
  32. package/packages/driver-browser/src/keymap.ts +0 -8
  33. package/packages/driver-entone/src/DeviceEntone.ts +1 -31
  34. package/packages/driver-entone/src/keymap.ts +0 -1
  35. package/packages/driver-hbbtv/src/DeviceHbbTV.ts +0 -26
  36. package/packages/driver-kreatv/src/DeviceKreaTV.ts +0 -26
  37. package/packages/driver-saphi/src/DeviceSaphi.ts +0 -26
  38. package/packages/driver-tizen/src/DeviceTizen.ts +7 -126
  39. package/packages/driver-tizen/src/ITizen.ts +202 -15116
  40. package/packages/driver-tizen/src/IWebapis.ts +87 -8643
  41. package/packages/driver-tizen/src/TizenKeys.ts +2 -4
  42. package/packages/driver-tizen/src/__mocks__/tizen.ts +8 -7
  43. package/packages/driver-tizen/src/constants.ts +195 -1
  44. package/packages/driver-tizen/src/types.ts +14 -0
  45. package/packages/driver-vidaa/src/DeviceVidaa.ts +2 -29
  46. package/packages/driver-vidaa/src/__mocks__/vidaa.ts +1 -1
  47. package/packages/driver-vidaa/src/keymap.ts +0 -2
  48. package/packages/driver-webos/src/DeviceWebos.ts +0 -55
  49. package/packages/driver-webos/src/__mocks__/webos.ts +0 -33
  50. package/packages/driver-webos/src/constants.ts +0 -1
  51. package/packages/driver-webos/src/keymap.ts +1 -2
  52. package/packages/driver-webos/src/types.ts +0 -30
  53. package/packages/driver-xbox/src/DeviceXbox.ts +1 -30
  54. package/packages/driver-xbox/src/keymap.ts +1 -1
  55. package/packages/epg/README.md +1 -3
  56. package/packages/epg/src/v2/Cell.tsx +2 -16
  57. package/packages/epg/src/v2/DataManager.ts +41 -112
  58. package/packages/epg/src/v2/DatePicker.tsx +3 -9
  59. package/packages/epg/src/v2/DateToast/DateToast.tsx +9 -12
  60. package/packages/epg/src/v2/Day.tsx +3 -6
  61. package/packages/epg/src/v2/Epg.tsx +5 -5
  62. package/packages/epg/src/v2/MockGenerator/generator.ts +2 -3
  63. package/packages/epg/src/v2/ProgramInfo/utils.ts +3 -4
  64. package/packages/epg/src/v2/Row.tsx +1 -3
  65. package/packages/epg/src/v2/TimelineSection.tsx +1 -4
  66. package/packages/epg/src/v2/basic/CellsManager.tsx +2 -7
  67. package/packages/epg/src/v2/basic/RowsManager.tsx +1 -3
  68. package/packages/epg/src/v2/interface.ts +0 -13
  69. package/packages/events-manager/src/EventsManager.ts +56 -1
  70. package/packages/focus/README.md +0 -33
  71. package/packages/focus/src/IFocusable.ts +0 -1
  72. package/packages/focus/src/Layout/Base.tsx +6 -41
  73. package/packages/focus/src/Layout/Matrix.tsx +19 -51
  74. package/packages/focus/src/Layout/__test__/Base.spec.ts +180 -0
  75. package/packages/focus/src/Layout/__test__/Horizontal.spec.ts +94 -0
  76. package/packages/focus/src/Layout/__test__/Matrix.spec.ts +261 -0
  77. package/packages/focus/src/Layout/__test__/Vertical.spec.ts +46 -0
  78. package/packages/focus/src/Layout/__test__/isRtl.spec.ts +23 -0
  79. package/packages/focus/src/Layout/__test__/shared.ts +19 -0
  80. package/packages/focus/src/focusFirstExisting.ts +1 -7
  81. package/packages/focus/src/index.ts +1 -2
  82. package/packages/gallup/src/Gallup.ts +3 -3
  83. package/packages/grid/src/Base/Base.tsx +10 -15
  84. package/packages/grid/src/FirstOnlyGrid/FirstOnlyGrid.tsx +2 -4
  85. package/packages/grid/src/UnifiedGridController/UnifiedGridController.ts +6 -6
  86. package/packages/icon/src/Icon.tsx +5 -27
  87. package/packages/input/README.md +1 -1
  88. package/packages/input/src/Input.tsx +10 -16
  89. package/packages/interactable/README.md +1 -2
  90. package/packages/interactable/src/Interactable.tsx +3 -9
  91. package/packages/interactable/src/interface.ts +0 -1
  92. package/packages/jsx/src/index.ts +1 -1
  93. package/packages/jsx/src/test-utils/index.ts +0 -1
  94. package/packages/keyboard/src/Backdrop/Backdrop.scss +0 -2
  95. package/packages/keyboard/src/KeyboardBase.tsx +4 -16
  96. package/packages/keyboard/src/WhitelabelKeyboard/Keyboard.scss +0 -4
  97. package/packages/keyboard/src/WhitelabelKeyboard/Keyboard.tsx +20 -28
  98. package/packages/keyboard/src/WhitelabelKeyboard/_sizes.1080.scss +0 -1
  99. package/packages/keyboard/src/WhitelabelKeyboard/_sizes.scss +0 -1
  100. package/packages/keyboard/src/WhitelabelKeyboard/layouts/index.ts +0 -12
  101. package/packages/keyboard/src/WhitelabelKeyboard/types.ts +0 -1
  102. package/packages/keyboard/src/utils/caret.ts +8 -5
  103. package/packages/keyboard/src/utils/input.ts +6 -5
  104. package/packages/l10n/README.md +0 -18
  105. package/packages/l10n/src/date/common.ts +6 -18
  106. package/packages/l10n/src/date/cs.ts +8 -2
  107. package/packages/l10n/src/date/en-001.ts +3 -3
  108. package/packages/l10n/src/date/en-common.ts +4 -5
  109. package/packages/l10n/src/date/en-us.ts +3 -3
  110. package/packages/l10n/src/date/iso.ts +13 -12
  111. package/packages/l10n/src/date/types.ts +0 -9
  112. package/packages/l10n/src/l10n.ts +3 -61
  113. package/packages/list/src/Base/Base.tsx +9 -19
  114. package/packages/list/src/Base/interface.ts +2 -2
  115. package/packages/list/src/BasicList/BasicList.tsx +7 -7
  116. package/packages/list/src/CenteredList/CenteredList.tsx +2 -2
  117. package/packages/list/src/CenteredList/controller.ts +1 -0
  118. package/packages/list/src/EdgeOffsetList/EdgeOffsetList.tsx +10 -10
  119. package/packages/list/src/FirstOnlyList/FirstOnlyList.tsx +2 -2
  120. package/packages/list/src/FirstOnlyVariedList/FirstOnlyVariedList.tsx +2 -2
  121. package/packages/list/src/FixedToEndList/FixedToEndList.tsx +2 -2
  122. package/packages/list/src/UnifiedListController/UnifiedListController.ts +2 -6
  123. package/packages/list/src/interface.ts +2 -2
  124. package/packages/logger/src/loggers/ConsoleLogger/ConsoleLogger.ts +1 -7
  125. package/packages/logger/src/loggers/SentryLogger/Sentry.ts +0 -1
  126. package/packages/logger/src/loggers/SentryLogger/SentryLogger.ts +3 -5
  127. package/packages/menu/src/MenuAndContentContainer/MenuAndContentContainer.tsx +3 -31
  128. package/packages/menu/src/MenuAndContentContainer/interface.ts +0 -8
  129. package/packages/modal-service/README.md +1 -4
  130. package/packages/modal-service/src/ModalService.tsx +5 -29
  131. package/packages/perf-utils/README.md +120 -1
  132. package/packages/perf-utils/src/array/filter.ts +54 -1
  133. package/packages/perf-utils/src/array/find.ts +43 -1
  134. package/packages/perf-utils/src/array/findIndex.ts +43 -1
  135. package/packages/perf-utils/src/array/forEach.ts +48 -1
  136. package/packages/perf-utils/src/array/includes.ts +41 -1
  137. package/packages/perf-utils/src/array/includesNaN.ts +32 -1
  138. package/packages/perf-utils/src/array/index.ts +7 -1
  139. package/packages/perf-utils/src/array/map.ts +52 -1
  140. package/packages/player-ui/README.md +1 -1
  141. package/packages/player-ui/src/CurrentTime.tsx +2 -2
  142. package/packages/player-ui/src/Duration.tsx +2 -2
  143. package/packages/player-ui/src/PauseButton.tsx +0 -8
  144. package/packages/player-ui/src/PlayerInteractable.tsx +0 -1
  145. package/packages/player-ui/src/PlayerTime.tsx +1 -3
  146. package/packages/player-ui/src/PlayerUI.tsx +35 -68
  147. package/packages/player-ui/src/RemainingTime.tsx +2 -2
  148. package/packages/player-ui/src/Seekbar.tsx +18 -110
  149. package/packages/player-ui/src/Seeking.ts +16 -57
  150. package/packages/player-ui/src/Subtitles.tsx +2 -2
  151. package/packages/player-ui/src/index.ts +0 -1
  152. package/packages/player-ui/src/mocks.ts +8 -32
  153. package/packages/player-ui/src/timeUtils.ts +3 -3
  154. package/packages/player-ui/src/types.ts +3 -9
  155. package/packages/router/README.md +0 -1
  156. package/packages/router/src/Route.tsx +27 -61
  157. package/packages/router/src/Router.tsx +14 -63
  158. package/packages/router/src/history.ts +1 -8
  159. package/packages/router/src/index.ts +1 -1
  160. package/packages/router/src/utils.ts +4 -9
  161. package/packages/sass-utils/src/linear-gradient.scss +4 -9
  162. package/packages/sass-utils/src/scale.1080.scss +1 -3
  163. package/packages/sass-utils/src/scale.720.scss +1 -1
  164. package/packages/time/README.md +1 -4
  165. package/packages/time/src/Time.ts +13 -35
  166. package/packages/time/src/constants.ts +0 -1
  167. package/packages/toast/src/ToastService.tsx +5 -16
  168. package/packages/types-bigscreen-jsx/README.md +4 -5
  169. package/packages/types-bigscreen-jsx/index.d.ts +67 -72
  170. package/packages/utils/README.md +0 -27
  171. package/packages/utils/src/elementUtils.ts +0 -25
  172. package/packages/utils/src/index.ts +0 -8
  173. package/packages/utils/src/scaledImage.ts +3 -6
  174. package/packages/utils/src/textUtils.ts +14 -46
  175. package/packages/utils/src/wait.ts +1 -3
  176. package/packages/utils/src/xhr/xhrSend.ts +1 -3
  177. package/packages/utils/src/xhr/xhrSendRetry.ts +1 -3
  178. package/packages/zapping/src/ChannelZapping.ts +0 -9
  179. package/packages/zapping/src/Zapping.tsx +0 -10
  180. package/ci/is_ci_job_skippable.sh +0 -153
  181. package/packages/analytics/README.md +0 -8
  182. package/packages/analytics/src/A.ts +0 -1
  183. package/packages/analytics/src/Analytics.ts +0 -1
  184. package/packages/analytics/src/analyticsOnScroll.ts +0 -1
  185. package/packages/analytics/src/clients/ConsoleAnalytics/ConsoleAnalytics.ts +0 -1
  186. package/packages/analytics/src/clients/ConsoleAnalytics/index.ts +0 -1
  187. package/packages/analytics/src/clients/GoogleAnalytics/GoogleAnalytics.ts +0 -196
  188. package/packages/analytics/src/clients/GoogleAnalytics/constants.ts +0 -126
  189. package/packages/analytics/src/clients/GoogleAnalytics/getUrl.ts +0 -17
  190. package/packages/analytics/src/clients/GoogleAnalytics/index.ts +0 -2
  191. package/packages/analytics/src/clients/GoogleAnalytics/interface.ts +0 -82
  192. package/packages/analytics/src/clients/GoogleAnalytics/mapPayload.ts +0 -51
  193. package/packages/analytics/src/clients/GoogleAnalytics/prepareBody.ts +0 -14
  194. package/packages/analytics/src/clients/TealiumAnalytics/TealiumAnalytics.ts +0 -181
  195. package/packages/analytics/src/clients/TealiumAnalytics/constants.ts +0 -106
  196. package/packages/analytics/src/clients/TealiumAnalytics/findForLanguage.ts +0 -9
  197. package/packages/analytics/src/clients/TealiumAnalytics/index.ts +0 -4
  198. package/packages/analytics/src/clients/TealiumAnalytics/interface.ts +0 -35
  199. package/packages/analytics/src/clients/TealiumAnalytics/mappers/__mocks__/mediaPayload.ts +0 -72
  200. package/packages/analytics/src/clients/TealiumAnalytics/mappers/helper.ts +0 -36
  201. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapAppError.ts +0 -13
  202. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapAppOpen.ts +0 -13
  203. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapFavoriteAdd.ts +0 -11
  204. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapFavoriteRemove.ts +0 -11
  205. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapPlayerClose.ts +0 -15
  206. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapPlayerOpen.ts +0 -15
  207. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapSceneView.ts +0 -18
  208. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapSearch.ts +0 -18
  209. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapSearchFailed.ts +0 -8
  210. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapSearchSuccess.ts +0 -8
  211. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapVideoPause.ts +0 -15
  212. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapVideoProgress.ts +0 -18
  213. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapVideoResume.ts +0 -15
  214. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapVideoStart.ts +0 -15
  215. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapVideoStop.ts +0 -15
  216. package/packages/analytics/src/clients/TealiumAnalytics/types.ts +0 -161
  217. package/packages/analytics/src/clients/TwentyFourIQ/TwentyFourIQClient.ts +0 -107
  218. package/packages/analytics/src/clients/TwentyFourIQ/constants.ts +0 -111
  219. package/packages/analytics/src/clients/TwentyFourIQ/helper.ts +0 -34
  220. package/packages/analytics/src/clients/TwentyFourIQ/index.ts +0 -2
  221. package/packages/analytics/src/clients/TwentyFourIQ/interface.ts +0 -34
  222. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapAdEvent.ts +0 -20
  223. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapBase.ts +0 -24
  224. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapBuffering.ts +0 -15
  225. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapPlayerClose.ts +0 -25
  226. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapPlayerOpen.ts +0 -17
  227. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapSceneView.ts +0 -15
  228. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapScroll.ts +0 -17
  229. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapVideoComplete.ts +0 -22
  230. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapVideoPause.ts +0 -25
  231. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapVideoProgress.ts +0 -25
  232. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapVideoStart.ts +0 -34
  233. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapVideoStop.ts +0 -32
  234. package/packages/analytics/src/clients/TwentyFourIQ/types.ts +0 -132
  235. package/packages/analytics/src/constants.ts +0 -1
  236. package/packages/analytics/src/index.ts +0 -3
  237. package/packages/analytics/src/interface.ts +0 -1
  238. package/packages/analytics/src/utils/generateSessionId.ts +0 -8
  239. package/packages/device/src/driver/index.firetv.ts +0 -1
  240. package/packages/device/src/driver/index.smartcast.tv.ts +0 -1
  241. package/packages/driver-base/src/types/AdInfo.ts +0 -5
  242. package/packages/driver-base/src/types/InAppPurchase.ts +0 -25
  243. package/packages/driver-firetv/src/DeviceFireTV.ts +0 -91
  244. package/packages/driver-firetv/src/__mocks__/javaScriptBridge.ts +0 -45
  245. package/packages/driver-firetv/src/index.ts +0 -1
  246. package/packages/driver-firetv/src/types.ts +0 -1
  247. package/packages/driver-smartcast/src/DeviceSmartCast.ts +0 -394
  248. package/packages/driver-smartcast/src/__mocks__/api.ts +0 -79
  249. package/packages/driver-smartcast/src/index.ts +0 -1
  250. package/packages/driver-smartcast/src/keymap.ts +0 -9
  251. package/packages/driver-smartcast/src/types.ts +0 -111
  252. package/packages/focus/src/hasFocus.ts +0 -36
  253. package/packages/jsx/src/test-utils/keyup.ts +0 -27
  254. package/packages/keyboard/src/WhitelabelKeyboard/layouts/arabic.ts +0 -27
  255. package/packages/keyboard/src/WhitelabelKeyboard/layouts/burmese.ts +0 -27
  256. package/packages/keyboard/src/WhitelabelKeyboard/layouts/dari.ts +0 -28
  257. package/packages/keyboard/src/WhitelabelKeyboard/layouts/korean.ts +0 -26
  258. package/packages/keyboard/src/WhitelabelKeyboard/layouts/pashto.ts +0 -27
  259. package/packages/keyboard/src/WhitelabelKeyboard/layouts/persian.ts +0 -27
  260. package/packages/keyboard/src/WhitelabelKeyboard/layouts/russian.ts +0 -27
  261. package/packages/keyboard/src/WhitelabelKeyboard/layouts/spanish.ts +0 -26
  262. package/packages/keyboard/src/WhitelabelKeyboard/layouts/tibetan.ts +0 -26
  263. package/packages/keyboard/src/WhitelabelKeyboard/layouts/turkish.ts +0 -26
  264. package/packages/keyboard/src/WhitelabelKeyboard/layouts/ukrainian.ts +0 -27
  265. package/packages/keyboard/src/WhitelabelKeyboard/layouts/urdu.ts +0 -26
  266. package/packages/keyboard/src/utils/setInputSelectionRange.ts +0 -10
  267. package/packages/l10n/src/date/de.ts +0 -97
  268. package/packages/l10n/src/date/es.ts +0 -71
  269. package/packages/l10n/src/date/fr.ts +0 -94
  270. package/packages/l10n/src/date/he.ts +0 -101
  271. package/packages/time/src/adapters/24iMediaTimeApi.ts +0 -47
  272. package/packages/time/src/services/24iMediaTimeApi/24iMediaTimeApi.ts +0 -43
  273. package/packages/time/src/services/24iMediaTimeApi/index.ts +0 -6
  274. package/packages/utils/src/forceReflow.ts +0 -14
  275. package/packages/utils/src/keyPress/index.ts +0 -6
  276. package/packages/utils/src/keyPress/keyPressSimulator.ts +0 -74
  277. package/packages/utils/src/keyPress/simulateKeyPress.ts +0 -25
  278. package/utils/release/release.ts +0 -156
@@ -1,111 +0,0 @@
1
- import { AnalyticsTriggers } from '@24i/appstage-shared-analytics';
2
-
3
- export enum AnalyticsPrefix {
4
- SCROLL = 'SCROLL_',
5
- PLAYBACK = 'PLAYBACK_',
6
- }
7
-
8
- export enum AnalyticsEvents {
9
- INSTALLED_APP = 'Installed app',
10
- LOADED_APP = 'Loaded App',
11
- LOGGED_IN = 'Logged In',
12
- LOGGED_OUT = 'Logged Out',
13
- CANCELLED_PURCHASE = 'Cancelled Purchase',
14
- PURCHASE_COMPLETE = 'Purchase Complete',
15
- HOME = 'home',
16
- DETAILS = 'details',
17
- PLAYER = 'player',
18
- TECHNICAL_INFO = 'Technical information',
19
- }
20
-
21
- export enum DefaultScreens {
22
- PLAYBACK = 'playback',
23
- }
24
-
25
- export const TWENTY_FOUR_IQ_TRIGGERS = [
26
- // App
27
- AnalyticsTriggers.APP_CLOSE,
28
-
29
- // Scenes
30
- AnalyticsTriggers.SCENE_VIEW,
31
-
32
- // Data loading / Player buffering
33
- AnalyticsTriggers.BUFFERING_START,
34
- AnalyticsTriggers.BUFFERING_STOP,
35
-
36
- // Playback
37
- AnalyticsTriggers.PLAYBACK_10,
38
- AnalyticsTriggers.PLAYBACK_25,
39
- AnalyticsTriggers.PLAYBACK_50,
40
- AnalyticsTriggers.PLAYBACK_75,
41
- AnalyticsTriggers.PLAYBACK_90,
42
- AnalyticsTriggers.PLAYBACK_PAUSE,
43
- AnalyticsTriggers.PLAYBACK_START,
44
- AnalyticsTriggers.PLAYBACK_STOP,
45
-
46
- // Player
47
- AnalyticsTriggers.PLAYER_CLOSE,
48
- AnalyticsTriggers.PLAYER_OPEN,
49
-
50
- // Scrolling in scene
51
- AnalyticsTriggers.SCROLL_25,
52
- AnalyticsTriggers.SCROLL_50,
53
- AnalyticsTriggers.SCROLL_75,
54
- AnalyticsTriggers.SCROLL_90,
55
-
56
- // Ads
57
- AnalyticsTriggers.AD_BUFFERING,
58
- AnalyticsTriggers.AD_COMPLETE,
59
- AnalyticsTriggers.AD_ERROR,
60
- AnalyticsTriggers.AD_SKIPPED,
61
- AnalyticsTriggers.AD_START,
62
- AnalyticsTriggers.AD_STOP,
63
- ];
64
-
65
- export enum EVENTS {
66
- SCENE_VIEW = 'scene_view',
67
- BUFFERING = 'buffering',
68
- VIDEO_PROGRESS = 'video_progress',
69
- VIDEO_START = 'video_start',
70
- VIDEO_COMPLETE = 'video_complete',
71
- VIDEO_STOP = 'video_stop',
72
- VIDEO_PAUSE = 'video_pause',
73
- PLAYER_CLOSE = 'player_close',
74
- PLAYER_OPEN = 'player_open',
75
- SCROLL = 'scroll',
76
- AD_BUFFERING = 'ad_buffering',
77
- AD_COMPLETE = 'ad_complete',
78
- AD_ERROR = 'ad_error',
79
- AD_SKIPPED = 'ad_skipped',
80
- AD_START = 'ad_start',
81
- AD_STOP = 'ad_stop',
82
- }
83
-
84
- export const TRIGGER_NAME_TO_24IQ_EVENTS: { [K in AnalyticsTriggers]?: EVENTS[]; } = {
85
- [AnalyticsTriggers.SCENE_VIEW]: [EVENTS.SCENE_VIEW],
86
- [AnalyticsTriggers.BUFFERING_START]: [EVENTS.BUFFERING],
87
- [AnalyticsTriggers.BUFFERING_STOP]: [EVENTS.BUFFERING],
88
- [AnalyticsTriggers.PLAYBACK_10]: [EVENTS.VIDEO_PROGRESS],
89
- [AnalyticsTriggers.PLAYBACK_25]: [EVENTS.VIDEO_PROGRESS],
90
- [AnalyticsTriggers.PLAYBACK_50]: [EVENTS.VIDEO_PROGRESS],
91
- [AnalyticsTriggers.PLAYBACK_75]: [EVENTS.VIDEO_PROGRESS],
92
- [AnalyticsTriggers.PLAYBACK_90]: [EVENTS.VIDEO_COMPLETE],
93
- [AnalyticsTriggers.PLAYBACK_PAUSE]: [EVENTS.VIDEO_PAUSE],
94
- [AnalyticsTriggers.PLAYBACK_START]: [EVENTS.VIDEO_START],
95
- [AnalyticsTriggers.PLAYBACK_STOP]: [EVENTS.VIDEO_STOP],
96
- [AnalyticsTriggers.PLAYER_CLOSE]: [EVENTS.PLAYER_CLOSE],
97
- [AnalyticsTriggers.PLAYER_OPEN]: [EVENTS.PLAYER_OPEN],
98
- [AnalyticsTriggers.SCROLL_25]: [EVENTS.SCROLL],
99
- [AnalyticsTriggers.SCROLL_50]: [EVENTS.SCROLL],
100
- [AnalyticsTriggers.SCROLL_75]: [EVENTS.SCROLL],
101
- [AnalyticsTriggers.SCROLL_90]: [EVENTS.SCROLL],
102
- [AnalyticsTriggers.APP_CLOSE]: [EVENTS.VIDEO_STOP, EVENTS.PLAYER_CLOSE],
103
- [AnalyticsTriggers.AD_BUFFERING]: [EVENTS.AD_BUFFERING],
104
- [AnalyticsTriggers.AD_COMPLETE]: [EVENTS.AD_COMPLETE],
105
- [AnalyticsTriggers.AD_ERROR]: [EVENTS.AD_ERROR],
106
- [AnalyticsTriggers.AD_SKIPPED]: [EVENTS.AD_SKIPPED],
107
- [AnalyticsTriggers.AD_START]: [EVENTS.AD_START],
108
- [AnalyticsTriggers.AD_STOP]: [EVENTS.AD_STOP],
109
- };
110
-
111
- export const HUNDRED_PERCENT = 100;
@@ -1,34 +0,0 @@
1
- import { time } from '@24i/bigscreen-sdk/time';
2
- import { MINUTES_PER_HOUR } from '@24i/bigscreen-sdk/utils';
3
-
4
- export const getTimezoneOffsetString = (): string => {
5
- const timezoneOffset = time.getTimezoneOffset();
6
- const offsetHours = Math.floor(Math.abs(timezoneOffset) / MINUTES_PER_HOUR);
7
- const offsetMinutesRemainder = Math.abs(timezoneOffset) % MINUTES_PER_HOUR;
8
-
9
- const sign = timezoneOffset <= 0 ? '+' : '-';
10
-
11
- const offsetHoursString = offsetHours.toString().padStart(2, '0');
12
- const offsetMinutesString = offsetMinutesRemainder.toString().padStart(2, '0');
13
- return `${sign}${offsetHoursString}:${offsetMinutesString}`;
14
- };
15
-
16
- export const formatDateTime = (date: Date): string => {
17
- if (Number.isNaN(date.getTime())) {
18
- return '';
19
- }
20
- const year = date.getUTCFullYear();
21
- const month = (date.getUTCMonth() + 1).toString().padStart(2, '0');
22
- const day = date.getUTCDate().toString().padStart(2, '0');
23
- const hours = date.getUTCHours().toString().padStart(2, '0');
24
- const minutes = date.getUTCMinutes().toString().padStart(2, '0');
25
- const seconds = date.getUTCSeconds().toString().padStart(2, '0');
26
-
27
- return `${year}-${month}-${day}T${hours}:${minutes}:${seconds}+00:00`;
28
- };
29
-
30
- export const getAssetId = (url: string = ''): string => {
31
- const urlParts = url.split('/');
32
- const lastPart = urlParts[urlParts.length - 1];
33
- return lastPart !== '' ? lastPart : '';
34
- };
@@ -1,2 +0,0 @@
1
- export { TwentyFourIQClient } from './TwentyFourIQClient';
2
- export { TWENTY_FOUR_IQ_TRIGGERS } from './constants';
@@ -1,34 +0,0 @@
1
- import {
2
- EVENTS,
3
- } from './constants';
4
- import { mapSceneView } from './mappers/mapSceneView';
5
- import { mapBuffering } from './mappers/mapBuffering';
6
- import { mapScroll } from './mappers/mapScroll';
7
- import { mapVideoProgress } from './mappers/mapVideoProgress';
8
- import { mapVideoStop } from './mappers/mapVideoStop';
9
- import { mapVideoComplete } from './mappers/mapVideoComplete';
10
- import { mapPlayerOpen } from './mappers/mapPlayerOpen';
11
- import { mapPlayerClose } from './mappers/mapPlayerClose';
12
- import { mapVideoStart } from './mappers/mapVideoStart';
13
- import { mapVideoPause } from './mappers/mapVideoPause';
14
- import { mapAdEvent } from './mappers/mapAdEvent';
15
- import { EventMappingFunction } from './types';
16
-
17
- export const EVENTS_MAPPING: Record<EVENTS, EventMappingFunction> = {
18
- [EVENTS.SCENE_VIEW]: mapSceneView,
19
- [EVENTS.BUFFERING]: mapBuffering,
20
- [EVENTS.SCROLL]: mapScroll,
21
- [EVENTS.PLAYER_OPEN]: mapPlayerOpen,
22
- [EVENTS.PLAYER_CLOSE]: mapPlayerClose,
23
- [EVENTS.VIDEO_START]: mapVideoStart,
24
- [EVENTS.VIDEO_STOP]: mapVideoStop,
25
- [EVENTS.VIDEO_PROGRESS]: mapVideoProgress,
26
- [EVENTS.VIDEO_COMPLETE]: mapVideoComplete,
27
- [EVENTS.VIDEO_PAUSE]: mapVideoPause,
28
- [EVENTS.AD_BUFFERING]: mapAdEvent,
29
- [EVENTS.AD_COMPLETE]: mapAdEvent,
30
- [EVENTS.AD_ERROR]: mapAdEvent,
31
- [EVENTS.AD_SKIPPED]: mapAdEvent,
32
- [EVENTS.AD_START]: mapAdEvent,
33
- [EVENTS.AD_STOP]: mapAdEvent,
34
- };
@@ -1,20 +0,0 @@
1
- import { AnalyticsTriggers } from '@24i/appstage-shared-analytics';
2
- import { Payload, AdEventResult } from '../types';
3
- import { mapBase } from './mapBase';
4
-
5
- export const mapAdEvent = (
6
- triggerName: AnalyticsTriggers,
7
- payload: Payload,
8
- ): AdEventResult => ({
9
- ...mapBase(payload),
10
- action: triggerName,
11
- event_trigger: triggerName,
12
- ad_id: payload.adId || '',
13
- ad_name: payload.adName || '',
14
- ad_position: payload.adType || '',
15
- ad_playback_position: payload.adPosition || '',
16
- ad_playback_duration: payload.adDuration || '',
17
- thing_id: payload.assetId || '',
18
- attribution_id: payload.attributionId || '',
19
- custom_campaign_url: '',
20
- });
@@ -1,24 +0,0 @@
1
- import { time } from '@24i/bigscreen-sdk/time';
2
- import { Payload, BaseResult } from '../types';
3
- import { formatDateTime, getTimezoneOffsetString } from '../helper';
4
-
5
- export const mapBase = (payload: Payload): BaseResult => {
6
- const timestampDate = time.getCurrentTime();
7
- const formattedTimestamp = getTimezoneOffsetString();
8
- return {
9
- device_appversion: payload.appVersion || '',
10
- session_id: payload.sessionId.toString(),
11
- timestamp_initiated: formatDateTime(timestampDate),
12
- device_id: payload.deviceId,
13
- device_type: 'SmartTV',
14
- device_platform: payload.platform || '',
15
- device_model: payload.deviceModel || '',
16
- device_manufacturer: payload.manufacturer || '',
17
- device_timezone: formattedTimestamp,
18
- service_id: payload.serviceId || '',
19
- user_id: payload.userId || '',
20
- user_profile_id: payload.userProfileId,
21
- custom_gdpr_status: payload.gdprStatus,
22
- ...(!payload.userId && { user_anon_id: payload.deviceId }),
23
- };
24
- };
@@ -1,15 +0,0 @@
1
- import { AnalyticsTriggers } from '@24i/appstage-shared-analytics';
2
- import { Payload, BufferingResult } from '../types';
3
- import { mapBase } from './mapBase';
4
-
5
- export const mapBuffering = (
6
- triggerName: AnalyticsTriggers,
7
- payload: Payload,
8
- ): BufferingResult => ({
9
- ...mapBase(payload),
10
- action: triggerName,
11
- event_trigger: triggerName,
12
- thing_id: payload.assetId || '',
13
- attribution_id: payload.attributionId || '',
14
- source_page: payload.sceneName,
15
- });
@@ -1,25 +0,0 @@
1
- import { SECOND_IN_MS } from '@24i/bigscreen-sdk/utils';
2
- import { AnalyticsTriggers } from '@24i/appstage-shared-analytics';
3
- import { DefaultScreens, EVENTS, HUNDRED_PERCENT } from '../constants';
4
- import { PlayerCloseResult, Payload } from '../types';
5
- import { mapBase } from './mapBase';
6
-
7
- export const mapPlayerClose = (
8
- triggerName: AnalyticsTriggers,
9
- payload: Payload,
10
- ): PlayerCloseResult | undefined => {
11
- const progressPercent = Number(payload.percentOfPlayback);
12
- const assetDuration = Number(payload.duration) / SECOND_IN_MS
13
- || payload?.asset?.duration || 0;
14
- const duration = Math.round((assetDuration * progressPercent) / HUNDRED_PERCENT);
15
- return {
16
- ...mapBase(payload),
17
- action: EVENTS.PLAYER_CLOSE,
18
- event_trigger: triggerName,
19
- source_page: DefaultScreens.PLAYBACK,
20
- thing_id: payload.assetId || '',
21
- attribution_id: payload.attributionId || '',
22
- duration,
23
- progress_pct: progressPercent,
24
- };
25
- };
@@ -1,17 +0,0 @@
1
- import { AnalyticsTriggers } from '@24i/appstage-shared-analytics';
2
- import { DefaultScreens } from '../constants';
3
- import { PlayerOpenResult, Payload } from '../types';
4
- import { mapBase } from './mapBase';
5
-
6
- export const mapPlayerOpen = (
7
- triggerName: AnalyticsTriggers,
8
- payload: Payload,
9
- ): PlayerOpenResult => ({
10
- ...mapBase(payload),
11
- action: triggerName,
12
- event_trigger: triggerName,
13
- source_page: DefaultScreens.PLAYBACK,
14
- thing_id: payload.assetId || '',
15
- attribution_id: payload.attributionId || '',
16
- source_rail: '', // TODO: payload.payload.asset.sectionLabel,
17
- });
@@ -1,15 +0,0 @@
1
- import { AnalyticsTriggers } from '@24i/appstage-shared-analytics';
2
- import { Payload, SceneViewResult } from '../types';
3
- import { mapBase } from './mapBase';
4
-
5
- export const mapSceneView = (
6
- triggerName: AnalyticsTriggers,
7
- payload: Payload,
8
- ): SceneViewResult | undefined => ({
9
- ...mapBase(payload),
10
- action: triggerName,
11
- event_trigger: triggerName,
12
- source_page: payload.sceneName,
13
- thing_id: payload.assetId || '',
14
- attribution_id: payload.attributionId || '',
15
- });
@@ -1,17 +0,0 @@
1
- import { AnalyticsTriggers } from '@24i/appstage-shared-analytics';
2
- import { EVENTS } from '../constants';
3
- import { Payload, ScrollResult } from '../types';
4
- import { mapBase } from './mapBase';
5
-
6
- export const mapScroll = (triggerName: AnalyticsTriggers, payload: Payload): ScrollResult => {
7
- const percentScrolled = triggerName.split('_')[1];
8
- return {
9
- ...mapBase(payload),
10
- action: EVENTS.SCROLL,
11
- event_trigger: triggerName,
12
- source_page: payload.sceneName,
13
- thing_id: payload.assetId || '',
14
- attribution_id: payload.attributionId || '',
15
- percent_scrolled: percentScrolled,
16
- };
17
- };
@@ -1,22 +0,0 @@
1
- import { AnalyticsTriggers } from '@24i/appstage-shared-analytics';
2
- import { SECOND_IN_MS } from '@24i/bigscreen-sdk/utils';
3
- import { DefaultScreens, EVENTS } from '../constants';
4
- import { Payload, VideoCompleteResult } from '../types';
5
- import { mapBase } from './mapBase';
6
-
7
- export const mapVideoComplete = (
8
- triggerName: AnalyticsTriggers,
9
- payload: Payload,
10
- ): VideoCompleteResult => {
11
- const assetDuration = (payload.duration || 0) / SECOND_IN_MS;
12
- return {
13
- ...mapBase(payload),
14
- action: EVENTS.VIDEO_COMPLETE,
15
- event_trigger: triggerName,
16
- thing_id: payload.assetId || '',
17
- attribution_id: payload.attributionId || '',
18
- progress_pct: 90,
19
- duration: assetDuration,
20
- source_page: DefaultScreens.PLAYBACK,
21
- };
22
- };
@@ -1,25 +0,0 @@
1
- import { AnalyticsTriggers } from '@24i/appstage-shared-analytics';
2
- import { SECOND_IN_MS } from '@24i/bigscreen-sdk/utils';
3
- import { DefaultScreens, EVENTS, HUNDRED_PERCENT } from '../constants';
4
- import { VideoPauseResult, Payload } from '../types';
5
- import { mapBase } from './mapBase';
6
-
7
- export const mapVideoPause = (
8
- triggerName: AnalyticsTriggers,
9
- payload: Payload,
10
- ): VideoPauseResult => {
11
- const { asset, duration = 0 } = payload;
12
- const progressPercent = Number(payload.percentOfPlayback);
13
- const assetDuration = duration / SECOND_IN_MS || asset?.duration || 0;
14
- const overallDuration = Math.round((assetDuration * progressPercent) / HUNDRED_PERCENT);
15
- return {
16
- ...mapBase(payload),
17
- action: EVENTS.VIDEO_PAUSE,
18
- event_trigger: triggerName,
19
- thing_id: payload.assetId || '',
20
- attribution_id: payload.attributionId || '',
21
- duration: overallDuration,
22
- progress_pct: progressPercent,
23
- source_page: DefaultScreens.PLAYBACK,
24
- };
25
- };
@@ -1,25 +0,0 @@
1
- import { AnalyticsTriggers } from '@24i/appstage-shared-analytics';
2
- import { SECOND_IN_MS } from '@24i/bigscreen-sdk/utils';
3
- import { Payload, VideoProgressResult } from '../types';
4
- import { DefaultScreens, EVENTS, HUNDRED_PERCENT } from '../constants';
5
- import { mapBase } from './mapBase';
6
-
7
- export const mapVideoProgress = (
8
- triggerName: AnalyticsTriggers,
9
- payload: Payload,
10
- ): VideoProgressResult => {
11
- const { asset, duration = 0 } = payload;
12
- const progressPercent = Number(triggerName.split('_')[1]);
13
- const assetDuration = duration / SECOND_IN_MS || asset?.duration || 0;
14
- const durationInSeconds = Math.round((assetDuration * progressPercent) / HUNDRED_PERCENT);
15
- return {
16
- ...mapBase(payload),
17
- action: EVENTS.VIDEO_PROGRESS,
18
- event_trigger: triggerName,
19
- thing_id: payload.assetId || '',
20
- attribution_id: payload.attributionId || '',
21
- progress_pct: progressPercent,
22
- duration: durationInSeconds,
23
- source_page: DefaultScreens.PLAYBACK,
24
- };
25
- };
@@ -1,34 +0,0 @@
1
- import { AnalyticsTriggers } from '@24i/appstage-shared-analytics';
2
- import { PropertyType } from '@24i/smartapps-datalayer/models';
3
- import { SECOND_IN_MS } from '@24i/bigscreen-sdk/utils';
4
- import { DefaultScreens, EVENTS } from '../constants';
5
- import { VideoStartResult, Payload } from '../types';
6
- import { mapBase } from './mapBase';
7
-
8
- const HUNDRED_PERCENT = 100;
9
-
10
- export const mapVideoStart = (
11
- triggerName: AnalyticsTriggers,
12
- payload: Payload,
13
- ): VideoStartResult => {
14
- const { duration = 0, asset } = payload;
15
- const assetDuration = duration / SECOND_IN_MS || asset?.duration || 0;
16
- const startPosition = Number(asset?.properties?.find(
17
- (property) => property.type === PropertyType.WATCH_PROGRESS,
18
- ) || 0);
19
- let progressPercent = 0;
20
- if (assetDuration !== 0 && startPosition !== 0) {
21
- progressPercent = Number(((startPosition / assetDuration) * HUNDRED_PERCENT).toFixed(2));
22
- }
23
- return {
24
- ...mapBase(payload),
25
- action: EVENTS.VIDEO_START,
26
- event_trigger: triggerName,
27
- thing_id: payload.assetId || '',
28
- attribution_id: payload.attributionId || '',
29
- duration: assetDuration,
30
- progress_pct: progressPercent,
31
- source_page: DefaultScreens.PLAYBACK,
32
- source_rail: '', // TODO: asset.sectionLabel,
33
- };
34
- };
@@ -1,32 +0,0 @@
1
- import { AnalyticsTriggers } from '@24i/appstage-shared-analytics';
2
- import { SECOND_IN_MS } from '@24i/bigscreen-sdk/utils';
3
- import { PropertyType } from '@24i/smartapps-datalayer/models';
4
- import { DefaultScreens, EVENTS, HUNDRED_PERCENT } from '../constants';
5
- import { Payload, VideoStopResult } from '../types';
6
- import { mapBase } from './mapBase';
7
-
8
- export const mapVideoStop = (
9
- triggerName: AnalyticsTriggers,
10
- payload: Payload,
11
- ): VideoStopResult | undefined => {
12
- const { duration = 0, asset } = payload;
13
- const assetDuration = duration / SECOND_IN_MS || asset?.duration || 0;
14
- const startPosition = Number(asset?.properties?.find(
15
- (property) => property.type === PropertyType.WATCH_PROGRESS,
16
- ) || 0);
17
- let progressPercent = 0;
18
- if (assetDuration !== 0 && startPosition !== 0) {
19
- progressPercent = Number(((startPosition / assetDuration) * HUNDRED_PERCENT));
20
- }
21
- return {
22
- ...mapBase(payload),
23
- action: EVENTS.VIDEO_STOP,
24
- event_trigger: triggerName,
25
- thing_id: payload.assetId || '',
26
- attribution_id: payload.attributionId || '',
27
- progress_pct: progressPercent,
28
- duration,
29
- source_page: DefaultScreens.PLAYBACK,
30
- source_rail: '', // TODO: payload.payload.asset.sectionLabel,
31
- };
32
- };
@@ -1,132 +0,0 @@
1
- import { Asset } from '@24i/smartapps-datalayer/models';
2
- import { AnalyticsTriggers } from '@24i/appstage-shared-analytics';
3
- import type { AnyPayload, UserInfo, AppInfo, AdType } from '../../interface';
4
-
5
- interface ScreenParams {
6
- screen: string;
7
- screenName: string;
8
- id: string;
9
- asset: Asset;
10
- }
11
- export interface CorePayload {
12
- timestamp?: number;
13
- params?: ScreenParams;
14
- asset?: Asset;
15
- source?: string;
16
- duration?: number;
17
- assetId?: string;
18
- percentOfPlayback?: number;
19
- attributionId?: string;
20
- }
21
-
22
- export interface SessionInfo {
23
- sessionId: number;
24
- sessionNumber: number;
25
- }
26
-
27
- export interface DeviceInfo {
28
- appVersion: string,
29
- manufacturer: string,
30
- platform: string,
31
- deviceId: string,
32
- deviceModel: string,
33
- }
34
-
35
- export interface SceneInfo {
36
- sceneName: string,
37
- sceneId: string,
38
- sceneType?: string,
39
- }
40
-
41
- export interface AdInfo {
42
- adId: string;
43
- adName: string;
44
- adType: AdType;
45
- adDuration: string;
46
- adPosition: string;
47
- }
48
-
49
- export type Payload = CorePayload
50
- & SceneInfo
51
- & SessionInfo
52
- & UserInfo
53
- & DeviceInfo
54
- & AppInfo
55
- & AdInfo;
56
-
57
- export type EventBody = AnyPayload;
58
-
59
- export type EventMappingFunction = (
60
- triggerName: AnalyticsTriggers,
61
- payload: Payload
62
- ) => AnyPayload | void;
63
-
64
- export type BaseResult = {
65
- device_appversion: string,
66
- session_id: string;
67
- timestamp_initiated: string;
68
- device_id: string;
69
- device_type: string;
70
- device_platform: string;
71
- device_manufacturer: string;
72
- device_model: string;
73
- device_timezone: string;
74
- service_id: string;
75
- user_id?: string;
76
- user_profile_id?: string;
77
- custom_gdpr_status?: boolean;
78
- };
79
-
80
- export type CoreResult = BaseResult & {
81
- action: string;
82
- event_trigger: string;
83
- };
84
- export type SceneViewResult = CoreResult & {
85
- source_page: string;
86
- thing_id: string;
87
- attribution_id: string;
88
- };
89
- export type BufferingResult = SceneViewResult;
90
-
91
- export type ScrollResult = SceneViewResult & {
92
- percent_scrolled: string;
93
- };
94
- export type PlayerOpenResult = CoreResult & {
95
- thing_id: string;
96
- attribution_id: string;
97
- source_page: string;
98
- source_rail?: string | null;
99
- };
100
-
101
- export type VideoBaseResult = CoreResult & {
102
- thing_id: string;
103
- attribution_id: string;
104
- duration: number;
105
- progress_pct: number;
106
- source_page: string;
107
- };
108
-
109
- export type VideoStartResult = VideoBaseResult & {
110
- source_rail?: string | null;
111
- };
112
-
113
- export type VideoPauseResult = VideoBaseResult;
114
-
115
- export type VideoStopResult = VideoStartResult;
116
-
117
- export type VideoProgressResult = VideoBaseResult;
118
-
119
- export type VideoCompleteResult = VideoBaseResult;
120
-
121
- export type PlayerCloseResult = VideoBaseResult;
122
-
123
- export type AdEventResult = CoreResult & {
124
- ad_id: string;
125
- ad_name: string;
126
- ad_position: AdType;
127
- ad_playback_position: string;
128
- ad_playback_duration: string;
129
- thing_id: string;
130
- attribution_id: string;
131
- custom_campaign_url: string;
132
- };
@@ -1 +0,0 @@
1
- export * from '@24i/appstage-shared-analytics';
@@ -1,3 +0,0 @@
1
- export { analytics } from './Analytics';
2
- export { A } from './A';
3
- export { analyticsOnScroll } from './analyticsOnScroll';
@@ -1 +0,0 @@
1
- export * from '@24i/appstage-shared-analytics/dist/interface';
@@ -1,8 +0,0 @@
1
- const RANDOM_SEED = 2147483647;
2
- /**
3
- * Recommended way to generate session id by Google.
4
- * Blackbox
5
- */
6
- export const generateSessionId = () => (
7
- Math.floor(Math.random() * (RANDOM_SEED - 0 + 1) + 0)
8
- );
@@ -1 +0,0 @@
1
- export { DeviceFireTV as Device } from '@24i/bigscreen-sdk/driver-firetv';
@@ -1 +0,0 @@
1
- export { DeviceSmartCast as Device } from '@24i/bigscreen-sdk/driver-smartcast';
@@ -1,5 +0,0 @@
1
- export type AdInfo = {
2
- adId: string | null;
3
- type: string;
4
- latEnabled: boolean | null;
5
- };
@@ -1,25 +0,0 @@
1
- import { Product } from '@24i/smartapps-datalayer/models';
2
- import { VendorType } from '@24i/smartapps-datalayer/src/api';
3
-
4
- export type SubscriptionFeaturesConfiguration = {
5
- purchase: boolean,
6
- management: boolean,
7
- };
8
-
9
- export type IAPSuccessPayload = {
10
- platform: VendorType,
11
- receiptPayload: object
12
- };
13
-
14
- export type IAPPurchaseProductData = Partial<{
15
- sku: string,
16
- serviceId: string,
17
- product: Product,
18
- appId: string,
19
- }>;
20
-
21
- export type IAPErrorPayload = { message: string };
22
-
23
- export type IAPPromiseResolve = (value: IAPSuccessPayload | PromiseLike<IAPSuccessPayload>) => void;
24
-
25
- export type IAPPromiseReject = (reason?: unknown) => void;