@tyrads.com/tyrads-sdk 3.3.4 → 4.0.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 (436) hide show
  1. package/android/build.gradle +1 -1
  2. package/android/src/main/java/com/tyradssdk/TyradsSdkModule.kt +161 -19
  3. package/ios/Tyrads/AcmoConfig.swift +1 -1
  4. package/ios/Tyrads/InitModel.swift +29 -15
  5. package/ios/Tyrads/Tyrads.swift +332 -274
  6. package/ios/Tyrads/WebViewController.swift +10 -17
  7. package/ios/Tyrads/core/models/TyradsUserInfo.swift +2 -0
  8. package/ios/Tyrads/core/utils/AcmoKeyNames.swift +1 -0
  9. package/ios/Tyrads/helpers/device_details.swift +122 -2
  10. package/ios/Tyrads/pushNotifications/APNsAppDelegateProxy.swift +37 -0
  11. package/ios/Tyrads/pushNotifications/APNsNotificationListener.swift +14 -0
  12. package/ios/Tyrads/pushNotifications/APNsNotificationManager.swift +68 -0
  13. package/ios/Tyrads/pushNotifications/APNsNotificationReceiver.swift +77 -0
  14. package/ios/Tyrads/pushNotifications/TyradsAPNsSwizzler.mm +179 -0
  15. package/ios/TyradsSdk-Bridging-Header.h +3 -0
  16. package/ios/TyradsSdk.mm +12 -1
  17. package/ios/TyradsSdk.swift +121 -4
  18. package/lib/commonjs/acmo/core/components/countdown-timer.js +48 -0
  19. package/lib/commonjs/acmo/core/components/countdown-timer.js.map +1 -0
  20. package/lib/commonjs/acmo/core/components/snap-carousel.js +86 -0
  21. package/lib/commonjs/acmo/core/components/snap-carousel.js.map +1 -0
  22. package/lib/commonjs/acmo/core/constants/api-endpoints.js +18 -0
  23. package/lib/commonjs/acmo/core/constants/api-endpoints.js.map +1 -0
  24. package/lib/commonjs/acmo/core/helpers/colors.js +20 -0
  25. package/lib/commonjs/acmo/core/helpers/colors.js.map +1 -0
  26. package/lib/commonjs/acmo/core/helpers/logger.js +18 -0
  27. package/lib/commonjs/acmo/core/helpers/logger.js.map +1 -0
  28. package/lib/commonjs/acmo/core/helpers/patches.js +7 -0
  29. package/lib/commonjs/acmo/core/helpers/patches.js.map +1 -0
  30. package/lib/commonjs/acmo/core/network/http-client.js +91 -0
  31. package/lib/commonjs/acmo/core/network/http-client.js.map +1 -0
  32. package/lib/commonjs/acmo/core/network/network-common.js +111 -0
  33. package/lib/commonjs/acmo/core/network/network-common.js.map +1 -0
  34. package/lib/commonjs/acmo/core/services/localization_service.js +7 -13
  35. package/lib/commonjs/acmo/core/services/localization_service.js.map +1 -1
  36. package/lib/commonjs/acmo/core/types/activated-campaings.d.js +2 -0
  37. package/lib/commonjs/acmo/core/types/activated-campaings.d.js.map +1 -0
  38. package/lib/commonjs/acmo/core/tyrads-sdk-core.js +203 -0
  39. package/lib/commonjs/acmo/core/tyrads-sdk-core.js.map +1 -0
  40. package/lib/commonjs/acmo/modules/inapp-notifications/components/gradient_card.js +98 -0
  41. package/lib/commonjs/acmo/modules/inapp-notifications/components/gradient_card.js.map +1 -0
  42. package/lib/commonjs/acmo/modules/inapp-notifications/components/modal-wrapper.js +55 -0
  43. package/lib/commonjs/acmo/modules/inapp-notifications/components/modal-wrapper.js.map +1 -0
  44. package/lib/commonjs/acmo/modules/inapp-notifications/controller.js +141 -0
  45. package/lib/commonjs/acmo/modules/inapp-notifications/controller.js.map +1 -0
  46. package/lib/commonjs/acmo/modules/inapp-notifications/currency-sales/currency-sales-notif.js +183 -0
  47. package/lib/commonjs/acmo/modules/inapp-notifications/currency-sales/currency-sales-notif.js.map +1 -0
  48. package/lib/commonjs/acmo/modules/inapp-notifications/inapp-notification-host.js +37 -0
  49. package/lib/commonjs/acmo/modules/inapp-notifications/inapp-notification-host.js.map +1 -0
  50. package/lib/commonjs/acmo/modules/inapp-notifications/inapp-notification-manager.js +39 -0
  51. package/lib/commonjs/acmo/modules/inapp-notifications/inapp-notification-manager.js.map +1 -0
  52. package/lib/commonjs/acmo/modules/inapp-notifications/limited-time-offer/components/limited-time-offer-card.js +206 -0
  53. package/lib/commonjs/acmo/modules/inapp-notifications/limited-time-offer/components/limited-time-offer-card.js.map +1 -0
  54. package/lib/commonjs/acmo/modules/inapp-notifications/limited-time-offer/limited-time-notif.js +155 -0
  55. package/lib/commonjs/acmo/modules/inapp-notifications/limited-time-offer/limited-time-notif.js.map +1 -0
  56. package/lib/commonjs/acmo/modules/inapp-notifications/repository.js +52 -0
  57. package/lib/commonjs/acmo/modules/inapp-notifications/repository.js.map +1 -0
  58. package/lib/commonjs/acmo/modules/inapp-notifications/tyrads-global-host.js +37 -0
  59. package/lib/commonjs/acmo/modules/inapp-notifications/tyrads-global-host.js.map +1 -0
  60. package/lib/commonjs/acmo/modules/localization/localization_context.js +15 -2
  61. package/lib/commonjs/acmo/modules/localization/localization_context.js.map +1 -1
  62. package/lib/commonjs/acmo/modules/premium-widgets/components/active_offers_button.js.map +1 -0
  63. package/lib/commonjs/acmo/modules/{dashboard → premium-widgets}/components/custom_card.js +1 -2
  64. package/lib/commonjs/acmo/modules/premium-widgets/components/custom_card.js.map +1 -0
  65. package/lib/commonjs/acmo/modules/{dashboard → premium-widgets}/components/custom_scroller.js +20 -11
  66. package/lib/commonjs/acmo/modules/premium-widgets/components/custom_scroller.js.map +1 -0
  67. package/lib/commonjs/acmo/modules/premium-widgets/components/custom_shimmer.js.map +1 -0
  68. package/lib/commonjs/acmo/modules/{dashboard → premium-widgets}/components/offer_card.js +12 -12
  69. package/lib/commonjs/acmo/modules/premium-widgets/components/offer_card.js.map +1 -0
  70. package/lib/commonjs/acmo/modules/{dashboard → premium-widgets}/components/offer_list_item.js +3 -3
  71. package/lib/commonjs/acmo/modules/premium-widgets/components/offer_list_item.js.map +1 -0
  72. package/lib/commonjs/acmo/modules/premium-widgets/components/premium_empty_widget.js.map +1 -0
  73. package/lib/commonjs/acmo/modules/premium-widgets/components/premium_header.js.map +1 -0
  74. package/lib/commonjs/acmo/modules/{dashboard → premium-widgets}/components/premium_loading.js +3 -3
  75. package/lib/commonjs/acmo/modules/premium-widgets/components/premium_loading.js.map +1 -0
  76. package/lib/commonjs/acmo/modules/premium-widgets/controller.js +30 -0
  77. package/lib/commonjs/acmo/modules/premium-widgets/controller.js.map +1 -0
  78. package/lib/commonjs/acmo/modules/{dashboard/top_offers.js → premium-widgets/premium_offers_widget.js} +67 -30
  79. package/lib/commonjs/acmo/modules/premium-widgets/premium_offers_widget.js.map +1 -0
  80. package/lib/commonjs/acmo/modules/premium-widgets/premium_offers_widget_wrapper.js +49 -0
  81. package/lib/commonjs/acmo/modules/premium-widgets/premium_offers_widget_wrapper.js.map +1 -0
  82. package/lib/commonjs/acmo/modules/premium-widgets/repository.js +103 -0
  83. package/lib/commonjs/acmo/modules/premium-widgets/repository.js.map +1 -0
  84. package/lib/commonjs/acmo/modules/push-notifications/apns-manager.js +227 -0
  85. package/lib/commonjs/acmo/modules/push-notifications/apns-manager.js.map +1 -0
  86. package/lib/commonjs/acmo/modules/push-notifications/fcm-manager.js +148 -0
  87. package/lib/commonjs/acmo/modules/push-notifications/fcm-manager.js.map +1 -0
  88. package/lib/commonjs/acmo_config.js +6 -5
  89. package/lib/commonjs/acmo_config.js.map +1 -1
  90. package/lib/commonjs/assets/images/alarm-clock.png +0 -0
  91. package/lib/commonjs/assets/images/circle-x.png +0 -0
  92. package/lib/commonjs/assets/images/coin.png +0 -0
  93. package/lib/commonjs/index.js +33 -106
  94. package/lib/commonjs/index.js.map +1 -1
  95. package/lib/module/acmo/core/components/countdown-timer.js +42 -0
  96. package/lib/module/acmo/core/components/countdown-timer.js.map +1 -0
  97. package/lib/module/acmo/core/components/snap-carousel.js +81 -0
  98. package/lib/module/acmo/core/components/snap-carousel.js.map +1 -0
  99. package/lib/module/acmo/core/constants/api-endpoints.js +14 -0
  100. package/lib/module/acmo/core/constants/api-endpoints.js.map +1 -0
  101. package/lib/module/acmo/core/helpers/colors.js +15 -0
  102. package/lib/module/acmo/core/helpers/colors.js.map +1 -0
  103. package/lib/module/acmo/core/helpers/logger.js +14 -0
  104. package/lib/module/acmo/core/helpers/logger.js.map +1 -0
  105. package/lib/module/acmo/core/helpers/patches.js +7 -0
  106. package/lib/module/acmo/core/helpers/patches.js.map +1 -0
  107. package/lib/module/acmo/core/network/http-client.js +86 -0
  108. package/lib/module/acmo/core/network/http-client.js.map +1 -0
  109. package/lib/module/acmo/core/network/network-common.js +106 -0
  110. package/lib/module/acmo/core/network/network-common.js.map +1 -0
  111. package/lib/module/acmo/core/services/localization_service.js +7 -13
  112. package/lib/module/acmo/core/services/localization_service.js.map +1 -1
  113. package/lib/module/acmo/core/types/activated-campaings.d.js +2 -0
  114. package/lib/module/acmo/core/types/activated-campaings.d.js.map +1 -0
  115. package/lib/module/acmo/core/tyrads-sdk-core.js +197 -0
  116. package/lib/module/acmo/core/tyrads-sdk-core.js.map +1 -0
  117. package/lib/module/acmo/modules/inapp-notifications/components/gradient_card.js +92 -0
  118. package/lib/module/acmo/modules/inapp-notifications/components/gradient_card.js.map +1 -0
  119. package/lib/module/acmo/modules/inapp-notifications/components/modal-wrapper.js +49 -0
  120. package/lib/module/acmo/modules/inapp-notifications/components/modal-wrapper.js.map +1 -0
  121. package/lib/module/acmo/modules/inapp-notifications/controller.js +136 -0
  122. package/lib/module/acmo/modules/inapp-notifications/controller.js.map +1 -0
  123. package/lib/module/acmo/modules/inapp-notifications/currency-sales/currency-sales-notif.js +176 -0
  124. package/lib/module/acmo/modules/inapp-notifications/currency-sales/currency-sales-notif.js.map +1 -0
  125. package/lib/module/acmo/modules/inapp-notifications/inapp-notification-host.js +32 -0
  126. package/lib/module/acmo/modules/inapp-notifications/inapp-notification-host.js.map +1 -0
  127. package/lib/module/acmo/modules/inapp-notifications/inapp-notification-manager.js +35 -0
  128. package/lib/module/acmo/modules/inapp-notifications/inapp-notification-manager.js.map +1 -0
  129. package/lib/module/acmo/modules/inapp-notifications/limited-time-offer/components/limited-time-offer-card.js +200 -0
  130. package/lib/module/acmo/modules/inapp-notifications/limited-time-offer/components/limited-time-offer-card.js.map +1 -0
  131. package/lib/module/acmo/modules/inapp-notifications/limited-time-offer/limited-time-notif.js +149 -0
  132. package/lib/module/acmo/modules/inapp-notifications/limited-time-offer/limited-time-notif.js.map +1 -0
  133. package/lib/module/acmo/modules/inapp-notifications/repository.js +47 -0
  134. package/lib/module/acmo/modules/inapp-notifications/repository.js.map +1 -0
  135. package/lib/module/acmo/modules/inapp-notifications/tyrads-global-host.js +32 -0
  136. package/lib/module/acmo/modules/inapp-notifications/tyrads-global-host.js.map +1 -0
  137. package/lib/module/acmo/modules/localization/localization_context.js +15 -2
  138. package/lib/module/acmo/modules/localization/localization_context.js.map +1 -1
  139. package/lib/module/acmo/modules/premium-widgets/components/active_offers_button.js.map +1 -0
  140. package/lib/module/acmo/modules/{dashboard → premium-widgets}/components/custom_card.js +1 -2
  141. package/lib/module/acmo/modules/premium-widgets/components/custom_card.js.map +1 -0
  142. package/lib/module/acmo/modules/{dashboard → premium-widgets}/components/custom_scroller.js +20 -11
  143. package/lib/module/acmo/modules/premium-widgets/components/custom_scroller.js.map +1 -0
  144. package/lib/module/acmo/modules/premium-widgets/components/custom_shimmer.js.map +1 -0
  145. package/lib/module/acmo/modules/{dashboard → premium-widgets}/components/offer_card.js +12 -12
  146. package/lib/module/acmo/modules/premium-widgets/components/offer_card.js.map +1 -0
  147. package/lib/module/acmo/modules/{dashboard → premium-widgets}/components/offer_list_item.js +3 -3
  148. package/lib/module/acmo/modules/premium-widgets/components/offer_list_item.js.map +1 -0
  149. package/lib/module/acmo/modules/premium-widgets/components/premium_empty_widget.js.map +1 -0
  150. package/lib/module/acmo/modules/premium-widgets/components/premium_header.js.map +1 -0
  151. package/lib/module/acmo/modules/{dashboard → premium-widgets}/components/premium_loading.js +1 -1
  152. package/lib/module/acmo/modules/premium-widgets/components/premium_loading.js.map +1 -0
  153. package/lib/module/acmo/modules/premium-widgets/controller.js +25 -0
  154. package/lib/module/acmo/modules/premium-widgets/controller.js.map +1 -0
  155. package/lib/module/acmo/modules/{dashboard/top_offers.js → premium-widgets/premium_offers_widget.js} +69 -32
  156. package/lib/module/acmo/modules/premium-widgets/premium_offers_widget.js.map +1 -0
  157. package/lib/module/acmo/modules/premium-widgets/premium_offers_widget_wrapper.js +41 -0
  158. package/lib/module/acmo/modules/premium-widgets/premium_offers_widget_wrapper.js.map +1 -0
  159. package/lib/module/acmo/modules/premium-widgets/repository.js +98 -0
  160. package/lib/module/acmo/modules/premium-widgets/repository.js.map +1 -0
  161. package/lib/module/acmo/modules/push-notifications/apns-manager.js +222 -0
  162. package/lib/module/acmo/modules/push-notifications/apns-manager.js.map +1 -0
  163. package/lib/module/acmo/modules/push-notifications/fcm-manager.js +143 -0
  164. package/lib/module/acmo/modules/push-notifications/fcm-manager.js.map +1 -0
  165. package/lib/module/acmo_config.js +6 -5
  166. package/lib/module/acmo_config.js.map +1 -1
  167. package/lib/module/assets/images/alarm-clock.png +0 -0
  168. package/lib/module/assets/images/circle-x.png +0 -0
  169. package/lib/module/assets/images/coin.png +0 -0
  170. package/lib/module/index.js +16 -106
  171. package/lib/module/index.js.map +1 -1
  172. package/lib/typescript/commonjs/src/acmo/core/components/countdown-timer.d.ts +8 -0
  173. package/lib/typescript/commonjs/src/acmo/core/components/countdown-timer.d.ts.map +1 -0
  174. package/lib/typescript/commonjs/src/acmo/core/components/snap-carousel.d.ts +26 -0
  175. package/lib/typescript/commonjs/src/acmo/core/components/snap-carousel.d.ts.map +1 -0
  176. package/lib/typescript/commonjs/src/acmo/core/constants/api-endpoints.d.ts +12 -0
  177. package/lib/typescript/commonjs/src/acmo/core/constants/api-endpoints.d.ts.map +1 -0
  178. package/lib/typescript/commonjs/src/acmo/core/helpers/colors.d.ts +2 -0
  179. package/lib/typescript/commonjs/src/acmo/core/helpers/colors.d.ts.map +1 -0
  180. package/lib/typescript/commonjs/src/acmo/core/helpers/logger.d.ts +6 -0
  181. package/lib/typescript/commonjs/src/acmo/core/helpers/logger.d.ts.map +1 -0
  182. package/lib/typescript/commonjs/src/acmo/core/network/http-client.d.ts +28 -0
  183. package/lib/typescript/commonjs/src/acmo/core/network/http-client.d.ts.map +1 -0
  184. package/lib/typescript/commonjs/src/acmo/core/network/network-common.d.ts +13 -0
  185. package/lib/typescript/commonjs/src/acmo/core/network/network-common.d.ts.map +1 -0
  186. package/lib/typescript/commonjs/src/acmo/core/services/localization_service.d.ts +0 -1
  187. package/lib/typescript/commonjs/src/acmo/core/services/localization_service.d.ts.map +1 -1
  188. package/lib/typescript/commonjs/src/acmo/core/types/external_types.d.ts +5 -0
  189. package/lib/typescript/commonjs/src/acmo/core/types/external_types.d.ts.map +1 -1
  190. package/lib/typescript/commonjs/src/acmo/core/tyrads-sdk-core.d.ts +46 -0
  191. package/lib/typescript/commonjs/src/acmo/core/tyrads-sdk-core.d.ts.map +1 -0
  192. package/lib/typescript/commonjs/src/acmo/modules/inapp-notifications/components/gradient_card.d.ts +17 -0
  193. package/lib/typescript/commonjs/src/acmo/modules/inapp-notifications/components/gradient_card.d.ts.map +1 -0
  194. package/lib/typescript/commonjs/src/acmo/modules/inapp-notifications/components/modal-wrapper.d.ts +10 -0
  195. package/lib/typescript/commonjs/src/acmo/modules/inapp-notifications/components/modal-wrapper.d.ts.map +1 -0
  196. package/lib/typescript/commonjs/src/acmo/modules/inapp-notifications/controller.d.ts +22 -0
  197. package/lib/typescript/commonjs/src/acmo/modules/inapp-notifications/controller.d.ts.map +1 -0
  198. package/lib/typescript/commonjs/src/acmo/modules/inapp-notifications/currency-sales/currency-sales-notif.d.ts +6 -0
  199. package/lib/typescript/commonjs/src/acmo/modules/inapp-notifications/currency-sales/currency-sales-notif.d.ts.map +1 -0
  200. package/lib/typescript/commonjs/src/acmo/modules/inapp-notifications/inapp-notification-host.d.ts +7 -0
  201. package/lib/typescript/commonjs/src/acmo/modules/inapp-notifications/inapp-notification-host.d.ts.map +1 -0
  202. package/lib/typescript/commonjs/src/acmo/modules/inapp-notifications/inapp-notification-manager.d.ts +14 -0
  203. package/lib/typescript/commonjs/src/acmo/modules/inapp-notifications/inapp-notification-manager.d.ts.map +1 -0
  204. package/lib/typescript/commonjs/src/acmo/modules/inapp-notifications/limited-time-offer/components/limited-time-offer-card.d.ts +4 -0
  205. package/lib/typescript/commonjs/src/acmo/modules/inapp-notifications/limited-time-offer/components/limited-time-offer-card.d.ts.map +1 -0
  206. package/lib/typescript/commonjs/src/acmo/modules/inapp-notifications/limited-time-offer/limited-time-notif.d.ts +7 -0
  207. package/lib/typescript/commonjs/src/acmo/modules/inapp-notifications/limited-time-offer/limited-time-notif.d.ts.map +1 -0
  208. package/lib/typescript/commonjs/src/acmo/modules/inapp-notifications/repository.d.ts +8 -0
  209. package/lib/typescript/commonjs/src/acmo/modules/inapp-notifications/repository.d.ts.map +1 -0
  210. package/lib/typescript/commonjs/src/acmo/modules/inapp-notifications/tyrads-global-host.d.ts +6 -0
  211. package/lib/typescript/commonjs/src/acmo/modules/inapp-notifications/tyrads-global-host.d.ts.map +1 -0
  212. package/lib/typescript/commonjs/src/acmo/modules/localization/localization_context.d.ts.map +1 -1
  213. package/lib/typescript/commonjs/src/acmo/modules/premium-widgets/components/active_offers_button.d.ts.map +1 -0
  214. package/lib/typescript/commonjs/src/acmo/modules/premium-widgets/components/custom_card.d.ts.map +1 -0
  215. package/lib/typescript/{module/src/acmo/modules/dashboard → commonjs/src/acmo/modules/premium-widgets}/components/custom_scroller.d.ts +3 -0
  216. package/lib/typescript/commonjs/src/acmo/modules/premium-widgets/components/custom_scroller.d.ts.map +1 -0
  217. package/lib/typescript/commonjs/src/acmo/modules/premium-widgets/components/custom_shimmer.d.ts.map +1 -0
  218. package/lib/typescript/commonjs/src/acmo/modules/premium-widgets/components/offer_card.d.ts.map +1 -0
  219. package/lib/typescript/commonjs/src/acmo/modules/premium-widgets/components/offer_list_item.d.ts.map +1 -0
  220. package/lib/typescript/commonjs/src/acmo/modules/premium-widgets/components/premium_empty_widget.d.ts.map +1 -0
  221. package/lib/typescript/commonjs/src/acmo/modules/premium-widgets/components/premium_header.d.ts.map +1 -0
  222. package/lib/typescript/{module/src/acmo/modules/dashboard → commonjs/src/acmo/modules/premium-widgets}/components/premium_loading.d.ts +1 -1
  223. package/lib/typescript/commonjs/src/acmo/modules/premium-widgets/components/premium_loading.d.ts.map +1 -0
  224. package/lib/typescript/commonjs/src/acmo/modules/premium-widgets/controller.d.ts +14 -0
  225. package/lib/typescript/commonjs/src/acmo/modules/premium-widgets/controller.d.ts.map +1 -0
  226. package/lib/typescript/commonjs/src/acmo/modules/{dashboard/top_offers.d.ts → premium-widgets/premium_offers_widget.d.ts} +3 -3
  227. package/lib/typescript/commonjs/src/acmo/modules/premium-widgets/premium_offers_widget.d.ts.map +1 -0
  228. package/lib/typescript/commonjs/src/acmo/modules/premium-widgets/premium_offers_widget_wrapper.d.ts +9 -0
  229. package/lib/typescript/commonjs/src/acmo/modules/premium-widgets/premium_offers_widget_wrapper.d.ts.map +1 -0
  230. package/lib/typescript/commonjs/src/acmo/modules/premium-widgets/repository.d.ts +13 -0
  231. package/lib/typescript/commonjs/src/acmo/modules/premium-widgets/repository.d.ts.map +1 -0
  232. package/lib/typescript/commonjs/src/acmo/modules/push-notifications/apns-manager.d.ts +40 -0
  233. package/lib/typescript/commonjs/src/acmo/modules/push-notifications/apns-manager.d.ts.map +1 -0
  234. package/lib/typescript/commonjs/src/acmo/modules/push-notifications/fcm-manager.d.ts +32 -0
  235. package/lib/typescript/commonjs/src/acmo/modules/push-notifications/fcm-manager.d.ts.map +1 -0
  236. package/lib/typescript/commonjs/src/acmo_config.d.ts +1 -0
  237. package/lib/typescript/commonjs/src/acmo_config.d.ts.map +1 -1
  238. package/lib/typescript/commonjs/src/index.d.ts +5 -11
  239. package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
  240. package/lib/typescript/module/src/acmo/core/components/countdown-timer.d.ts +8 -0
  241. package/lib/typescript/module/src/acmo/core/components/countdown-timer.d.ts.map +1 -0
  242. package/lib/typescript/module/src/acmo/core/components/snap-carousel.d.ts +26 -0
  243. package/lib/typescript/module/src/acmo/core/components/snap-carousel.d.ts.map +1 -0
  244. package/lib/typescript/module/src/acmo/core/constants/api-endpoints.d.ts +12 -0
  245. package/lib/typescript/module/src/acmo/core/constants/api-endpoints.d.ts.map +1 -0
  246. package/lib/typescript/module/src/acmo/core/helpers/colors.d.ts +2 -0
  247. package/lib/typescript/module/src/acmo/core/helpers/colors.d.ts.map +1 -0
  248. package/lib/typescript/module/src/acmo/core/helpers/logger.d.ts +6 -0
  249. package/lib/typescript/module/src/acmo/core/helpers/logger.d.ts.map +1 -0
  250. package/lib/typescript/module/src/acmo/core/network/http-client.d.ts +28 -0
  251. package/lib/typescript/module/src/acmo/core/network/http-client.d.ts.map +1 -0
  252. package/lib/typescript/module/src/acmo/core/network/network-common.d.ts +13 -0
  253. package/lib/typescript/module/src/acmo/core/network/network-common.d.ts.map +1 -0
  254. package/lib/typescript/module/src/acmo/core/services/localization_service.d.ts +0 -1
  255. package/lib/typescript/module/src/acmo/core/services/localization_service.d.ts.map +1 -1
  256. package/lib/typescript/module/src/acmo/core/types/external_types.d.ts +5 -0
  257. package/lib/typescript/module/src/acmo/core/types/external_types.d.ts.map +1 -1
  258. package/lib/typescript/module/src/acmo/core/tyrads-sdk-core.d.ts +46 -0
  259. package/lib/typescript/module/src/acmo/core/tyrads-sdk-core.d.ts.map +1 -0
  260. package/lib/typescript/module/src/acmo/modules/inapp-notifications/components/gradient_card.d.ts +17 -0
  261. package/lib/typescript/module/src/acmo/modules/inapp-notifications/components/gradient_card.d.ts.map +1 -0
  262. package/lib/typescript/module/src/acmo/modules/inapp-notifications/components/modal-wrapper.d.ts +10 -0
  263. package/lib/typescript/module/src/acmo/modules/inapp-notifications/components/modal-wrapper.d.ts.map +1 -0
  264. package/lib/typescript/module/src/acmo/modules/inapp-notifications/controller.d.ts +22 -0
  265. package/lib/typescript/module/src/acmo/modules/inapp-notifications/controller.d.ts.map +1 -0
  266. package/lib/typescript/module/src/acmo/modules/inapp-notifications/currency-sales/currency-sales-notif.d.ts +6 -0
  267. package/lib/typescript/module/src/acmo/modules/inapp-notifications/currency-sales/currency-sales-notif.d.ts.map +1 -0
  268. package/lib/typescript/module/src/acmo/modules/inapp-notifications/inapp-notification-host.d.ts +7 -0
  269. package/lib/typescript/module/src/acmo/modules/inapp-notifications/inapp-notification-host.d.ts.map +1 -0
  270. package/lib/typescript/module/src/acmo/modules/inapp-notifications/inapp-notification-manager.d.ts +14 -0
  271. package/lib/typescript/module/src/acmo/modules/inapp-notifications/inapp-notification-manager.d.ts.map +1 -0
  272. package/lib/typescript/module/src/acmo/modules/inapp-notifications/limited-time-offer/components/limited-time-offer-card.d.ts +4 -0
  273. package/lib/typescript/module/src/acmo/modules/inapp-notifications/limited-time-offer/components/limited-time-offer-card.d.ts.map +1 -0
  274. package/lib/typescript/module/src/acmo/modules/inapp-notifications/limited-time-offer/limited-time-notif.d.ts +7 -0
  275. package/lib/typescript/module/src/acmo/modules/inapp-notifications/limited-time-offer/limited-time-notif.d.ts.map +1 -0
  276. package/lib/typescript/module/src/acmo/modules/inapp-notifications/repository.d.ts +8 -0
  277. package/lib/typescript/module/src/acmo/modules/inapp-notifications/repository.d.ts.map +1 -0
  278. package/lib/typescript/module/src/acmo/modules/inapp-notifications/tyrads-global-host.d.ts +6 -0
  279. package/lib/typescript/module/src/acmo/modules/inapp-notifications/tyrads-global-host.d.ts.map +1 -0
  280. package/lib/typescript/module/src/acmo/modules/localization/localization_context.d.ts.map +1 -1
  281. package/lib/typescript/module/src/acmo/modules/premium-widgets/components/active_offers_button.d.ts.map +1 -0
  282. package/lib/typescript/module/src/acmo/modules/premium-widgets/components/custom_card.d.ts.map +1 -0
  283. package/lib/typescript/{commonjs/src/acmo/modules/dashboard → module/src/acmo/modules/premium-widgets}/components/custom_scroller.d.ts +3 -0
  284. package/lib/typescript/module/src/acmo/modules/premium-widgets/components/custom_scroller.d.ts.map +1 -0
  285. package/lib/typescript/module/src/acmo/modules/premium-widgets/components/custom_shimmer.d.ts.map +1 -0
  286. package/lib/typescript/module/src/acmo/modules/premium-widgets/components/offer_card.d.ts.map +1 -0
  287. package/lib/typescript/module/src/acmo/modules/premium-widgets/components/offer_list_item.d.ts.map +1 -0
  288. package/lib/typescript/module/src/acmo/modules/premium-widgets/components/premium_empty_widget.d.ts.map +1 -0
  289. package/lib/typescript/module/src/acmo/modules/premium-widgets/components/premium_header.d.ts.map +1 -0
  290. package/lib/typescript/{commonjs/src/acmo/modules/dashboard → module/src/acmo/modules/premium-widgets}/components/premium_loading.d.ts +1 -1
  291. package/lib/typescript/module/src/acmo/modules/premium-widgets/components/premium_loading.d.ts.map +1 -0
  292. package/lib/typescript/module/src/acmo/modules/premium-widgets/controller.d.ts +14 -0
  293. package/lib/typescript/module/src/acmo/modules/premium-widgets/controller.d.ts.map +1 -0
  294. package/lib/typescript/module/src/acmo/modules/{dashboard/top_offers.d.ts → premium-widgets/premium_offers_widget.d.ts} +3 -3
  295. package/lib/typescript/module/src/acmo/modules/premium-widgets/premium_offers_widget.d.ts.map +1 -0
  296. package/lib/typescript/module/src/acmo/modules/premium-widgets/premium_offers_widget_wrapper.d.ts +9 -0
  297. package/lib/typescript/module/src/acmo/modules/premium-widgets/premium_offers_widget_wrapper.d.ts.map +1 -0
  298. package/lib/typescript/module/src/acmo/modules/premium-widgets/repository.d.ts +13 -0
  299. package/lib/typescript/module/src/acmo/modules/premium-widgets/repository.d.ts.map +1 -0
  300. package/lib/typescript/module/src/acmo/modules/push-notifications/apns-manager.d.ts +40 -0
  301. package/lib/typescript/module/src/acmo/modules/push-notifications/apns-manager.d.ts.map +1 -0
  302. package/lib/typescript/module/src/acmo/modules/push-notifications/fcm-manager.d.ts +32 -0
  303. package/lib/typescript/module/src/acmo/modules/push-notifications/fcm-manager.d.ts.map +1 -0
  304. package/lib/typescript/module/src/acmo_config.d.ts +1 -0
  305. package/lib/typescript/module/src/acmo_config.d.ts.map +1 -1
  306. package/lib/typescript/module/src/index.d.ts +5 -11
  307. package/lib/typescript/module/src/index.d.ts.map +1 -1
  308. package/package.json +5 -3
  309. package/readme.md +27 -14
  310. package/src/acmo/core/components/countdown-timer.tsx +52 -0
  311. package/src/acmo/core/components/snap-carousel.tsx +106 -0
  312. package/src/acmo/core/constants/api-endpoints.ts +12 -0
  313. package/src/acmo/core/helpers/colors.ts +16 -0
  314. package/src/acmo/core/helpers/logger.ts +11 -0
  315. package/src/acmo/core/helpers/patches.js +6 -0
  316. package/src/acmo/core/network/http-client.ts +89 -0
  317. package/src/acmo/core/network/network-common.ts +128 -0
  318. package/src/acmo/core/services/localization_service.ts +7 -14
  319. package/src/acmo/core/types/activated-campaings.d.ts +101 -0
  320. package/src/acmo/core/types/external_types.ts +7 -1
  321. package/src/acmo/core/types/types.d.ts +112 -76
  322. package/src/acmo/core/tyrads-sdk-core.tsx +258 -0
  323. package/src/acmo/modules/inapp-notifications/components/gradient_card.tsx +87 -0
  324. package/src/acmo/modules/inapp-notifications/components/modal-wrapper.tsx +59 -0
  325. package/src/acmo/modules/inapp-notifications/controller.ts +183 -0
  326. package/src/acmo/modules/inapp-notifications/currency-sales/currency-sales-notif.tsx +164 -0
  327. package/src/acmo/modules/inapp-notifications/inapp-notification-host.tsx +32 -0
  328. package/src/acmo/modules/inapp-notifications/inapp-notification-manager.ts +40 -0
  329. package/src/acmo/modules/inapp-notifications/limited-time-offer/components/limited-time-offer-card.tsx +188 -0
  330. package/src/acmo/modules/inapp-notifications/limited-time-offer/limited-time-notif.tsx +149 -0
  331. package/src/acmo/modules/inapp-notifications/repository.ts +49 -0
  332. package/src/acmo/modules/inapp-notifications/tyrads-global-host.tsx +25 -0
  333. package/src/acmo/modules/localization/localization_context.tsx +15 -2
  334. package/src/acmo/modules/{dashboard → premium-widgets}/components/custom_card.tsx +1 -2
  335. package/src/acmo/modules/{dashboard → premium-widgets}/components/custom_scroller.tsx +24 -10
  336. package/src/acmo/modules/{dashboard → premium-widgets}/components/offer_card.tsx +11 -11
  337. package/src/acmo/modules/{dashboard → premium-widgets}/components/offer_list_item.tsx +3 -3
  338. package/src/acmo/modules/{dashboard → premium-widgets}/components/premium_loading.tsx +1 -1
  339. package/src/acmo/modules/premium-widgets/controller.ts +39 -0
  340. package/src/acmo/modules/{dashboard/top_offers.tsx → premium-widgets/premium_offers_widget.tsx} +67 -45
  341. package/src/acmo/modules/premium-widgets/premium_offers_widget_wrapper.tsx +39 -0
  342. package/src/acmo/modules/premium-widgets/repository.ts +107 -0
  343. package/src/acmo/modules/push-notifications/apns-manager.ts +254 -0
  344. package/src/acmo/modules/push-notifications/fcm-manager.ts +162 -0
  345. package/src/acmo_config.ts +6 -5
  346. package/src/assets/images/alarm-clock.png +0 -0
  347. package/src/assets/images/circle-x.png +0 -0
  348. package/src/assets/images/coin.png +0 -0
  349. package/src/index.tsx +19 -127
  350. package/ios/Tyrads/user/AcmoUserUpdatePage.swift +0 -302
  351. package/ios/Tyrads/user/AcmoUsersUpdateController.swift +0 -26
  352. package/ios/Tyrads/user/Repository.swift +0 -89
  353. package/lib/commonjs/acmo/core/helpers/native_methods.js +0 -48
  354. package/lib/commonjs/acmo/core/helpers/native_methods.js.map +0 -1
  355. package/lib/commonjs/acmo/modules/dashboard/components/active_offers_button.js.map +0 -1
  356. package/lib/commonjs/acmo/modules/dashboard/components/custom_card.js.map +0 -1
  357. package/lib/commonjs/acmo/modules/dashboard/components/custom_scroller.js.map +0 -1
  358. package/lib/commonjs/acmo/modules/dashboard/components/custom_shimmer.js.map +0 -1
  359. package/lib/commonjs/acmo/modules/dashboard/components/offer_card.js.map +0 -1
  360. package/lib/commonjs/acmo/modules/dashboard/components/offer_list_item.js.map +0 -1
  361. package/lib/commonjs/acmo/modules/dashboard/components/premium_empty_widget.js.map +0 -1
  362. package/lib/commonjs/acmo/modules/dashboard/components/premium_header.js.map +0 -1
  363. package/lib/commonjs/acmo/modules/dashboard/components/premium_loading.js.map +0 -1
  364. package/lib/commonjs/acmo/modules/dashboard/repository.js +0 -147
  365. package/lib/commonjs/acmo/modules/dashboard/repository.js.map +0 -1
  366. package/lib/commonjs/acmo/modules/dashboard/top_offers.js.map +0 -1
  367. package/lib/module/acmo/core/helpers/native_methods.js +0 -44
  368. package/lib/module/acmo/core/helpers/native_methods.js.map +0 -1
  369. package/lib/module/acmo/modules/dashboard/components/active_offers_button.js.map +0 -1
  370. package/lib/module/acmo/modules/dashboard/components/custom_card.js.map +0 -1
  371. package/lib/module/acmo/modules/dashboard/components/custom_scroller.js.map +0 -1
  372. package/lib/module/acmo/modules/dashboard/components/custom_shimmer.js.map +0 -1
  373. package/lib/module/acmo/modules/dashboard/components/offer_card.js.map +0 -1
  374. package/lib/module/acmo/modules/dashboard/components/offer_list_item.js.map +0 -1
  375. package/lib/module/acmo/modules/dashboard/components/premium_empty_widget.js.map +0 -1
  376. package/lib/module/acmo/modules/dashboard/components/premium_header.js.map +0 -1
  377. package/lib/module/acmo/modules/dashboard/components/premium_loading.js.map +0 -1
  378. package/lib/module/acmo/modules/dashboard/repository.js +0 -140
  379. package/lib/module/acmo/modules/dashboard/repository.js.map +0 -1
  380. package/lib/module/acmo/modules/dashboard/top_offers.js.map +0 -1
  381. package/lib/typescript/commonjs/src/acmo/core/helpers/native_methods.d.ts +0 -10
  382. package/lib/typescript/commonjs/src/acmo/core/helpers/native_methods.d.ts.map +0 -1
  383. package/lib/typescript/commonjs/src/acmo/modules/dashboard/components/active_offers_button.d.ts.map +0 -1
  384. package/lib/typescript/commonjs/src/acmo/modules/dashboard/components/custom_card.d.ts.map +0 -1
  385. package/lib/typescript/commonjs/src/acmo/modules/dashboard/components/custom_scroller.d.ts.map +0 -1
  386. package/lib/typescript/commonjs/src/acmo/modules/dashboard/components/custom_shimmer.d.ts.map +0 -1
  387. package/lib/typescript/commonjs/src/acmo/modules/dashboard/components/offer_card.d.ts.map +0 -1
  388. package/lib/typescript/commonjs/src/acmo/modules/dashboard/components/offer_list_item.d.ts.map +0 -1
  389. package/lib/typescript/commonjs/src/acmo/modules/dashboard/components/premium_empty_widget.d.ts.map +0 -1
  390. package/lib/typescript/commonjs/src/acmo/modules/dashboard/components/premium_header.d.ts.map +0 -1
  391. package/lib/typescript/commonjs/src/acmo/modules/dashboard/components/premium_loading.d.ts.map +0 -1
  392. package/lib/typescript/commonjs/src/acmo/modules/dashboard/repository.d.ts +0 -3
  393. package/lib/typescript/commonjs/src/acmo/modules/dashboard/repository.d.ts.map +0 -1
  394. package/lib/typescript/commonjs/src/acmo/modules/dashboard/top_offers.d.ts.map +0 -1
  395. package/lib/typescript/module/src/acmo/core/helpers/native_methods.d.ts +0 -10
  396. package/lib/typescript/module/src/acmo/core/helpers/native_methods.d.ts.map +0 -1
  397. package/lib/typescript/module/src/acmo/modules/dashboard/components/active_offers_button.d.ts.map +0 -1
  398. package/lib/typescript/module/src/acmo/modules/dashboard/components/custom_card.d.ts.map +0 -1
  399. package/lib/typescript/module/src/acmo/modules/dashboard/components/custom_scroller.d.ts.map +0 -1
  400. package/lib/typescript/module/src/acmo/modules/dashboard/components/custom_shimmer.d.ts.map +0 -1
  401. package/lib/typescript/module/src/acmo/modules/dashboard/components/offer_card.d.ts.map +0 -1
  402. package/lib/typescript/module/src/acmo/modules/dashboard/components/offer_list_item.d.ts.map +0 -1
  403. package/lib/typescript/module/src/acmo/modules/dashboard/components/premium_empty_widget.d.ts.map +0 -1
  404. package/lib/typescript/module/src/acmo/modules/dashboard/components/premium_header.d.ts.map +0 -1
  405. package/lib/typescript/module/src/acmo/modules/dashboard/components/premium_loading.d.ts.map +0 -1
  406. package/lib/typescript/module/src/acmo/modules/dashboard/repository.d.ts +0 -3
  407. package/lib/typescript/module/src/acmo/modules/dashboard/repository.d.ts.map +0 -1
  408. package/lib/typescript/module/src/acmo/modules/dashboard/top_offers.d.ts.map +0 -1
  409. package/src/acmo/core/helpers/native_methods.ts +0 -59
  410. package/src/acmo/modules/dashboard/repository.ts +0 -170
  411. /package/lib/commonjs/acmo/modules/{dashboard → premium-widgets}/components/active_offers_button.js +0 -0
  412. /package/lib/commonjs/acmo/modules/{dashboard → premium-widgets}/components/custom_shimmer.js +0 -0
  413. /package/lib/commonjs/acmo/modules/{dashboard → premium-widgets}/components/premium_empty_widget.js +0 -0
  414. /package/lib/commonjs/acmo/modules/{dashboard → premium-widgets}/components/premium_header.js +0 -0
  415. /package/lib/module/acmo/modules/{dashboard → premium-widgets}/components/active_offers_button.js +0 -0
  416. /package/lib/module/acmo/modules/{dashboard → premium-widgets}/components/custom_shimmer.js +0 -0
  417. /package/lib/module/acmo/modules/{dashboard → premium-widgets}/components/premium_empty_widget.js +0 -0
  418. /package/lib/module/acmo/modules/{dashboard → premium-widgets}/components/premium_header.js +0 -0
  419. /package/lib/typescript/commonjs/src/acmo/modules/{dashboard → premium-widgets}/components/active_offers_button.d.ts +0 -0
  420. /package/lib/typescript/commonjs/src/acmo/modules/{dashboard → premium-widgets}/components/custom_card.d.ts +0 -0
  421. /package/lib/typescript/commonjs/src/acmo/modules/{dashboard → premium-widgets}/components/custom_shimmer.d.ts +0 -0
  422. /package/lib/typescript/commonjs/src/acmo/modules/{dashboard → premium-widgets}/components/offer_card.d.ts +0 -0
  423. /package/lib/typescript/commonjs/src/acmo/modules/{dashboard → premium-widgets}/components/offer_list_item.d.ts +0 -0
  424. /package/lib/typescript/commonjs/src/acmo/modules/{dashboard → premium-widgets}/components/premium_empty_widget.d.ts +0 -0
  425. /package/lib/typescript/commonjs/src/acmo/modules/{dashboard → premium-widgets}/components/premium_header.d.ts +0 -0
  426. /package/lib/typescript/module/src/acmo/modules/{dashboard → premium-widgets}/components/active_offers_button.d.ts +0 -0
  427. /package/lib/typescript/module/src/acmo/modules/{dashboard → premium-widgets}/components/custom_card.d.ts +0 -0
  428. /package/lib/typescript/module/src/acmo/modules/{dashboard → premium-widgets}/components/custom_shimmer.d.ts +0 -0
  429. /package/lib/typescript/module/src/acmo/modules/{dashboard → premium-widgets}/components/offer_card.d.ts +0 -0
  430. /package/lib/typescript/module/src/acmo/modules/{dashboard → premium-widgets}/components/offer_list_item.d.ts +0 -0
  431. /package/lib/typescript/module/src/acmo/modules/{dashboard → premium-widgets}/components/premium_empty_widget.d.ts +0 -0
  432. /package/lib/typescript/module/src/acmo/modules/{dashboard → premium-widgets}/components/premium_header.d.ts +0 -0
  433. /package/src/acmo/modules/{dashboard → premium-widgets}/components/active_offers_button.tsx +0 -0
  434. /package/src/acmo/modules/{dashboard → premium-widgets}/components/custom_shimmer.tsx +0 -0
  435. /package/src/acmo/modules/{dashboard → premium-widgets}/components/premium_empty_widget.tsx +0 -0
  436. /package/src/acmo/modules/{dashboard → premium-widgets}/components/premium_header.tsx +0 -0
