@capillarytech/react-native-hydra-lib 1.7.0-beta.1

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 (446) hide show
  1. package/CHANGELOG.md +252 -0
  2. package/DEPRECATION_POLICY.md +220 -0
  3. package/LICENSE +20 -0
  4. package/MIGRATION.md +361 -0
  5. package/README.md +491 -0
  6. package/RELEASE_NOTES.md +528 -0
  7. package/android/build.gradle +565 -0
  8. package/android/generated/java/com/hydralib/NativeHydraLibSpec.java +185 -0
  9. package/android/generated/jni/CMakeLists.txt +36 -0
  10. package/android/generated/jni/RNHydraLibSpec-generated.cpp +248 -0
  11. package/android/generated/jni/RNHydraLibSpec.h +31 -0
  12. package/android/generated/jni/react/renderer/components/RNHydraLibSpec/ComponentDescriptors.cpp +24 -0
  13. package/android/generated/jni/react/renderer/components/RNHydraLibSpec/ComponentDescriptors.h +26 -0
  14. package/android/generated/jni/react/renderer/components/RNHydraLibSpec/EventEmitters.cpp +18 -0
  15. package/android/generated/jni/react/renderer/components/RNHydraLibSpec/EventEmitters.h +37 -0
  16. package/android/generated/jni/react/renderer/components/RNHydraLibSpec/Props.cpp +39 -0
  17. package/android/generated/jni/react/renderer/components/RNHydraLibSpec/Props.h +47 -0
  18. package/android/generated/jni/react/renderer/components/RNHydraLibSpec/RNHydraLibSpecJSI-generated.cpp +283 -0
  19. package/android/generated/jni/react/renderer/components/RNHydraLibSpec/RNHydraLibSpecJSI.h +395 -0
  20. package/android/generated/jni/react/renderer/components/RNHydraLibSpec/ShadowNodes.cpp +19 -0
  21. package/android/generated/jni/react/renderer/components/RNHydraLibSpec/ShadowNodes.h +54 -0
  22. package/android/generated/jni/react/renderer/components/RNHydraLibSpec/States.cpp +16 -0
  23. package/android/generated/jni/react/renderer/components/RNHydraLibSpec/States.h +53 -0
  24. package/android/gradle.properties +5 -0
  25. package/android/src/main/AndroidManifest.xml +11 -0
  26. package/android/src/main/AndroidManifestNew.xml +16 -0
  27. package/android/src/main/AndroidManifestNoFirebaseIcon.xml +5 -0
  28. package/android/src/main/java/com/hydralib/delegates/HydraActivityCallbacks.kt +90 -0
  29. package/android/src/main/java/com/hydralib/delegates/NonHydraNotificationActivity.kt +43 -0
  30. package/android/src/main/java/com/hydralib/eventemitter/HydraEventEmitter.kt +150 -0
  31. package/android/src/main/java/com/hydralib/eventemitter/HydraEventType.kt +44 -0
  32. package/android/src/main/java/com/hydralib/gamification/GamificationBannerViewManager.kt +121 -0
  33. package/android/src/main/java/com/hydralib/gamification/GamificationEmbedViewManager.kt +153 -0
  34. package/android/src/main/java/com/hydralib/gamification/GamificationLoyaltyViewManager.kt +95 -0
  35. package/android/src/main/java/com/hydralib/hydrasdk/HydraCore.kt +860 -0
  36. package/android/src/main/java/com/hydralib/hydrasdk/HydraExtenstions.kt +331 -0
  37. package/android/src/main/java/com/hydralib/hydrasdk/HydraInAppMessages.kt +136 -0
  38. package/android/src/main/java/com/hydralib/hydrasdk/HydraInbox.kt +70 -0
  39. package/android/src/main/java/com/hydralib/hydrasdk/HydraInboxUI.kt +54 -0
  40. package/android/src/main/java/com/hydralib/hydrasdk/HydraPushNotification.kt +299 -0
  41. package/android/src/main/java/com/hydralib/nativeapis/Hydra.kt +28 -0
  42. package/android/src/main/java/com/hydralib/nativeapis/HydraFirebaseRemoteConfigKeys.kt +76 -0
  43. package/android/src/main/java/com/hydralib/nativeapis/HydraInitializer.kt +130 -0
  44. package/android/src/main/java/com/hydralib/nativeapis/HydraNativeMessaging.kt +18 -0
  45. package/android/src/main/java/com/hydralib/nativeapis/HydraRemoteConfig.kt +59 -0
  46. package/android/src/main/java/com/hydralib/utils/RNHydraPreferencesManager.kt +154 -0
  47. package/android/src/main/java/com/hydralib/utils/ResourceUtil.kt +10 -0
  48. package/android/src/newarch/HydraLibModule.kt +218 -0
  49. package/android/src/oldarch/HydraLibModule.kt +258 -0
  50. package/android/src/rn72OrLess/HydraLibPackage.kt +43 -0
  51. package/android/src/rn73OrMore/HydraLibPackage.kt +53 -0
  52. package/ios/Delegates/HydraApplicationDelegate.swift +196 -0
  53. package/ios/Delegates/HydraFirebaseMessagingDelegate.swift +20 -0
  54. package/ios/Delegates/HydraUNUserNotificationCenterDelegate.swift +26 -0
  55. package/ios/EventEmitter/HydraEventEmitter.swift +98 -0
  56. package/ios/EventEmitter/HydraEventType.swift +28 -0
  57. package/ios/EventEmitter/HydraNativeEmitterBrigde.h +15 -0
  58. package/ios/EventEmitter/HydraNativeEmitterBrigde.mm +48 -0
  59. package/ios/GamificationViews/GamificationBannerViewComponentView.h +14 -0
  60. package/ios/GamificationViews/GamificationBannerViewComponentView.mm +125 -0
  61. package/ios/GamificationViews/GamificationEmbedViewComponentView.h +14 -0
  62. package/ios/GamificationViews/GamificationEmbedViewComponentView.mm +131 -0
  63. package/ios/GamificationViews/GamificationLoyaltyViewComponentView.h +14 -0
  64. package/ios/GamificationViews/GamificationLoyaltyViewComponentView.mm +120 -0
  65. package/ios/HydraLib.h +16 -0
  66. package/ios/HydraLib.mm +207 -0
  67. package/ios/HydraSDK/HydraInAppMessages.swift +93 -0
  68. package/ios/HydraSDK/HydraInbox.swift +97 -0
  69. package/ios/HydraSDK/HydraInboxUI.swift +105 -0
  70. package/ios/HydraSDK/HydraPushNotification.swift +476 -0
  71. package/ios/HydraSDK/HydraSDKCore.swift +707 -0
  72. package/ios/NativeAPIs/Hydra.h +34 -0
  73. package/ios/NativeAPIs/Hydra.mm +47 -0
  74. package/ios/NativeAPIs/HydraNativeFirebaseRemoteConfigKeys.h +23 -0
  75. package/ios/NativeAPIs/HydraNativeFirebaseRemoteConfigKeys.mm +80 -0
  76. package/ios/NativeAPIs/HydraNativeInitializer.h +16 -0
  77. package/ios/NativeAPIs/HydraNativeInitializer.mm +39 -0
  78. package/ios/NativeAPIs/HydraNativeMessaging.h +24 -0
  79. package/ios/NativeAPIs/HydraNativeMessaging.mm +53 -0
  80. package/ios/NativeAPIs/HydraNativeRemoteConfig.h +27 -0
  81. package/ios/NativeAPIs/HydraNativeRemoteConfig.mm +89 -0
  82. package/ios/Utils/HydraExtensions.swift +322 -0
  83. package/ios/Utils/HydraRNConstants.swift +13 -0
  84. package/ios/Utils/RNHydraLogger.swift +31 -0
  85. package/ios/generated/RNHydraLibSpec/ComponentDescriptors.cpp +24 -0
  86. package/ios/generated/RNHydraLibSpec/ComponentDescriptors.h +26 -0
  87. package/ios/generated/RNHydraLibSpec/EventEmitters.cpp +18 -0
  88. package/ios/generated/RNHydraLibSpec/EventEmitters.h +37 -0
  89. package/ios/generated/RNHydraLibSpec/Props.cpp +39 -0
  90. package/ios/generated/RNHydraLibSpec/Props.h +47 -0
  91. package/ios/generated/RNHydraLibSpec/RCTComponentViewHelpers.h +28 -0
  92. package/ios/generated/RNHydraLibSpec/RNHydraLibSpec-generated.mm +291 -0
  93. package/ios/generated/RNHydraLibSpec/RNHydraLibSpec.h +167 -0
  94. package/ios/generated/RNHydraLibSpec/ShadowNodes.cpp +19 -0
  95. package/ios/generated/RNHydraLibSpec/ShadowNodes.h +54 -0
  96. package/ios/generated/RNHydraLibSpec/States.cpp +16 -0
  97. package/ios/generated/RNHydraLibSpec/States.h +53 -0
  98. package/ios/generated/RNHydraLibSpecJSI-generated.cpp +283 -0
  99. package/ios/generated/RNHydraLibSpecJSI.h +395 -0
  100. package/lib/commonjs/GamificationBannerViewNativeComponent.js +10 -0
  101. package/lib/commonjs/GamificationBannerViewNativeComponent.js.map +1 -0
  102. package/lib/commonjs/GamificationEmbedViewNativeComponent.js +10 -0
  103. package/lib/commonjs/GamificationEmbedViewNativeComponent.js.map +1 -0
  104. package/lib/commonjs/GamificationLoyaltyViewNativeComponent.js +10 -0
  105. package/lib/commonjs/GamificationLoyaltyViewNativeComponent.js.map +1 -0
  106. package/lib/commonjs/NativeHydraLib.js +11 -0
  107. package/lib/commonjs/NativeHydraLib.js.map +1 -0
  108. package/lib/commonjs/components/GamificationBannerView.js +15 -0
  109. package/lib/commonjs/components/GamificationBannerView.js.map +1 -0
  110. package/lib/commonjs/components/GamificationEmbedView.js +15 -0
  111. package/lib/commonjs/components/GamificationEmbedView.js.map +1 -0
  112. package/lib/commonjs/components/GamificationLoyaltyView.js +15 -0
  113. package/lib/commonjs/components/GamificationLoyaltyView.js.map +1 -0
  114. package/lib/commonjs/hydra-apis/Hydra.js +43 -0
  115. package/lib/commonjs/hydra-apis/Hydra.js.map +1 -0
  116. package/lib/commonjs/hydra-apis/HydraCore.js +42 -0
  117. package/lib/commonjs/hydra-apis/HydraCore.js.map +1 -0
  118. package/lib/commonjs/hydra-apis/HydraInAppMessaging.js +24 -0
  119. package/lib/commonjs/hydra-apis/HydraInAppMessaging.js.map +1 -0
  120. package/lib/commonjs/hydra-apis/HydraInbox.js +29 -0
  121. package/lib/commonjs/hydra-apis/HydraInbox.js.map +1 -0
  122. package/lib/commonjs/hydra-apis/HydraInboxUI.js +18 -0
  123. package/lib/commonjs/hydra-apis/HydraInboxUI.js.map +1 -0
  124. package/lib/commonjs/hydra-apis/HydraNativeEventEmitter.js +133 -0
  125. package/lib/commonjs/hydra-apis/HydraNativeEventEmitter.js.map +1 -0
  126. package/lib/commonjs/hydra-apis/HydraPushNotification.js +21 -0
  127. package/lib/commonjs/hydra-apis/HydraPushNotification.js.map +1 -0
  128. package/lib/commonjs/index.js +230 -0
  129. package/lib/commonjs/index.js.map +1 -0
  130. package/lib/commonjs/models/HydraAccountConfig.js +41 -0
  131. package/lib/commonjs/models/HydraAccountConfig.js.map +1 -0
  132. package/lib/commonjs/models/HydraFirebaseRemoteConfigKeys.js +40 -0
  133. package/lib/commonjs/models/HydraFirebaseRemoteConfigKeys.js.map +1 -0
  134. package/lib/commonjs/models/HydraGeoConfig.js +24 -0
  135. package/lib/commonjs/models/HydraGeoConfig.js.map +1 -0
  136. package/lib/commonjs/models/HydraInAppMessage/HydraInAppButtonComponent.js +26 -0
  137. package/lib/commonjs/models/HydraInAppMessage/HydraInAppButtonComponent.js.map +1 -0
  138. package/lib/commonjs/models/HydraInAppMessage/HydraInAppComponentStyle.js +26 -0
  139. package/lib/commonjs/models/HydraInAppMessage/HydraInAppComponentStyle.js.map +1 -0
  140. package/lib/commonjs/models/HydraInAppMessage/HydraInAppFeedbackSelectionType.js +39 -0
  141. package/lib/commonjs/models/HydraInAppMessage/HydraInAppFeedbackSelectionType.js.map +1 -0
  142. package/lib/commonjs/models/HydraInAppMessage/HydraInAppMessage.js +60 -0
  143. package/lib/commonjs/models/HydraInAppMessage/HydraInAppMessage.js.map +1 -0
  144. package/lib/commonjs/models/HydraInAppMessage/HydraInAppTemplateType.js +66 -0
  145. package/lib/commonjs/models/HydraInAppMessage/HydraInAppTemplateType.js.map +1 -0
  146. package/lib/commonjs/models/HydraInAppMessage/HydraInAppTextComponent.js +21 -0
  147. package/lib/commonjs/models/HydraInAppMessage/HydraInAppTextComponent.js.map +1 -0
  148. package/lib/commonjs/models/HydraLogLevel.js +16 -0
  149. package/lib/commonjs/models/HydraLogLevel.js.map +1 -0
  150. package/lib/commonjs/models/HydraNativeEvent.js +27 -0
  151. package/lib/commonjs/models/HydraNativeEvent.js.map +1 -0
  152. package/lib/commonjs/models/HydraNotification/HydraNotification.js +70 -0
  153. package/lib/commonjs/models/HydraNotification/HydraNotification.js.map +1 -0
  154. package/lib/commonjs/models/HydraNotification/HydraNotificationBody.js +25 -0
  155. package/lib/commonjs/models/HydraNotification/HydraNotificationBody.js.map +1 -0
  156. package/lib/commonjs/models/HydraNotification/HydraNotificationCta.js +23 -0
  157. package/lib/commonjs/models/HydraNotification/HydraNotificationCta.js.map +1 -0
  158. package/lib/commonjs/models/HydraNotification/HydraNotificationCtaType.js +62 -0
  159. package/lib/commonjs/models/HydraNotification/HydraNotificationCtaType.js.map +1 -0
  160. package/lib/commonjs/models/HydraNotification/HydraNotificationExpandedDetails.js +25 -0
  161. package/lib/commonjs/models/HydraNotification/HydraNotificationExpandedDetails.js.map +1 -0
  162. package/lib/commonjs/models/HydraNotification/HydraNotificationGateway.js +13 -0
  163. package/lib/commonjs/models/HydraNotification/HydraNotificationGateway.js.map +1 -0
  164. package/lib/commonjs/models/HydraPushPreferences.js +20 -0
  165. package/lib/commonjs/models/HydraPushPreferences.js.map +1 -0
  166. package/lib/commonjs/models/HydraUserDetails.js +26 -0
  167. package/lib/commonjs/models/HydraUserDetails.js.map +1 -0
  168. package/lib/commonjs/models/HydraVisitorInfo.js +19 -0
  169. package/lib/commonjs/models/HydraVisitorInfo.js.map +1 -0
  170. package/lib/commonjs/models/NonHydraNotification.js +18 -0
  171. package/lib/commonjs/models/NonHydraNotification.js.map +1 -0
  172. package/lib/commonjs/models/UserState.js +41 -0
  173. package/lib/commonjs/models/UserState.js.map +1 -0
  174. package/lib/module/GamificationBannerViewNativeComponent.js +5 -0
  175. package/lib/module/GamificationBannerViewNativeComponent.js.map +1 -0
  176. package/lib/module/GamificationEmbedViewNativeComponent.js +5 -0
  177. package/lib/module/GamificationEmbedViewNativeComponent.js.map +1 -0
  178. package/lib/module/GamificationLoyaltyViewNativeComponent.js +5 -0
  179. package/lib/module/GamificationLoyaltyViewNativeComponent.js.map +1 -0
  180. package/lib/module/NativeHydraLib.js +7 -0
  181. package/lib/module/NativeHydraLib.js.map +1 -0
  182. package/lib/module/components/GamificationBannerView.js +10 -0
  183. package/lib/module/components/GamificationBannerView.js.map +1 -0
  184. package/lib/module/components/GamificationEmbedView.js +10 -0
  185. package/lib/module/components/GamificationEmbedView.js.map +1 -0
  186. package/lib/module/components/GamificationLoyaltyView.js +10 -0
  187. package/lib/module/components/GamificationLoyaltyView.js.map +1 -0
  188. package/lib/module/hydra-apis/Hydra.js +37 -0
  189. package/lib/module/hydra-apis/Hydra.js.map +1 -0
  190. package/lib/module/hydra-apis/HydraCore.js +36 -0
  191. package/lib/module/hydra-apis/HydraCore.js.map +1 -0
  192. package/lib/module/hydra-apis/HydraInAppMessaging.js +18 -0
  193. package/lib/module/hydra-apis/HydraInAppMessaging.js.map +1 -0
  194. package/lib/module/hydra-apis/HydraInbox.js +23 -0
  195. package/lib/module/hydra-apis/HydraInbox.js.map +1 -0
  196. package/lib/module/hydra-apis/HydraInboxUI.js +12 -0
  197. package/lib/module/hydra-apis/HydraInboxUI.js.map +1 -0
  198. package/lib/module/hydra-apis/HydraNativeEventEmitter.js +127 -0
  199. package/lib/module/hydra-apis/HydraNativeEventEmitter.js.map +1 -0
  200. package/lib/module/hydra-apis/HydraPushNotification.js +15 -0
  201. package/lib/module/hydra-apis/HydraPushNotification.js.map +1 -0
  202. package/lib/module/index.js +36 -0
  203. package/lib/module/index.js.map +1 -0
  204. package/lib/module/models/HydraAccountConfig.js +36 -0
  205. package/lib/module/models/HydraAccountConfig.js.map +1 -0
  206. package/lib/module/models/HydraFirebaseRemoteConfigKeys.js +35 -0
  207. package/lib/module/models/HydraFirebaseRemoteConfigKeys.js.map +1 -0
  208. package/lib/module/models/HydraGeoConfig.js +19 -0
  209. package/lib/module/models/HydraGeoConfig.js.map +1 -0
  210. package/lib/module/models/HydraInAppMessage/HydraInAppButtonComponent.js +21 -0
  211. package/lib/module/models/HydraInAppMessage/HydraInAppButtonComponent.js.map +1 -0
  212. package/lib/module/models/HydraInAppMessage/HydraInAppComponentStyle.js +21 -0
  213. package/lib/module/models/HydraInAppMessage/HydraInAppComponentStyle.js.map +1 -0
  214. package/lib/module/models/HydraInAppMessage/HydraInAppFeedbackSelectionType.js +35 -0
  215. package/lib/module/models/HydraInAppMessage/HydraInAppFeedbackSelectionType.js.map +1 -0
  216. package/lib/module/models/HydraInAppMessage/HydraInAppMessage.js +55 -0
  217. package/lib/module/models/HydraInAppMessage/HydraInAppMessage.js.map +1 -0
  218. package/lib/module/models/HydraInAppMessage/HydraInAppTemplateType.js +62 -0
  219. package/lib/module/models/HydraInAppMessage/HydraInAppTemplateType.js.map +1 -0
  220. package/lib/module/models/HydraInAppMessage/HydraInAppTextComponent.js +16 -0
  221. package/lib/module/models/HydraInAppMessage/HydraInAppTextComponent.js.map +1 -0
  222. package/lib/module/models/HydraLogLevel.js +12 -0
  223. package/lib/module/models/HydraLogLevel.js.map +1 -0
  224. package/lib/module/models/HydraNativeEvent.js +23 -0
  225. package/lib/module/models/HydraNativeEvent.js.map +1 -0
  226. package/lib/module/models/HydraNotification/HydraNotification.js +65 -0
  227. package/lib/module/models/HydraNotification/HydraNotification.js.map +1 -0
  228. package/lib/module/models/HydraNotification/HydraNotificationBody.js +20 -0
  229. package/lib/module/models/HydraNotification/HydraNotificationBody.js.map +1 -0
  230. package/lib/module/models/HydraNotification/HydraNotificationCta.js +18 -0
  231. package/lib/module/models/HydraNotification/HydraNotificationCta.js.map +1 -0
  232. package/lib/module/models/HydraNotification/HydraNotificationCtaType.js +58 -0
  233. package/lib/module/models/HydraNotification/HydraNotificationCtaType.js.map +1 -0
  234. package/lib/module/models/HydraNotification/HydraNotificationExpandedDetails.js +20 -0
  235. package/lib/module/models/HydraNotification/HydraNotificationExpandedDetails.js.map +1 -0
  236. package/lib/module/models/HydraNotification/HydraNotificationGateway.js +9 -0
  237. package/lib/module/models/HydraNotification/HydraNotificationGateway.js.map +1 -0
  238. package/lib/module/models/HydraPushPreferences.js +15 -0
  239. package/lib/module/models/HydraPushPreferences.js.map +1 -0
  240. package/lib/module/models/HydraUserDetails.js +21 -0
  241. package/lib/module/models/HydraUserDetails.js.map +1 -0
  242. package/lib/module/models/HydraVisitorInfo.js +14 -0
  243. package/lib/module/models/HydraVisitorInfo.js.map +1 -0
  244. package/lib/module/models/NonHydraNotification.js +13 -0
  245. package/lib/module/models/NonHydraNotification.js.map +1 -0
  246. package/lib/module/models/UserState.js +37 -0
  247. package/lib/module/models/UserState.js.map +1 -0
  248. package/lib/typescript/commonjs/package.json +1 -0
  249. package/lib/typescript/commonjs/src/GamificationBannerViewNativeComponent.d.ts +7 -0
  250. package/lib/typescript/commonjs/src/GamificationBannerViewNativeComponent.d.ts.map +1 -0
  251. package/lib/typescript/commonjs/src/GamificationEmbedViewNativeComponent.d.ts +7 -0
  252. package/lib/typescript/commonjs/src/GamificationEmbedViewNativeComponent.d.ts.map +1 -0
  253. package/lib/typescript/commonjs/src/GamificationLoyaltyViewNativeComponent.d.ts +7 -0
  254. package/lib/typescript/commonjs/src/GamificationLoyaltyViewNativeComponent.d.ts.map +1 -0
  255. package/lib/typescript/commonjs/src/NativeHydraLib.d.ts +46 -0
  256. package/lib/typescript/commonjs/src/NativeHydraLib.d.ts.map +1 -0
  257. package/lib/typescript/commonjs/src/components/GamificationBannerView.d.ts +6 -0
  258. package/lib/typescript/commonjs/src/components/GamificationBannerView.d.ts.map +1 -0
  259. package/lib/typescript/commonjs/src/components/GamificationEmbedView.d.ts +6 -0
  260. package/lib/typescript/commonjs/src/components/GamificationEmbedView.d.ts.map +1 -0
  261. package/lib/typescript/commonjs/src/components/GamificationLoyaltyView.d.ts +6 -0
  262. package/lib/typescript/commonjs/src/components/GamificationLoyaltyView.d.ts.map +1 -0
  263. package/lib/typescript/commonjs/src/hydra-apis/Hydra.d.ts +15 -0
  264. package/lib/typescript/commonjs/src/hydra-apis/Hydra.d.ts.map +1 -0
  265. package/lib/typescript/commonjs/src/hydra-apis/HydraCore.d.ts +18 -0
  266. package/lib/typescript/commonjs/src/hydra-apis/HydraCore.d.ts.map +1 -0
  267. package/lib/typescript/commonjs/src/hydra-apis/HydraInAppMessaging.d.ts +8 -0
  268. package/lib/typescript/commonjs/src/hydra-apis/HydraInAppMessaging.d.ts.map +1 -0
  269. package/lib/typescript/commonjs/src/hydra-apis/HydraInbox.d.ts +9 -0
  270. package/lib/typescript/commonjs/src/hydra-apis/HydraInbox.d.ts.map +1 -0
  271. package/lib/typescript/commonjs/src/hydra-apis/HydraInboxUI.d.ts +5 -0
  272. package/lib/typescript/commonjs/src/hydra-apis/HydraInboxUI.d.ts.map +1 -0
  273. package/lib/typescript/commonjs/src/hydra-apis/HydraNativeEventEmitter.d.ts +35 -0
  274. package/lib/typescript/commonjs/src/hydra-apis/HydraNativeEventEmitter.d.ts.map +1 -0
  275. package/lib/typescript/commonjs/src/hydra-apis/HydraPushNotification.d.ts +6 -0
  276. package/lib/typescript/commonjs/src/hydra-apis/HydraPushNotification.d.ts.map +1 -0
  277. package/lib/typescript/commonjs/src/index.d.ts +37 -0
  278. package/lib/typescript/commonjs/src/index.d.ts.map +1 -0
  279. package/lib/typescript/commonjs/src/models/HydraAccountConfig.d.ts +14 -0
  280. package/lib/typescript/commonjs/src/models/HydraAccountConfig.d.ts.map +1 -0
  281. package/lib/typescript/commonjs/src/models/HydraFirebaseRemoteConfigKeys.d.ts +13 -0
  282. package/lib/typescript/commonjs/src/models/HydraFirebaseRemoteConfigKeys.d.ts.map +1 -0
  283. package/lib/typescript/commonjs/src/models/HydraGeoConfig.d.ts +14 -0
  284. package/lib/typescript/commonjs/src/models/HydraGeoConfig.d.ts.map +1 -0
  285. package/lib/typescript/commonjs/src/models/HydraInAppMessage/HydraInAppButtonComponent.d.ts +16 -0
  286. package/lib/typescript/commonjs/src/models/HydraInAppMessage/HydraInAppButtonComponent.d.ts.map +1 -0
  287. package/lib/typescript/commonjs/src/models/HydraInAppMessage/HydraInAppComponentStyle.d.ts +10 -0
  288. package/lib/typescript/commonjs/src/models/HydraInAppMessage/HydraInAppComponentStyle.d.ts.map +1 -0
  289. package/lib/typescript/commonjs/src/models/HydraInAppMessage/HydraInAppFeedbackSelectionType.d.ts +9 -0
  290. package/lib/typescript/commonjs/src/models/HydraInAppMessage/HydraInAppFeedbackSelectionType.d.ts.map +1 -0
  291. package/lib/typescript/commonjs/src/models/HydraInAppMessage/HydraInAppMessage.d.ts +29 -0
  292. package/lib/typescript/commonjs/src/models/HydraInAppMessage/HydraInAppMessage.d.ts.map +1 -0
  293. package/lib/typescript/commonjs/src/models/HydraInAppMessage/HydraInAppTemplateType.d.ts +15 -0
  294. package/lib/typescript/commonjs/src/models/HydraInAppMessage/HydraInAppTemplateType.d.ts.map +1 -0
  295. package/lib/typescript/commonjs/src/models/HydraInAppMessage/HydraInAppTextComponent.d.ts +11 -0
  296. package/lib/typescript/commonjs/src/models/HydraInAppMessage/HydraInAppTextComponent.d.ts.map +1 -0
  297. package/lib/typescript/commonjs/src/models/HydraLogLevel.d.ts +9 -0
  298. package/lib/typescript/commonjs/src/models/HydraLogLevel.d.ts.map +1 -0
  299. package/lib/typescript/commonjs/src/models/HydraNativeEvent.d.ts +20 -0
  300. package/lib/typescript/commonjs/src/models/HydraNativeEvent.d.ts.map +1 -0
  301. package/lib/typescript/commonjs/src/models/HydraNotification/HydraNotification.d.ts +32 -0
  302. package/lib/typescript/commonjs/src/models/HydraNotification/HydraNotification.d.ts.map +1 -0
  303. package/lib/typescript/commonjs/src/models/HydraNotification/HydraNotificationBody.d.ts +19 -0
  304. package/lib/typescript/commonjs/src/models/HydraNotification/HydraNotificationBody.d.ts.map +1 -0
  305. package/lib/typescript/commonjs/src/models/HydraNotification/HydraNotificationCta.d.ts +13 -0
  306. package/lib/typescript/commonjs/src/models/HydraNotification/HydraNotificationCta.d.ts.map +1 -0
  307. package/lib/typescript/commonjs/src/models/HydraNotification/HydraNotificationCtaType.d.ts +13 -0
  308. package/lib/typescript/commonjs/src/models/HydraNotification/HydraNotificationCtaType.d.ts.map +1 -0
  309. package/lib/typescript/commonjs/src/models/HydraNotification/HydraNotificationExpandedDetails.d.ts +19 -0
  310. package/lib/typescript/commonjs/src/models/HydraNotification/HydraNotificationExpandedDetails.d.ts.map +1 -0
  311. package/lib/typescript/commonjs/src/models/HydraNotification/HydraNotificationGateway.d.ts +6 -0
  312. package/lib/typescript/commonjs/src/models/HydraNotification/HydraNotificationGateway.d.ts.map +1 -0
  313. package/lib/typescript/commonjs/src/models/HydraPushPreferences.d.ts +10 -0
  314. package/lib/typescript/commonjs/src/models/HydraPushPreferences.d.ts.map +1 -0
  315. package/lib/typescript/commonjs/src/models/HydraUserDetails.d.ts +16 -0
  316. package/lib/typescript/commonjs/src/models/HydraUserDetails.d.ts.map +1 -0
  317. package/lib/typescript/commonjs/src/models/HydraVisitorInfo.d.ts +6 -0
  318. package/lib/typescript/commonjs/src/models/HydraVisitorInfo.d.ts.map +1 -0
  319. package/lib/typescript/commonjs/src/models/NonHydraNotification.d.ts +9 -0
  320. package/lib/typescript/commonjs/src/models/NonHydraNotification.d.ts.map +1 -0
  321. package/lib/typescript/commonjs/src/models/UserState.d.ts +11 -0
  322. package/lib/typescript/commonjs/src/models/UserState.d.ts.map +1 -0
  323. package/lib/typescript/module/package.json +1 -0
  324. package/lib/typescript/module/src/GamificationBannerViewNativeComponent.d.ts +7 -0
  325. package/lib/typescript/module/src/GamificationBannerViewNativeComponent.d.ts.map +1 -0
  326. package/lib/typescript/module/src/GamificationEmbedViewNativeComponent.d.ts +7 -0
  327. package/lib/typescript/module/src/GamificationEmbedViewNativeComponent.d.ts.map +1 -0
  328. package/lib/typescript/module/src/GamificationLoyaltyViewNativeComponent.d.ts +7 -0
  329. package/lib/typescript/module/src/GamificationLoyaltyViewNativeComponent.d.ts.map +1 -0
  330. package/lib/typescript/module/src/NativeHydraLib.d.ts +46 -0
  331. package/lib/typescript/module/src/NativeHydraLib.d.ts.map +1 -0
  332. package/lib/typescript/module/src/components/GamificationBannerView.d.ts +6 -0
  333. package/lib/typescript/module/src/components/GamificationBannerView.d.ts.map +1 -0
  334. package/lib/typescript/module/src/components/GamificationEmbedView.d.ts +6 -0
  335. package/lib/typescript/module/src/components/GamificationEmbedView.d.ts.map +1 -0
  336. package/lib/typescript/module/src/components/GamificationLoyaltyView.d.ts +6 -0
  337. package/lib/typescript/module/src/components/GamificationLoyaltyView.d.ts.map +1 -0
  338. package/lib/typescript/module/src/hydra-apis/Hydra.d.ts +15 -0
  339. package/lib/typescript/module/src/hydra-apis/Hydra.d.ts.map +1 -0
  340. package/lib/typescript/module/src/hydra-apis/HydraCore.d.ts +18 -0
  341. package/lib/typescript/module/src/hydra-apis/HydraCore.d.ts.map +1 -0
  342. package/lib/typescript/module/src/hydra-apis/HydraInAppMessaging.d.ts +8 -0
  343. package/lib/typescript/module/src/hydra-apis/HydraInAppMessaging.d.ts.map +1 -0
  344. package/lib/typescript/module/src/hydra-apis/HydraInbox.d.ts +9 -0
  345. package/lib/typescript/module/src/hydra-apis/HydraInbox.d.ts.map +1 -0
  346. package/lib/typescript/module/src/hydra-apis/HydraInboxUI.d.ts +5 -0
  347. package/lib/typescript/module/src/hydra-apis/HydraInboxUI.d.ts.map +1 -0
  348. package/lib/typescript/module/src/hydra-apis/HydraNativeEventEmitter.d.ts +35 -0
  349. package/lib/typescript/module/src/hydra-apis/HydraNativeEventEmitter.d.ts.map +1 -0
  350. package/lib/typescript/module/src/hydra-apis/HydraPushNotification.d.ts +6 -0
  351. package/lib/typescript/module/src/hydra-apis/HydraPushNotification.d.ts.map +1 -0
  352. package/lib/typescript/module/src/index.d.ts +37 -0
  353. package/lib/typescript/module/src/index.d.ts.map +1 -0
  354. package/lib/typescript/module/src/models/HydraAccountConfig.d.ts +14 -0
  355. package/lib/typescript/module/src/models/HydraAccountConfig.d.ts.map +1 -0
  356. package/lib/typescript/module/src/models/HydraFirebaseRemoteConfigKeys.d.ts +13 -0
  357. package/lib/typescript/module/src/models/HydraFirebaseRemoteConfigKeys.d.ts.map +1 -0
  358. package/lib/typescript/module/src/models/HydraGeoConfig.d.ts +14 -0
  359. package/lib/typescript/module/src/models/HydraGeoConfig.d.ts.map +1 -0
  360. package/lib/typescript/module/src/models/HydraInAppMessage/HydraInAppButtonComponent.d.ts +16 -0
  361. package/lib/typescript/module/src/models/HydraInAppMessage/HydraInAppButtonComponent.d.ts.map +1 -0
  362. package/lib/typescript/module/src/models/HydraInAppMessage/HydraInAppComponentStyle.d.ts +10 -0
  363. package/lib/typescript/module/src/models/HydraInAppMessage/HydraInAppComponentStyle.d.ts.map +1 -0
  364. package/lib/typescript/module/src/models/HydraInAppMessage/HydraInAppFeedbackSelectionType.d.ts +9 -0
  365. package/lib/typescript/module/src/models/HydraInAppMessage/HydraInAppFeedbackSelectionType.d.ts.map +1 -0
  366. package/lib/typescript/module/src/models/HydraInAppMessage/HydraInAppMessage.d.ts +29 -0
  367. package/lib/typescript/module/src/models/HydraInAppMessage/HydraInAppMessage.d.ts.map +1 -0
  368. package/lib/typescript/module/src/models/HydraInAppMessage/HydraInAppTemplateType.d.ts +15 -0
  369. package/lib/typescript/module/src/models/HydraInAppMessage/HydraInAppTemplateType.d.ts.map +1 -0
  370. package/lib/typescript/module/src/models/HydraInAppMessage/HydraInAppTextComponent.d.ts +11 -0
  371. package/lib/typescript/module/src/models/HydraInAppMessage/HydraInAppTextComponent.d.ts.map +1 -0
  372. package/lib/typescript/module/src/models/HydraLogLevel.d.ts +9 -0
  373. package/lib/typescript/module/src/models/HydraLogLevel.d.ts.map +1 -0
  374. package/lib/typescript/module/src/models/HydraNativeEvent.d.ts +20 -0
  375. package/lib/typescript/module/src/models/HydraNativeEvent.d.ts.map +1 -0
  376. package/lib/typescript/module/src/models/HydraNotification/HydraNotification.d.ts +32 -0
  377. package/lib/typescript/module/src/models/HydraNotification/HydraNotification.d.ts.map +1 -0
  378. package/lib/typescript/module/src/models/HydraNotification/HydraNotificationBody.d.ts +19 -0
  379. package/lib/typescript/module/src/models/HydraNotification/HydraNotificationBody.d.ts.map +1 -0
  380. package/lib/typescript/module/src/models/HydraNotification/HydraNotificationCta.d.ts +13 -0
  381. package/lib/typescript/module/src/models/HydraNotification/HydraNotificationCta.d.ts.map +1 -0
  382. package/lib/typescript/module/src/models/HydraNotification/HydraNotificationCtaType.d.ts +13 -0
  383. package/lib/typescript/module/src/models/HydraNotification/HydraNotificationCtaType.d.ts.map +1 -0
  384. package/lib/typescript/module/src/models/HydraNotification/HydraNotificationExpandedDetails.d.ts +19 -0
  385. package/lib/typescript/module/src/models/HydraNotification/HydraNotificationExpandedDetails.d.ts.map +1 -0
  386. package/lib/typescript/module/src/models/HydraNotification/HydraNotificationGateway.d.ts +6 -0
  387. package/lib/typescript/module/src/models/HydraNotification/HydraNotificationGateway.d.ts.map +1 -0
  388. package/lib/typescript/module/src/models/HydraPushPreferences.d.ts +10 -0
  389. package/lib/typescript/module/src/models/HydraPushPreferences.d.ts.map +1 -0
  390. package/lib/typescript/module/src/models/HydraUserDetails.d.ts +16 -0
  391. package/lib/typescript/module/src/models/HydraUserDetails.d.ts.map +1 -0
  392. package/lib/typescript/module/src/models/HydraVisitorInfo.d.ts +6 -0
  393. package/lib/typescript/module/src/models/HydraVisitorInfo.d.ts.map +1 -0
  394. package/lib/typescript/module/src/models/NonHydraNotification.d.ts +9 -0
  395. package/lib/typescript/module/src/models/NonHydraNotification.d.ts.map +1 -0
  396. package/lib/typescript/module/src/models/UserState.d.ts +11 -0
  397. package/lib/typescript/module/src/models/UserState.d.ts.map +1 -0
  398. package/package.json +225 -0
  399. package/react-native-hydra-lib.podspec +256 -0
  400. package/react-native.config.js +33 -0
  401. package/sbom.spdx.json +544 -0
  402. package/scripts/HydraPods.rb +151 -0
  403. package/scripts/generate-sbom.js +367 -0
  404. package/scripts/hydra-podspecs/HydraCore.podspec +13 -0
  405. package/scripts/hydra-podspecs/HydraInAppMessage.podspec +15 -0
  406. package/scripts/hydra-podspecs/HydraInboxCore.podspec +15 -0
  407. package/scripts/hydra-podspecs/HydraInboxUI.podspec +15 -0
  408. package/scripts/hydra-podspecs/HydraPushNotification.podspec +14 -0
  409. package/scripts/hydra-podspecs/HydraPushNotificationServiceExtension.podspec +15 -0
  410. package/src/GamificationBannerViewNativeComponent.ts +10 -0
  411. package/src/GamificationEmbedViewNativeComponent.ts +10 -0
  412. package/src/GamificationLoyaltyViewNativeComponent.ts +10 -0
  413. package/src/NativeHydraLib.ts +81 -0
  414. package/src/components/GamificationBannerView.tsx +10 -0
  415. package/src/components/GamificationEmbedView.tsx +10 -0
  416. package/src/components/GamificationLoyaltyView.tsx +10 -0
  417. package/src/hydra-apis/Hydra.ts +52 -0
  418. package/src/hydra-apis/HydraCore.ts +76 -0
  419. package/src/hydra-apis/HydraInAppMessaging.ts +25 -0
  420. package/src/hydra-apis/HydraInbox.ts +33 -0
  421. package/src/hydra-apis/HydraInboxUI.ts +10 -0
  422. package/src/hydra-apis/HydraNativeEventEmitter.ts +216 -0
  423. package/src/hydra-apis/HydraPushNotification.ts +15 -0
  424. package/src/index.tsx +71 -0
  425. package/src/models/HydraAccountConfig.ts +45 -0
  426. package/src/models/HydraFirebaseRemoteConfigKeys.ts +43 -0
  427. package/src/models/HydraGeoConfig.ts +27 -0
  428. package/src/models/HydraInAppMessage/HydraInAppButtonComponent.ts +27 -0
  429. package/src/models/HydraInAppMessage/HydraInAppComponentStyle.ts +24 -0
  430. package/src/models/HydraInAppMessage/HydraInAppFeedbackSelectionType.ts +35 -0
  431. package/src/models/HydraInAppMessage/HydraInAppMessage.ts +89 -0
  432. package/src/models/HydraInAppMessage/HydraInAppTemplateType.ts +57 -0
  433. package/src/models/HydraInAppMessage/HydraInAppTextComponent.ts +18 -0
  434. package/src/models/HydraLogLevel.ts +8 -0
  435. package/src/models/HydraNativeEvent.ts +19 -0
  436. package/src/models/HydraNotification/HydraNotification.ts +97 -0
  437. package/src/models/HydraNotification/HydraNotificationBody.ts +23 -0
  438. package/src/models/HydraNotification/HydraNotificationCta.ts +20 -0
  439. package/src/models/HydraNotification/HydraNotificationCtaType.ts +59 -0
  440. package/src/models/HydraNotification/HydraNotificationExpandedDetails.ts +28 -0
  441. package/src/models/HydraNotification/HydraNotificationGateway.ts +5 -0
  442. package/src/models/HydraPushPreferences.ts +16 -0
  443. package/src/models/HydraUserDetails.ts +31 -0
  444. package/src/models/HydraVisitorInfo.ts +14 -0
  445. package/src/models/NonHydraNotification.ts +15 -0
  446. package/src/models/UserState.ts +33 -0