@@ -112,6 +112,6 @@ dependencies {
112
112
  implementation "com.facebook.react:react-native:+"
113
113
  implementation 'com.google.code.gson:gson:+'
114
114
 
115
- implementation 'com.github.tyrads-com:tyrads-sdk-android:100a5c9eb4'
115
+ implementation 'com.github.tyrads-com:tyrads-sdk-android:22b7882c30'
116
116
  }
117
117
 
@@ -1,42 +1,124 @@
1
1
  package com.tyradssdk
2
2
 
3
3
  import android.util.Log
4
+ import android.content.Intent
4
5
  import com.facebook.react.bridge.Promise
5
6
  import com.facebook.react.bridge.ReactApplicationContext
6
7
  import com.facebook.react.bridge.ReactContextBaseJavaModule
7
8
  import com.facebook.react.bridge.ReactMethod
8
9
  import com.facebook.react.modules.core.DeviceEventManagerModule
10
+ import com.facebook.react.bridge.LifecycleEventListener
11
+ import com.facebook.react.bridge.ActivityEventListener
9
12
  import com.facebook.react.bridge.ReadableMap
10
- import com.facebook.react.bridge.ReadableNativeMap
11
13
  import com.facebook.react.bridge.Arguments
12
14
  import kotlinx.coroutines.CoroutineScope
13
15
  import kotlinx.coroutines.Dispatchers
14
16
  import kotlinx.coroutines.Job
15
17
  import kotlinx.coroutines.SupervisorJob
16
- import kotlinx.coroutines.cancel
17
18
  import kotlinx.coroutines.flow.collectLatest
18
19
  import kotlinx.coroutines.launch
19
- import kotlinx.coroutines.withContext
20
20
  import com.google.gson.Gson
21
21
  import com.tyrads.sdk.Tyrads
22
22
  import com.tyrads.sdk.TyradsUserInfo
23
23
  import com.tyrads.sdk.TyradsMediaSourceInfo
24
-
24
+ import com.tyrads.sdk.acmo.modules.push_notifications.FCMNotifications
25
+ import com.tyrads.sdk.acmo.modules.push_notifications.TyradsNotificationListener
26
+ import com.tyrads.sdk.acmo.modules.input_models.TyradsConfig
27
+ import android.app.Dialog
28
+ import android.graphics.Color
29
+ import android.graphics.drawable.ColorDrawable
30
+ import android.view.Window
31
+ import android.view.WindowManager
32
+ import com.facebook.react.ReactRootView
33
+ import com.facebook.react.ReactInstanceManager
34
+ import com.facebook.react.ReactApplication
25
35
 