@@ -0,0 +1,154 @@
1
+ package com.hydralib.utils
2
+
3
+ import android.content.Context
4
+ import android.content.SharedPreferences
5
+ import android.security.keystore.KeyGenParameterSpec
6
+ import android.security.keystore.KeyProperties
7
+ import android.util.Base64
8
+ import android.util.Log
9
+ import com.google.gson.Gson
10
+ import com.hydralib.nativeapis.HydraRemoteConfig
11
+ import java.security.KeyStore
12
+ import javax.crypto.Cipher
13
+ import javax.crypto.KeyGenerator
14
+ import javax.crypto.SecretKey
15
+ import javax.crypto.spec.GCMParameterSpec
16
+ import androidx.core.content.edit
17
+ import com.hydralib.nativeapis.HydraFirebaseRemoteConfigKeys
18
+
19
+ object RNHydraPreferencesManager {
20
+ private const val PREFS_NAME = "RNHydraPrefs"
21
+ private const val TAG = "RNHydraPreferencesManager"
22
+ private const val ANDROID_KEYSTORE = "AndroidKeyStore"
23
+ private const val KEY_REMOTE_CONFIG = "remote_config"
24
+ private const val KEY_FIREBASE_REMOTE_CONFIG_KEYS = "firebase_remote_config_keys"
25
+ private val gson = Gson()
26
+
27
+ private lateinit var sharedPreferences: SharedPreferences
28
+ private lateinit var keyAlias: String
29
+
30
+ fun initialize(context: Context) {
31
+ if (!::sharedPreferences.isInitialized) {
32
+ sharedPreferences =
33
+ context.applicationContext.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE)
34
+ keyAlias = "${context.packageName}_encryption_key"
35
+ }
36
+ }
37
+
38
+ fun saveHydraRemoteConfig(context: Context, config: HydraRemoteConfig) {
39
+ initialize(context)
40
+ val configJson = gson.toJson(config)
41
+ saveString(KEY_REMOTE_CONFIG, configJson)
42
+ }
43
+
44
+ fun getHydraRemoteConfig(context: Context): HydraRemoteConfig? {
45
+ initialize(context)
46
+ val configJson = getString(KEY_REMOTE_CONFIG)
47
+ return if (configJson != null) {
48
+ try {
49
+ gson.fromJson(configJson, HydraRemoteConfig::class.java)
50
+ } catch (e: Exception) {
51
+ Log.e(TAG, "Error loading remote config from prefs", e)
52
+ null
53
+ }
54
+ } else null
55
+ }
56
+
57
+ fun removeHydraRemoteConfig(context: Context) {
58
+ initialize(context)
59
+ sharedPreferences.edit { remove(KEY_REMOTE_CONFIG) }
60
+ }
61
+
62
+ fun saveHydraFirebaseRemoteConfigKeys(
63
+ context: Context,
64
+ hydraFirebaseRemoteConfigKeys: HydraFirebaseRemoteConfigKeys
65
+ ) {
66
+ initialize(context)
67
+ val keysJson = gson.toJson(hydraFirebaseRemoteConfigKeys)
68
+ saveString(KEY_FIREBASE_REMOTE_CONFIG_KEYS, keysJson)
69
+ }
70
+
71
+ fun getHydraFirebaseRemoteConfigKeys(context: Context): HydraFirebaseRemoteConfigKeys? {
72
+ initialize(context)
73
+ val keysJson = getString(KEY_FIREBASE_REMOTE_CONFIG_KEYS)
74
+ return if (keysJson != null) {
75
+ try {
76
+ gson.fromJson(keysJson, HydraFirebaseRemoteConfigKeys::class.java)
77
+ } catch (e: Exception) {
78
+ Log.e(TAG, "Error loading Firebase remote config keys from prefs", e)
79
+ null
80
+ }
81
+ } else null
82
+ }
83
+
84
+ fun removeHydraFirebaseRemoteConfigKeys(context: Context) {
85
+ initialize(context)
86
+ sharedPreferences.edit { remove(KEY_FIREBASE_REMOTE_CONFIG_KEYS) }
87
+ }
88
+
89
+ fun saveString(key: String, value: String) {
90
+ try {
91
+ val encryptedValue = encrypt(value)
92
+ sharedPreferences.edit { putString(key, encryptedValue) }
93
+ } catch (e: Exception) {
94
+ Log.e(TAG, "Error saving encrypted value", e)
95
+ }
96
+ }
97
+
98
+ fun getString(key: String, defaultValue: String? = null): String? {
99
+ return try {
100
+ val encryptedValue = sharedPreferences.getString(key, null)
101
+ if (encryptedValue != null) {
102
+ decrypt(encryptedValue)
103
+ } else {
104
+ defaultValue
105
+ }
106
+ } catch (e: Exception) {
107
+ Log.e(TAG, "Error getting encrypted value", e)
108
+ defaultValue
109
+ }
110
+ }
111
+
112
+ private fun getOrCreateSecretKey(): SecretKey {
113
+ val keyStore = KeyStore.getInstance(ANDROID_KEYSTORE)
114
+ keyStore.load(null)
115
+
116
+ if (!keyStore.containsAlias(keyAlias)) {
117
+ val keyGenerator = KeyGenerator.getInstance(
118
+ KeyProperties.KEY_ALGORITHM_AES,
119
+ ANDROID_KEYSTORE
120
+ )
121
+ val keyGenParameterSpec = KeyGenParameterSpec.Builder(
122
+ keyAlias,
123
+ KeyProperties.PURPOSE_ENCRYPT or KeyProperties.PURPOSE_DECRYPT
124
+ )
125
+ .setBlockModes(KeyProperties.BLOCK_MODE_GCM)
126
+ .setEncryptionPaddings(KeyProperties.ENCRYPTION_PADDING_NONE)
127
+ .setKeySize(256)
128
+ .build()
129
+
130
+ keyGenerator.init(keyGenParameterSpec)
131
+ keyGenerator.generateKey()
132
+ }
133
+
134
+ return keyStore.getKey(keyAlias, null) as SecretKey
135
+ }
136
+
137
+ private fun encrypt(data: String): String {
138
+ val cipher = Cipher.getInstance("AES/GCM/NoPadding")
139
+ cipher.init(Cipher.ENCRYPT_MODE, getOrCreateSecretKey())
140
+ val encryptedBytes = cipher.doFinal(data.toByteArray(Charsets.UTF_8))
141
+ val combined = cipher.iv + encryptedBytes
142
+ return Base64.encodeToString(combined, Base64.DEFAULT)
143
+ }
144
+
145
+ private fun decrypt(encryptedData: String): String {
146
+ val decoded = Base64.decode(encryptedData, Base64.DEFAULT)
147
+ val cipher = Cipher.getInstance("AES/GCM/NoPadding")
148
+ val ivSize = 12
149
+ val iv = decoded.copyOfRange(0, ivSize)
150
+ val encrypted = decoded.copyOfRange(ivSize, decoded.size)
151
+ cipher.init(Cipher.DECRYPT_MODE, getOrCreateSecretKey(), GCMParameterSpec(128, iv))
152
+ return String(cipher.doFinal(encrypted), Charsets.UTF_8)
153
+ }
154
+ }
@@ -0,0 +1,10 @@
1
+ package com.hydralib.utils
2
+
3
+ import android.content.Context
4
+ import android.annotation.SuppressLint
5
+
6
+ @SuppressLint("DiscouragedApi")
7
+ fun getDrawableId(context: Context, icon: String, defType: String): Int {
8
+ val packageName: String = context.packageName
9
+ return context.resources.getIdentifier(icon, defType, packageName)
10
+ }
@@ -0,0 +1,218 @@
1
+ package com.hydralib
2
+
3
+ import android.util.Log
4
+ import com.facebook.react.bridge.Promise
5
+ import com.facebook.react.bridge.ReactApplicationContext
6
+ import com.facebook.react.bridge.ReadableArray
7
+ import com.facebook.react.bridge.ReadableMap
8
+ import com.facebook.react.module.annotations.ReactModule
9
+ import com.hydralib.eventemitter.HydraEventEmitter
10
+ import com.hydralib.hydrasdk.HydraCore
11
+ import com.hydralib.hydrasdk.HydraInAppMessages
12
+ import com.hydralib.hydrasdk.HydraInbox
13
+ import com.hydralib.hydrasdk.HydraInboxUI
14
+ import com.hydralib.hydrasdk.HydraPushNotification
15
+
16
+ @ReactModule(name = HydraLibModule.NAME)
17
+ class HydraLibModule(reactContext: ReactApplicationContext) :
18
+ NativeHydraLibSpec(reactContext) {
19
+ init {
20
+ HydraEventEmitter.initialize(reactContext)
21
+ }
22
+
23
+ override fun getName(): String {
24
+ return NAME
25
+ }
26
+
27
+ override fun setHydraAccountConfig(
28
+ hydraAccountConfig: ReadableMap?,
29
+ promise: Promise?
30
+ ) {
31
+ HydraCore.setHydraAccountConfig(hydraAccountConfig, promise)
32
+ }
33
+
34
+ override fun setFirebaseRemoteConfigKeys(
35
+ remoteConfigKeys: ReadableMap?,
36
+ promise: Promise?
37
+ ) {
38
+ HydraCore.setFirebaseRemoteConfigKeys(remoteConfigKeys, promise)
39
+ }
40
+
41
+ override fun updateGeoConfig(geoConfig: ReadableMap?, promise: Promise?) {
42
+ HydraCore.updateGeoConfig(geoConfig, promise)
43
+ }
44
+
45
+ override fun signUp(userDetails: ReadableMap?, customData: ReadableMap?, promise: Promise?) {
46
+ HydraCore.signUp(userDetails, customData, promise)
47
+ }
48
+
49
+ override fun signIn(userDetails: ReadableMap?, customData: ReadableMap?, promise: Promise?) {
50
+ HydraCore.signIn(userDetails, customData, promise)
51
+ }
52
+
53
+ override fun updateUser(
54
+ userDetails: ReadableMap?,
55
+ customAttributes: ReadableMap?,
56
+ subscriptions: ReadableArray?,
57
+ promise: Promise?
58
+ ) {
59
+ HydraCore.updateUser(userDetails, customAttributes, subscriptions, promise)
60
+ }
61
+
62
+ override fun signOut(customerId: String?, promise: Promise?) {
63
+ HydraCore.signOut(customerId, promise)
64
+ }
65
+
66
+ override fun updatePushPreferences(
67
+ customerId: String?,
68
+ prefrences: ReadableMap?,
69
+ promise: Promise?
70
+ ) {
71
+ HydraCore.updatePushPreferences(customerId, prefrences, promise)
72
+ }
73
+
74
+ override fun reportUserEvent(eventName: String?, attributes: ReadableMap?, promise: Promise?) {
75
+ HydraCore.reportUserEvent(eventName, attributes, promise)
76
+ }
77
+
78
+ override fun identify(userDetails: ReadableMap?, customData: ReadableMap?, promise: Promise?) {
79
+ HydraCore.identify(userDetails, customData, promise)
80
+ }
81
+
82
+ override fun track(eventName: String?, attributes: ReadableMap?, promise: Promise?) {
83
+ HydraCore.track(eventName, attributes, promise)
84
+ }
85
+
86
+ override fun reset(customerId: String?, promise: Promise?) {
87
+ HydraCore.reset(customerId, promise)
88
+ }
89
+
90
+ override fun isSdkInitialized(promise: Promise?) {
91
+ HydraCore.isSdkInitialized(promise)
92
+ }
93
+
94
+ override fun getCurrentUserState(promise: Promise?) {
95
+ HydraCore.getCurrentUserState(promise)
96
+ }
97
+
98
+ override fun getVisitorDetails(promise: Promise?) {
99
+ HydraCore.getVisitorDetails(promise)
100
+ }
101
+
102
+ override fun isVisitorFlowEnabled(promise: Promise?) {
103
+ HydraCore.isVisitorFlowEnabled(promise)
104
+ }
105
+
106
+ override fun gamificationScreenAppeared(
107
+ screenName: String?,
108
+ promise: Promise?
109
+ ) {
110
+ HydraCore.gamificationScreenAppeared(screenName, promise)
111
+ }
112
+
113
+ override fun gamificationScreenDisappeared(
114
+ screenName: String?,
115
+ promise: Promise?
116
+ ) {
117
+ HydraCore.gamificationScreenDisappeared(promise)
118
+ }
119
+
120
+ override fun setCapToken(token: String, promise: Promise) {
121
+ HydraCore.setCapToken(token, promise)
122
+ }
123
+
124
+ override fun openExternalUrl(url: String, promise: Promise?) {
125
+ HydraPushNotification.openExternalUrl(url, promise)
126
+ }
127
+
128
+ override fun getFCMToken(promise: Promise?) {
129
+ HydraPushNotification.getFCMToken(promise)
130
+ }
131
+
132
+ override fun requestPermission(promise: Promise?) {
133
+ HydraPushNotification.requestPermission(promise)
134
+ }
135
+
136
+ override fun showNotificationCenter(promise: Promise?) {
137
+ HydraInboxUI.showNotificationCenter(promise)
138
+ }
139
+
140
+ override fun hideNotificationCenterIfShowing(promise: Promise?) {
141
+ HydraInboxUI.hideNotificationCenterIfShowing(promise)
142
+ }
143
+
144
+ override fun getInboxMessages(promise: Promise?) {
145
+ HydraInbox.getInboxMessages(promise)
146
+ }
147
+
148
+ override fun getUnreadInboxMessagesCount(promise: Promise?) {
149
+ HydraInbox.getUnreadInboxMessagesCount(promise)
150
+ }
151
+
152
+ override fun markInboxMessageAsRead(inboxMessage: ReadableMap?, promise: Promise?) {
153
+ HydraInbox.markInboxMessageAsRead(inboxMessage, promise)
154
+ }
155
+
156
+ override fun deleteInboxMessage(inboxMessage: ReadableMap?, promise: Promise?) {
157
+ HydraInbox.deleteInboxMessage(inboxMessage, promise)
158
+ }
159
+
160
+ override fun deleteAllInboxMessages(promise: Promise?) {
161
+ HydraInbox.deleteAllInboxMessages(promise)
162
+ }
163
+
164
+ override fun selfHandledInAppResponse(
165
+ message: ReadableMap?,
166
+ handled: Boolean,
167
+ promise: Promise?
168
+ ) {
169
+ HydraEventEmitter.onSelfHandledInAppResponse(message, handled, promise)
170
+ }
171
+
172
+ override fun reportMessageClicked(
173
+ message: ReadableMap?,
174
+ promise: Promise?
175
+ ) {
176
+ HydraInAppMessages.reportMessageClicked(message, promise)
177
+ }
178
+
179
+ override fun reportMessageRating(
180
+ message: ReadableMap?,
181
+ rating: Double,
182
+ promise: Promise?
183
+ ) {
184
+ HydraInAppMessages.reportMessageRating(message, rating, promise)
185
+ }
186
+
187
+ override fun reportMessageFeedback(
188
+ message: ReadableMap?,
189
+ feedback: String?,
190
+ feedbackOptions: ReadableArray?,
191
+ promise: Promise?
192
+ ) {
193
+ HydraInAppMessages.reportMessageFeedback(message, feedback, feedbackOptions, promise)
194
+ }
195
+
196
+ override fun reportMessageDismissed(
197
+ message: ReadableMap?,
198
+ promise: Promise?
199
+ ) {
200
+ HydraInAppMessages.reportMessageDismissed(message, promise)
201
+ }
202
+
203
+ override fun addListener(eventName: String?) {
204
+ HydraEventEmitter.addListener(eventName)
205
+ }
206
+
207
+ override fun removeListener(eventName: String?) {
208
+ HydraEventEmitter.removeListener(eventName)
209
+ }
210
+
211
+ override fun removeListeners(count: Double) {
212
+ Log.d("HydraLibModule", "removeListeners")
213
+ }
214
+
215
+ companion object {
216
+ const val NAME = "HydraLib"
217
+ }
218
+ }
@@ -0,0 +1,258 @@
1
+ package com.hydralib
2
+
3
+ import android.util.Log
4
+ import com.facebook.react.bridge.Promise
5
+ import com.facebook.react.bridge.ReactApplicationContext
6
+ import com.facebook.react.bridge.ReactContextBaseJavaModule
7
+ import com.facebook.react.bridge.ReactMethod
8
+ import com.facebook.react.bridge.ReadableArray
9
+ import com.facebook.react.bridge.ReadableMap
10
+ import com.hydralib.eventemitter.HydraEventEmitter
11
+ import com.hydralib.hydrasdk.HydraCore
12
+ import com.hydralib.hydrasdk.HydraInbox
13
+ import com.hydralib.hydrasdk.HydraInboxUI
14
+ import com.hydralib.hydrasdk.HydraPushNotification
15
+ import com.hydralib.hydrasdk.HydraInAppMessages
16
+
17
+ class HydraLibModule internal constructor(context: ReactApplicationContext) :
18
+ ReactContextBaseJavaModule(context) {
19
+
20
+ init {
21
+ HydraEventEmitter.initialize(context)
22
+ }
23
+
24
+ override fun getName(): String {
25
+ return NAME
26
+ }
27
+
28
+ @ReactMethod(isBlockingSynchronousMethod = false)
29
+ fun setHydraAccountConfig(
30
+ hydraAccountConfig: ReadableMap?,
31
+ promise: Promise?
32
+ ) {
33
+ HydraCore.setHydraAccountConfig(hydraAccountConfig, promise)
34
+ }
35
+
36
+ @ReactMethod(isBlockingSynchronousMethod = false)
37
+ fun setFirebaseRemoteConfigKeys(
38
+ remoteConfigKeys: ReadableMap?,
39
+ promise: Promise?
40
+ ) {
41
+ HydraCore.setFirebaseRemoteConfigKeys(remoteConfigKeys, promise)
42
+ }
43
+
44
+ @ReactMethod(isBlockingSynchronousMethod = false)
45
+ fun updateGeoConfig(geoConfig: ReadableMap?, promise: Promise?) {
46
+ HydraCore.updateGeoConfig(geoConfig, promise)
47
+ }
48
+
49
+ @ReactMethod(isBlockingSynchronousMethod = false)
50
+ fun signUp(userDetails: ReadableMap?, customData: ReadableMap?, promise: Promise?) {
51
+ HydraCore.signUp(userDetails, customData, promise)
52
+ }
53
+
54
+ @ReactMethod(isBlockingSynchronousMethod = false)
55
+ fun signIn(userDetails: ReadableMap?, customData: ReadableMap?, promise: Promise?) {
56
+ HydraCore.signIn(userDetails, customData, promise)
57
+ }
58
+
59
+ @ReactMethod(isBlockingSynchronousMethod = false)
60
+ fun updateUser(
61
+ userDetails: ReadableMap?,
62
+ customAttributes: ReadableMap?,
63
+ subscriptions: ReadableArray?,
64
+ promise: Promise?
65
+ ) {
66
+ HydraCore.updateUser(userDetails, customAttributes, subscriptions, promise)
67
+ }
68
+
69
+ @ReactMethod(isBlockingSynchronousMethod = false)
70
+ fun signOut(customerId: String?, promise: Promise?) {
71
+ HydraCore.signOut(customerId, promise)
72
+ }
73
+
74
+ @ReactMethod(isBlockingSynchronousMethod = false)
75
+ fun updatePushPreferences(
76
+ customerId: String?,
77
+ preferences: ReadableMap?,
78
+ promise: Promise?
79
+ ) {
80
+ HydraCore.updatePushPreferences(customerId, preferences, promise)
81
+ }
82
+
83
+ @ReactMethod(isBlockingSynchronousMethod = false)
84
+ fun reportUserEvent(eventName: String?, attributes: ReadableMap?, promise: Promise?) {
85
+ HydraCore.reportUserEvent(eventName, attributes, promise)
86
+ }
87
+
88
+ @ReactMethod(isBlockingSynchronousMethod = false)
89
+ fun identify(userDetails: ReadableMap?, customData: ReadableMap?, promise: Promise?) {
90
+ HydraCore.identify(userDetails, customData, promise)
91
+ }
92
+
93
+ @ReactMethod(isBlockingSynchronousMethod = false)
94
+ fun track(eventName: String?, attributes: ReadableMap?, promise: Promise?) {
95
+ HydraCore.track(eventName, attributes, promise)
96
+ }
97
+
98
+ @ReactMethod(isBlockingSynchronousMethod = false)
99
+ fun reset(customerId: String?, promise: Promise?) {
100
+ HydraCore.reset(customerId, promise)
101
+ }
102
+
103
+ @ReactMethod(isBlockingSynchronousMethod = false)
104
+ fun isSdkInitialized(promise: Promise?) {
105
+ HydraCore.isSdkInitialized(promise)
106
+ }
107
+
108
+ @ReactMethod(isBlockingSynchronousMethod = false)
109
+ fun getCurrentUserState(promise: Promise?) {
110
+ HydraCore.getCurrentUserState(promise)
111
+ }
112
+
113
+ @ReactMethod(isBlockingSynchronousMethod = false)
114
+ fun getVisitorDetails(promise: Promise?) {
115
+ HydraCore.getVisitorDetails(promise)
116
+ }
117
+
118
+ @ReactMethod(isBlockingSynchronousMethod = false)
119
+ fun isVisitorFlowEnabled(promise: Promise?) {
120
+ HydraCore.isVisitorFlowEnabled(promise)
121
+ }
122
+
123
+ @ReactMethod(isBlockingSynchronousMethod = false)
124
+ fun gamificationScreenAppeared(
125
+ screenName: String?,
126
+ promise: Promise?
127
+ ) {
128
+ HydraCore.gamificationScreenAppeared(screenName, promise)
129
+ }
130
+
131
+ @ReactMethod(isBlockingSynchronousMethod = false)
132
+ fun gamificationScreenDisappeared(
133
+ screenName: String?,
134
+ promise: Promise?
135
+ ) {
136
+ HydraCore.gamificationScreenDisappeared(promise)
137
+ }
138
+
139
+ @ReactMethod(isBlockingSynchronousMethod = false)
140
+ fun setCapToken(token: String, promise: Promise) {
141
+ HydraCore.setCapToken(token, promise)
142
+ }
143
+
144
+ @ReactMethod(isBlockingSynchronousMethod = false)
145
+ fun openExternalUrl(url: String, promise: Promise?) {
146
+ HydraPushNotification.openExternalUrl(url, promise)
147
+ }
148
+
149
+ @ReactMethod(isBlockingSynchronousMethod = false)
150
+ fun getFCMToken(promise: Promise?) {
151
+ HydraPushNotification.getFCMToken(promise)
152
+ }
153
+
154
+ @ReactMethod(isBlockingSynchronousMethod = false)
155
+ fun requestPermission(promise: Promise?) {
156
+ HydraPushNotification.requestPermission(promise)
157
+ }
158
+
159
+ @ReactMethod(isBlockingSynchronousMethod = false)
160
+ fun showNotificationCenter(promise: Promise?) {
161
+ HydraInboxUI.showNotificationCenter(promise)
162
+ }
163
+
164
+ @ReactMethod(isBlockingSynchronousMethod = false)
165
+ fun hideNotificationCenterIfShowing(promise: Promise?) {
166
+ HydraInboxUI.hideNotificationCenterIfShowing(promise)
167
+ }
168
+
169
+ @ReactMethod(isBlockingSynchronousMethod = false)
170
+ fun getInboxMessages(promise: Promise?) {
171
+ HydraInbox.getInboxMessages(promise)
172
+ }
173
+
174
+ @ReactMethod(isBlockingSynchronousMethod = false)
175
+ fun getUnreadInboxMessagesCount(promise: Promise?) {
176
+ HydraInbox.getUnreadInboxMessagesCount(promise)
177
+ }
178
+
179
+ @ReactMethod(isBlockingSynchronousMethod = false)
180
+ fun markInboxMessageAsRead(inboxMessage: ReadableMap?, promise: Promise?) {
181
+ HydraInbox.markInboxMessageAsRead(inboxMessage, promise)
182
+ }
183
+
184
+ @ReactMethod(isBlockingSynchronousMethod = false)
185
+ fun deleteInboxMessage(inboxMessage: ReadableMap?, promise: Promise?) {
186
+ HydraInbox.deleteInboxMessage(inboxMessage, promise)
187
+ }
188
+
189
+ @ReactMethod(isBlockingSynchronousMethod = false)
190
+ fun deleteAllInboxMessages(promise: Promise?) {
191
+ HydraInbox.deleteAllInboxMessages(promise)
192
+ }
193
+
194
+ @ReactMethod(isBlockingSynchronousMethod = false)
195
+ fun selfHandledInAppResponse(
196
+ message: ReadableMap?,
197
+ handled: Boolean,
198
+ promise: Promise?
199
+ ) {
200
+ HydraEventEmitter.onSelfHandledInAppResponse(message, handled, promise)
201
+ }
202
+
203
+ @ReactMethod(isBlockingSynchronousMethod = false)
204
+ fun reportMessageClicked(
205
+ message: ReadableMap?,
206
+ promise: Promise?
207
+ ) {
208
+ HydraInAppMessages.reportMessageClicked(message, promise)
209
+ }
210
+
211
+ @ReactMethod(isBlockingSynchronousMethod = false)
212
+ fun reportMessageRating(
213
+ message: ReadableMap?,
214
+ rating: Double,
215
+ promise: Promise?
216
+ ) {
217
+ HydraInAppMessages.reportMessageRating(message, rating, promise)
218
+ }
219
+
220
+ @ReactMethod(isBlockingSynchronousMethod = false)
221
+ fun reportMessageFeedback(
222
+ message: ReadableMap?,
223
+ feedback: String?,
224
+ feedbackOptions: ReadableArray?,
225
+ promise: Promise?
226
+ ) {
227
+ HydraInAppMessages.reportMessageFeedback(message, feedback, feedbackOptions, promise)
228
+ }
229
+
230
+ @ReactMethod(isBlockingSynchronousMethod = false)
231
+ fun reportMessageDismissed(
232
+ message: ReadableMap?,
233
+ promise: Promise?
234
+ ) {
235
+ HydraInAppMessages.reportMessageDismissed(message, promise)
236
+ }
237
+
238
+ @ReactMethod(isBlockingSynchronousMethod = false)
239
+ fun addListener(eventName: String?) {
240
+ HydraEventEmitter.addListener(eventName)
241
+ }
242
+
243
+ @ReactMethod(isBlockingSynchronousMethod = false)
244
+ fun removeListener(eventName: String?) {
245
+ HydraEventEmitter.removeListener(eventName)
246
+ }
247
+
248
+ @ReactMethod(isBlockingSynchronousMethod = false)
249
+ fun removeListeners(count: Double) {
250
+ Log.d("HydraLibModule", "removeListeners")
251
+ }
252
+
253
+
254
+
255
+ companion object {
256
+ const val NAME = "HydraLib"
257
+ }
258
+ }
@@ -0,0 +1,43 @@
1
+ package com.hydralib
2
+
3
+ import com.facebook.react.TurboReactPackage
4
+ import com.facebook.react.bridge.NativeModule
5
+ import com.facebook.react.bridge.ReactApplicationContext
6
+ import com.facebook.react.module.model.ReactModuleInfo
7
+ import com.facebook.react.module.model.ReactModuleInfoProvider
8
+ import java.util.HashMap
9
+
10
+ class HydraLibPackage : TurboReactPackage() {
11
+ override fun getModule(name: String, reactContext: ReactApplicationContext): NativeModule? {
12
+ return if (name == HydraLibModule.NAME) {
13
+ HydraLibModule(reactContext)
14
+ } else {
15
+ null
16
+ }
17
+ }
18
+
19
+ override fun getReactModuleInfoProvider(): ReactModuleInfoProvider {
20
+ return ReactModuleInfoProvider {
21
+ val moduleInfos: MutableMap<String, ReactModuleInfo> = HashMap()
22
+ val isTurboModule: Boolean = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED
23
+ val name = HydraLibModule.NAME
24
+ val className = HydraLibModule.NAME
25
+ val canOverrideExistingModule = false
26
+ val needsEagerInit = false
27
+ val isCxxModule= false
28
+ val hasConstants = false
29
+
30
+
31
+ moduleInfos[HydraLibModule.NAME] = ReactModuleInfo(
32
+ name,
33
+ className,
34
+ canOverrideExistingModule,
35
+ needsEagerInit,
36
+ hasConstants,
37
+ isCxxModule,
38
+ isTurboModule // isTurboModule
39
+ )
40
+ moduleInfos
41
+ }
42
+ }
43
+ }