26
36
  class TyradsSdkModule(reactContext: ReactApplicationContext) :
27
- ReactContextBaseJavaModule(reactContext) {
37
+ ReactContextBaseJavaModule(reactContext), ActivityEventListener, LifecycleEventListener {
38
+
39
+ private var notificationDialog: Dialog? = null
28
40
 
29
41
  private val scope = CoroutineScope(SupervisorJob() + Dispatchers.Default)
30
42
  private val coroutineScope = CoroutineScope(SupervisorJob() + Dispatchers.Main)
31
43
  private var languageJob: Job? = null
44
+ private val gson = Gson()
45
+
46
+ private var cachedEvents = mutableListOf<String>()
47
+ private var isObserving = false
48
+ private var lastHandledIntent: Intent? = null
32
49
 
33
50
  override fun getName(): String {
34
51
  return NAME
35
52
  }
36
53
 
54
+ init {
55
+ reactContext.addActivityEventListener(this)
56
+ reactContext.addLifecycleEventListener(this)
57
+ setupNotificationListener()
58
+ }
59
+
60
+ override fun onHostResume() {
61
+ val intent = currentActivity?.intent
62
+ if (intent != null && intent != lastHandledIntent) {
63
+ FCMNotifications.getInstance().handleNotificationIntent(intent)
64
+ lastHandledIntent = intent
65
+ }
66
+ }
67
+
68
+ override fun onHostPause() {}
69
+ override fun onHostDestroy() {}
70
+
71
+
72
+ override fun onActivityResult(activity: android.app.Activity?, requestCode: Int, resultCode: Int, data: Intent?) {
73
+ // Not needed
74
+ }
75
+
76
+ override fun onNewIntent(intent: Intent?) {
77
+ intent?.let {
78
+ FCMNotifications.getInstance().handleNotificationIntent(it)
79
+ }
80
+ }
81
+
82
+
83
+ private fun setupNotificationListener() {
84
+ FCMNotifications.getInstance().setNotificationListener(object : TyradsNotificationListener {
85
+ override fun onNotificationReceived(data: Map<String, String>) {
86
+ val payload = mapOf(
87
+ "type" to "received",
88
+ "data" to data
89
+ )
90
+ sendEvent("PushNotificationEvent", gson.toJson(payload))
91
+ }
92
+
93
+ override fun onNotificationClicked(data: Map<String, String>) {
94
+ val payload = mapOf(
95
+ "type" to "clicked",
96
+ "data" to data
97
+ )
98
+ sendEvent("PushNotificationEvent", gson.toJson(payload))
99
+ }
100
+
101
+ override fun onNotificationDismissed(data: Map<String, String>) {
102
+ val payload = mapOf(
103
+ "type" to "dismissed",
104
+ "data" to data
105
+ )
106
+ sendEvent("PushNotificationEvent", gson.toJson(payload))
107
+ }
108
+ })
109
+ }
110
+
37
111
  private fun sendEvent(eventName: String, data: String) {
112
+ if (!isObserving) {
113
+ Log.i("TyradsSDK", "JS side not ready. Caching event: $eventName")
114
+ cachedEvents.add(data)
115
+ return
116
+ }
117
+
38
118
  val reactContext = reactApplicationContext
39
- if (reactContext.hasActiveCatalystInstance()) {
119
+ val isActive = reactContext.hasActiveCatalystInstance()
120
+ Log.i("TyradsSDK", "Emitting event to JS: $eventName (Bridge Active: $isActive)")
121
+ if (isActive) {
40
122
  scope.launch {
41
123
  reactContext
42
124
  .getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter::class.java)
@@ -47,6 +129,15 @@ class TyradsSdkModule(reactContext: ReactApplicationContext) :
47
129
 
48
130
  @ReactMethod
49
131
  fun startObserving() {
132
+ isObserving = true
133
+ Log.d("TyradsSdkModule", "startObserving: flushing ${cachedEvents.size} events")
134
+
135
+ val eventsToFlush = ArrayList(cachedEvents)
136
+ cachedEvents.clear()
137
+ eventsToFlush.forEach { data ->
138
+ sendEvent("PushNotificationEvent", data)
139
+ }
140
+
50
141
  if (languageJob?.isActive == true) return
51
142
 
52
143
  languageJob = scope.launch {
@@ -56,17 +147,25 @@ class TyradsSdkModule(reactContext: ReactApplicationContext) :
56
147
  }
57
148
  }
58
149
 
150
+
59
151
  @ReactMethod
60
152
  fun stopObserving() {
153
+ isObserving = false
61
154
  languageJob?.cancel()
62
155
  languageJob = null
63
156
  }
64
157
 
65
158
  @ReactMethod
66
- fun init(apiKey: String, apiSecret: String, encKey: String?, engagementId: String?, promise: Promise) {
159
+ fun init(apiKey: String, apiSecret: String, encKey: String?, engagementId: String?, placementId: String?, config: ReadableMap?, promise: Promise) {
67
160
  Tyrads.getInstance().tyradScope.launch {
68
161
  try {
69
- Tyrads.getInstance().init(reactApplicationContext, apiKey, apiSecret, encKey, engagementId)
162
+ val configData = if (config != null) {
163
+ val jsonString = gson.toJson(config.toHashMap())
164
+ gson.fromJson(jsonString, TyradsConfig::class.java)
165
+ } else {
166
+ TyradsConfig()
167
+ }
168
+ Tyrads.getInstance().init(reactApplicationContext, apiKey, apiSecret, encKey, engagementId, placementId, configData)
70
169
 
71
170
  val lang = Tyrads.getInstance().currentLanguageCode.value
72
171
 
@@ -75,14 +174,13 @@ class TyradsSdkModule(reactContext: ReactApplicationContext) :
75
174
  "languageCode" to lang
76
175
  )
77
176
 
78
- promise.resolve(Gson().toJson(result))
177
+ promise.resolve(gson.toJson(result))
79
178
  } catch (e: Exception) {
80
179
  promise.reject("INIT_ERROR", e.message)
81
180
  }
82
181
  }
83
182
  }
84
183
 
85
-
86
184
  @ReactMethod
87
185
  fun loginUser(userId: String, promise: Promise) {
88
186
  Tyrads.getInstance().tyradScope.launch {
@@ -90,7 +188,7 @@ class TyradsSdkModule(reactContext: ReactApplicationContext) :
90
188
  val apiHeaders = Tyrads.getInstance().loginUser(userId)
91
189
  Log.i("bmd", "apiHeaders: $apiHeaders")
92
190
  if (apiHeaders != null) {
93
- val jsonString = Gson().toJson(apiHeaders)
191
+ val jsonString = gson.toJson(apiHeaders)
94
192
  promise.resolve(jsonString)
95
193
  } else {
96
194
  promise.resolve(null)
@@ -145,23 +243,22 @@ class TyradsSdkModule(reactContext: ReactApplicationContext) :
145
243
  @ReactMethod
146
244
  fun setMediaSourceInfo(mediaSourceInfoMap: ReadableMap) {
147
245
  try {
148
- val jsonString = Gson().toJson(mediaSourceInfoMap.toHashMap())
149
- val mediaSourceInfo = Gson().fromJson(jsonString, TyradsMediaSourceInfo::class.java)
150
- Tyrads.getInstance().setMediaSourceInfo(mediaSourceInfo)
246
+ val jsonString = gson.toJson(mediaSourceInfoMap.toHashMap())
247
+ val mediaSourceInfo = gson.fromJson(jsonString, TyradsMediaSourceInfo::class.java)
151
248
  Log.d(NAME, "Received mediaSourceInfo: $jsonString")
152
249
  Tyrads.getInstance().setMediaSourceInfo(mediaSourceInfo)
153
250
  } catch (e: Exception) {
154
251
  Log.e(NAME, "Error setting MediaSourceInfo", e)
155
252
  }
156
253
  }
254
+
157
255
  @ReactMethod
158
256
  fun setUserInfo(userInfoMap: ReadableMap) {
159
257
  try {
160
- val jsonString = Gson().toJson(userInfoMap.toHashMap())
161
- val userInfo = Gson().fromJson(jsonString, TyradsUserInfo::class.java)
162
- Tyrads.getInstance().setUserInfo(userInfo)
258
+ val jsonString = gson.toJson(userInfoMap.toHashMap())
259
+ val userInfo = gson.fromJson(jsonString, TyradsUserInfo::class.java)
163
260
  Log.d(NAME, "Received userInfo: $jsonString")
164
- Tyrads.getInstance().setUserInfo(userInfo)
261
+ Tyrads.getInstance().setUserInfo(userInfo)
165
262
  } catch (e: Exception) {
166
263
  Log.e(NAME, "Error setting UserInfo", e)
167
264
  }
@@ -191,7 +288,52 @@ class TyradsSdkModule(reactContext: ReactApplicationContext) :
191
288
  }
192
289
  }
193
290
 
291
+ @ReactMethod
292
+ fun showInAppNotification() {
293
+ coroutineScope.launch {
294
+ val activity = currentActivity ?: return@launch
295
+ val dialog = Dialog(activity)
296
+ notificationDialog = dialog
297
+ dialog.requestWindowFeature(Window.FEATURE_NO_TITLE)
298
+ val reactRootView = ReactRootView(activity)
299
+ val reactInstanceManager: ReactInstanceManager? = try {
300
+ (activity.application as? ReactApplication)?.reactNativeHost?.reactInstanceManager
301
+ } catch (e: Exception) {
302
+ null
303
+ }
304
+
305
+ if (reactInstanceManager == null) {
306
+ Log.e("TyradsSdk", "Could not get ReactInstanceManager")
307
+ return@launch
308
+ }
309
+
310
+ reactRootView.startReactApplication(
311
+ reactInstanceManager,
312
+ "TyradsInAppNotification",
313
+ null
314
+ )
315
+ dialog.setContentView(reactRootView)
316
+ dialog.window?.let { window ->
317
+ window.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
318
+ window.setLayout(
319
+ WindowManager.LayoutParams.MATCH_PARENT,
320
+ WindowManager.LayoutParams.MATCH_PARENT
321
+ )
322
+ }
323
+
324
+ dialog.show()
325
+ }
326
+ }
327
+
328
+ @ReactMethod
329
+ fun dismissInAppNotification() {
330
+ coroutineScope.launch {
331
+ notificationDialog?.dismiss()
332
+ notificationDialog = null
333
+ }
334
+ }
335
+
194
336
  companion object {
195
337
  const val NAME = "TyradsSdk"
196
338
  }
197
- }
339
+ }
@@ -9,7 +9,7 @@ import Foundation
9
9
  import UIKit
10
10
 
11
11
  struct AcmoConfig {
12
- static let API_VERSION = "3.0"
12
+ static let API_VERSION = "4.0"
13
13
  static let BUILD_VERSION = "0"
14
14
  static let ACMO_VERSION = "4"
15
15
  static var SDK_VERSION = "3.2.1-\(BUILD_VERSION)"
@@ -8,44 +8,58 @@
8
8
  import Foundation
9
9
 
10
10
  struct AcmoInitModel: Codable {
11
- let data: UserData
11
+ let code: Int
12
+ let message: String
13
+ let timestamp: Int64
14
+ let responseTime: Double
15
+ let data: InitData
12
16
  }
13
17
 
14
- struct UserData: Codable {
18
+ struct InitData: Codable {
15
19
  let newRegisteredUser: Bool
16
- let user: User
17
- let publisherApp: PublisherApp
20
+ let newRegisteredDevice: Bool
21
+ let accountInfo: AccountInfo
22
+ let appInfo: AppInfo
18
23
  let token: String
19
24
 
20
25
  enum CodingKeys: String, CodingKey {
21
- case newRegisteredUser = "newRegisteredUser"
22
- case user
23
- case publisherApp
24
- case token
26
+ case newRegisteredUser
27
+ case newRegisteredDevice
28
+ case accountInfo
29
+ case appInfo
30
+ case token
25
31
  }
26
32
 
27
33
  init(from decoder: Decoder) throws {
28
34
  let container = try decoder.container(keyedBy: CodingKeys.self)
29
35
  newRegisteredUser = try container.decodeIfPresent(Bool.self, forKey: .newRegisteredUser) ?? false
30
- user = try container.decode(User.self, forKey: .user)
31
- publisherApp = try container.decode(PublisherApp.self, forKey: .publisherApp)
32
- token = try container.decode(String.self, forKey: .token)
36
+ newRegisteredDevice = try container.decodeIfPresent(Bool.self, forKey: .newRegisteredDevice) ?? false
37
+ accountInfo = try container.decode(AccountInfo.self, forKey: .accountInfo)
38
+ appInfo = try container.decode(AppInfo.self, forKey: .appInfo)
39
+ token = try container.decodeIfPresent(String.self, forKey: .token) ?? ""
33
40
  }
34
41
  }
35
42
 
36
- struct User: Codable {
43
+ struct AccountInfo: Codable {
44
+ let id: Int
37
45
  let publisherUserId: String
38
46
  }
39
47
 
40
- struct PublisherApp: Codable {
48
+ struct AppInfo: Codable {
41
49
  let headerColor: String
42
50
  let mainColor: String
43
- let premiumColor: String
51
+ let premiumColor: String
52
+
53
+ enum CodingKeys: String, CodingKey {
54
+ case headerColor
55
+ case mainColor
56
+ case premiumColor
57
+ }
44
58
 
45
59
  init(from decoder: Decoder) throws {
46
60
  let container = try decoder.container(keyedBy: CodingKeys.self)
47
61
  headerColor = try container.decodeIfPresent(String.self, forKey: .headerColor) ?? ""
48
62
  mainColor = try container.decodeIfPresent(String.self, forKey: .mainColor) ?? ""
49
- premiumColor = try container.decodeIfPresent(String.self, forKey: .premiumColor) ?? ""
63
+ premiumColor = try container.decodeIfPresent(String.self, forKey: .premiumColor) ?? ""
50
64
  }
51
65
  }