@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,34 @@
1
+ //
2
+ // Hydra.h
3
+ // react-native-hydra-lib
4
+ //
5
+ // Created by Sandesh Kumar Jain on 30/03/25.
6
+ //
7
+
8
+ #import <Foundation/Foundation.h>
9
+ #import <UIKit/UIKit.h>
10
+ #import "HydraNativeRemoteConfig.h"
11
+ #import "HydraNativeFirebaseRemoteConfigKeys.h"
12
+
13
+ NS_ASSUME_NONNULL_BEGIN
14
+
15
+ @interface Hydra : NSObject
16
+
17
+ + (instancetype)sharedInstance;
18
+
19
+ /// Initialize the Hydra SDK.
20
+ ///
21
+ /// @param application The UIApplication instance.
22
+ /// @param launchOptions The launch options dictionary from AppDelegate.
23
+ /// @param firebaseRemoteConfigKeys Optional. Custom Firebase Remote Config key names.
24
+ /// Pass nil to use default keys.
25
+ /// @param hydraRemoteConfig Optional. A pre-built HydraNativeRemoteConfig object.
26
+ /// When provided, Firebase Remote Config is bypassed entirely.
27
+ - (void)initialize:(UIApplication *)application
28
+ didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
29
+ withKeys:(nullable HydraNativeFirebaseRemoteConfigKeys *)firebaseRemoteConfigKeys
30
+ withHydraRemoteConfig:(nullable HydraNativeRemoteConfig *)hydraRemoteConfig;
31
+
32
+ @end
33
+
34
+ NS_ASSUME_NONNULL_END
@@ -0,0 +1,47 @@
1
+ //
2
+ // Hydra.m
3
+ // react-native-hydra-lib
4
+ //
5
+ // Created by Sandesh Kumar Jain on 30/03/25.
6
+ //
7
+
8
+ #import "Hydra.h"
9
+ #import <React/RCTBridgeModule.h>
10
+ #import <UserNotifications/UserNotifications.h>
11
+
12
+ #if __has_include("react_native_hydra_lib-Swift.h")
13
+ #import "react_native_hydra_lib-Swift.h"
14
+ #elif __has_include(<react_native_hydra_lib/react_native_hydra_lib-Swift.h>)
15
+ #import <react_native_hydra_lib/react_native_hydra_lib-Swift.h>
16
+ #endif
17
+
18
+ @implementation Hydra
19
+
20
+ + (instancetype)sharedInstance {
21
+ static Hydra *shared = nil;
22
+ static dispatch_once_t onceToken;
23
+ dispatch_once(&onceToken, ^{
24
+ shared = [[self alloc] init];
25
+ });
26
+ return shared;
27
+ }
28
+
29
+ - (void)initialize:(UIApplication *)application
30
+ didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
31
+ withKeys:(nullable HydraNativeFirebaseRemoteConfigKeys *)firebaseRemoteConfigKeys
32
+ withHydraRemoteConfig:(nullable HydraNativeRemoteConfig *)hydraRemoteConfig {
33
+ if (firebaseRemoteConfigKeys != nil) {
34
+ [[HydraApplicationDelegate shared] initApplicationWithFirebaseRemoteConfigKeys:application
35
+ didFinishLaunchingWithOptions:launchOptions
36
+ firebaseRemoteConfigKeys:firebaseRemoteConfigKeys];
37
+ } else if (hydraRemoteConfig != nil) {
38
+ [[HydraApplicationDelegate shared] initApplication:application
39
+ didFinishLaunchingWithOptions:launchOptions
40
+ hydraRemoteConfig:hydraRemoteConfig];
41
+ } else {
42
+ [[HydraApplicationDelegate shared] initApplicationWithFirebaseRemoteConfig:application
43
+ didFinishLaunchingWithOptions:launchOptions];
44
+ }
45
+ }
46
+
47
+ @end
@@ -0,0 +1,23 @@
1
+ //
2
+ // HydraNativeFirebaseRemoteConfigKeys.h
3
+ // react-native-hydra-lib
4
+ //
5
+ // Created by Sandesh Kumar Jain on 19/05/25.
6
+ //
7
+
8
+ #import <Foundation/Foundation.h>
9
+
10
+ @interface HydraNativeFirebaseRemoteConfigKeys : NSObject
11
+ @property (nonatomic, strong) NSString *keyForAccountId;
12
+ @property (nonatomic, strong) NSString *keyForBaseUrl;
13
+ @property (nonatomic, strong) NSString *keyForSsl;
14
+ @property (nonatomic, strong) NSString *keyForRemoteLogLevel;
15
+ @property (nonatomic, strong, nullable) NSString *keyForOrgId;
16
+ @property (nonatomic, strong, nullable) NSString *keyForGamificationKey;
17
+ @property (nonatomic, strong, nullable) NSString *keyForGamificationRegion;
18
+ @property (nonatomic, strong, nullable) NSString *keyForGamificationBaseUrl;
19
+
20
+ -(instancetype)initWithKeyForAccountId:(NSString *)keyForAccountId keyForBaseUrl:(NSString *)keyForBaseUrl keyForSsl:(NSString *)keyForSsl keyForRemoteLogLevel:(NSString *)keyForRemoteLogLevel keyForOrgId:(nullable NSString *)keyForOrgId keyForGamificationKey:(nullable NSString *)keyForGamificationKey keyForGamificationRegion:(nullable NSString *)keyForGamificationRegion keyForGamificationBaseUrl:(nullable NSString *)keyForGamificationBaseUrl;
21
+ - (NSDictionary *)toDictionary;
22
+ + (instancetype)fromDictionary:(NSDictionary *)dict;
23
+ @end
@@ -0,0 +1,80 @@
1
+ //
2
+ // HydraNativeFirebaseRemoteConfigKeys.m
3
+ // react-native-hydra-lib
4
+ //
5
+ // Created by Sandesh Kumar Jain on 19/05/25.
6
+ //
7
+
8
+ #import "HydraNativeFirebaseRemoteConfigKeys.h"
9
+ #import <React/RCTBridgeModule.h>
10
+ #import <UserNotifications/UserNotifications.h>
11
+
12
+ #if __has_include("react_native_hydra_lib-Swift.h")
13
+ #import "react_native_hydra_lib-Swift.h"
14
+ #elif __has_include(<react_native_hydra_lib/react_native_hydra_lib-Swift.h>)
15
+ #import <react_native_hydra_lib/react_native_hydra_lib-Swift.h>
16
+ #endif
17
+
18
+ @implementation HydraNativeFirebaseRemoteConfigKeys
19
+ -(instancetype)initWithKeyForAccountId:(NSString *)keyForAccountId keyForBaseUrl:(NSString *)keyForBaseUrl keyForSsl:(NSString *)keyForSsl keyForRemoteLogLevel:(NSString *)keyForRemoteLogLevel keyForOrgId:(nullable NSString *)keyForOrgId keyForGamificationKey:(nullable NSString *)keyForGamificationKey keyForGamificationRegion:(nullable NSString *)keyForGamificationRegion keyForGamificationBaseUrl:(nullable NSString *)keyForGamificationBaseUrl {
20
+ self = [super init];
21
+ if(keyForAccountId == nil || keyForAccountId.length == 0){
22
+ [[HydraSDKCore shared] logErrorWithErrorMsg:@"Key for account id is required"];
23
+ return nil;
24
+ } else if( keyForBaseUrl == nil || keyForBaseUrl.length == 0){
25
+ [[HydraSDKCore shared] logErrorWithErrorMsg:@"Key for baseUrl is required"];
26
+ return nil;
27
+ } else if(keyForSsl == nil || keyForSsl.length == 0){
28
+ [[HydraSDKCore shared] logErrorWithErrorMsg:@"Key for Ssl is required"];
29
+ return nil;
30
+ }
31
+ else {
32
+ if(self){
33
+ _keyForAccountId = keyForAccountId;
34
+ _keyForBaseUrl = keyForBaseUrl;
35
+ _keyForSsl = keyForSsl;
36
+ _keyForRemoteLogLevel = keyForRemoteLogLevel;
37
+ _keyForOrgId = keyForOrgId;
38
+ _keyForGamificationKey = keyForGamificationKey;
39
+ _keyForGamificationRegion = keyForGamificationRegion;
40
+ _keyForGamificationBaseUrl = keyForGamificationBaseUrl;
41
+ }
42
+ return self;
43
+ }
44
+ }
45
+
46
+ - (NSDictionary *)toDictionary {
47
+ NSMutableDictionary *dict = [@{
48
+ @"keyForAccountId" : self.keyForAccountId ?: @"",
49
+ @"keyForBaseUrl" : self.keyForBaseUrl ?: @"",
50
+ @"keyForSsl" : self.keyForSsl ?: @"",
51
+ @"keyForRemoteLogLevel" : self.keyForRemoteLogLevel ?: @"",
52
+ } mutableCopy];
53
+ if (self.keyForOrgId != nil) {
54
+ dict[@"keyForOrgId"] = self.keyForOrgId;
55
+ }
56
+ if (self.keyForGamificationKey != nil) {
57
+ dict[@"keyForGamificationKey"] = self.keyForGamificationKey;
58
+ }
59
+ if (self.keyForGamificationRegion != nil) {
60
+ dict[@"keyForGamificationRegion"] = self.keyForGamificationRegion;
61
+ }
62
+ if (self.keyForGamificationBaseUrl != nil) {
63
+ dict[@"keyForGamificationBaseUrl"] = self.keyForGamificationBaseUrl;
64
+ }
65
+ return [dict copy];
66
+ }
67
+
68
+ + (instancetype)fromDictionary:(NSDictionary *)dict {
69
+ NSString *keyForAccountId = dict[@"keyForAccountId"];
70
+ NSString *keyForBaseUrl = dict[@"keyForBaseUrl"];
71
+ NSString *keyForSsl = dict[@"keyForSsl"];
72
+ NSString *keyForRemoteLogLevel = dict[@"keyForRemoteLogLevel"];
73
+ NSString *keyForOrgId = dict[@"keyForOrgId"];
74
+ NSString *keyForGamificationKey = dict[@"keyForGamificationKey"];
75
+ NSString *keyForGamificationRegion = dict[@"keyForGamificationRegion"];
76
+ NSString *keyForGamificationBaseUrl = dict[@"keyForGamificationBaseUrl"];
77
+
78
+ return [[HydraNativeFirebaseRemoteConfigKeys alloc] initWithKeyForAccountId:keyForAccountId keyForBaseUrl:keyForBaseUrl keyForSsl:keyForSsl keyForRemoteLogLevel:keyForRemoteLogLevel keyForOrgId:keyForOrgId keyForGamificationKey:keyForGamificationKey keyForGamificationRegion:keyForGamificationRegion keyForGamificationBaseUrl:keyForGamificationBaseUrl];
79
+ }
80
+ @end
@@ -0,0 +1,16 @@
1
+ //
2
+ // HydraInitializer.h
3
+ // react-native-hydra-lib
4
+ //
5
+ // Created by Sandesh Kumar Jain on 23/12/24.
6
+ //
7
+
8
+ #import <Foundation/Foundation.h>
9
+ #import "HydraNativeRemoteConfig.h"
10
+ #import "HydraNativeFirebaseRemoteConfigKeys.h"
11
+ @interface HydraNativeInitializer : NSObject
12
+ + (instancetype)sharedInstance;
13
+ - (void)initApplicationUsingFirebaseRemoteConfig:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;
14
+ - (void)initApplicationUsingFirebaseRemoteConfig:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions withKeys:(HydraNativeFirebaseRemoteConfigKeys *) firebaseRemoteConfigKeys;
15
+ - (void)initApplication:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions withHydraRemoteConfig:(HydraNativeRemoteConfig *)hydraRemoteConfig;
16
+ @end
@@ -0,0 +1,39 @@
1
+ //
2
+ // HydraInitializer.m
3
+ // react-native-hydra-lib
4
+ //
5
+ // Created by Sandesh Kumar Jain on 23/12/24.
6
+ //
7
+
8
+ #import "HydraNativeInitializer.h"
9
+ #import <React/RCTBridgeModule.h>
10
+ #import <UserNotifications/UserNotifications.h>
11
+
12
+ #if __has_include("react_native_hydra_lib-Swift.h")
13
+ #import "react_native_hydra_lib-Swift.h"
14
+ #elif __has_include(<react_native_hydra_lib/react_native_hydra_lib-Swift.h>)
15
+ #import <react_native_hydra_lib/react_native_hydra_lib-Swift.h>
16
+ #endif
17
+
18
+ @implementation HydraNativeInitializer
19
+ + (instancetype)sharedInstance {
20
+ static HydraNativeInitializer *shared = nil;
21
+ static dispatch_once_t onceToken;
22
+ dispatch_once(&onceToken, ^{
23
+ shared = [[self alloc] init];
24
+ });
25
+ return shared;
26
+ }
27
+ - (void)initApplicationUsingFirebaseRemoteConfig:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
28
+ [[HydraApplicationDelegate shared] initApplicationWithFirebaseRemoteConfig:application didFinishLaunchingWithOptions:launchOptions];
29
+
30
+ }
31
+ - (void)initApplication:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions withHydraRemoteConfig:(HydraNativeRemoteConfig *)hydraRemoteConfig {
32
+ [[HydraApplicationDelegate shared] initApplication:application didFinishLaunchingWithOptions:launchOptions hydraRemoteConfig:hydraRemoteConfig];
33
+ }
34
+
35
+ - (void)initApplicationUsingFirebaseRemoteConfig:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions withKeys:(HydraNativeFirebaseRemoteConfigKeys *) firebaseRemoteConfigKeys{
36
+ [[HydraApplicationDelegate shared] initApplicationWithFirebaseRemoteConfigKeys:application didFinishLaunchingWithOptions:launchOptions firebaseRemoteConfigKeys : firebaseRemoteConfigKeys];
37
+ }
38
+
39
+ @end
@@ -0,0 +1,24 @@
1
+ //
2
+ // HydraNativeMessaging.h
3
+ // react-native-hydra-lib
4
+ //
5
+ // Created by Sandesh Kumar Jain on 01/01/25.
6
+ //
7
+
8
+ #import <Foundation/Foundation.h>
9
+ #import "FirebaseMessaging/FirebaseMessaging.h"
10
+ #import <UserNotifications/UserNotifications.h>
11
+
12
+ NS_ASSUME_NONNULL_BEGIN
13
+
14
+ @interface HydraNativeMessaging : NSObject
15
+ + (instancetype)sharedInstance;
16
+ - (void)messaging:(FIRMessaging *)messaging didReceiveRegistrationToken:(NSString *)fcmToken;
17
+ - (void)userNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(UNNotificationPresentationOptions options))completionHandler;
18
+ - (void)userNotificationCenter:(UNUserNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:(void(^)(void))completionHandler;
19
+ - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler;
20
+ - (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error;
21
+ - (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken;
22
+ @end
23
+
24
+ NS_ASSUME_NONNULL_END
@@ -0,0 +1,53 @@
1
+ //
2
+ // HydraNativeMessaging.m
3
+ // react-native-hydra-lib
4
+ //
5
+ // Created by Sandesh Kumar Jain on 01/01/25.
6
+ //
7
+
8
+ #import "HydraNativeMessaging.h"
9
+ #import <React/RCTBridgeModule.h>
10
+ #import <UserNotifications/UserNotifications.h>
11
+
12
+ #if __has_include("react_native_hydra_lib-Swift.h")
13
+ #import "react_native_hydra_lib-Swift.h"
14
+ #elif __has_include(<react_native_hydra_lib/react_native_hydra_lib-Swift.h>)
15
+ #import <react_native_hydra_lib/react_native_hydra_lib-Swift.h>
16
+ #endif
17
+
18
+ @implementation HydraNativeMessaging
19
+
20
+ + (instancetype)sharedInstance {
21
+ static HydraNativeMessaging *shared = nil;
22
+ static dispatch_once_t onceToken;
23
+ dispatch_once(&onceToken, ^{
24
+ shared = [[self alloc] init];
25
+ });
26
+ return shared;
27
+ }
28
+
29
+ - (void)userNotificationCenter:(nonnull UNUserNotificationCenter *)center willPresentNotification:(nonnull UNNotification *)notification withCompletionHandler:(nonnull void (^)(UNNotificationPresentationOptions))completionHandler {
30
+ [[HydraPushNotification shared] userNotificationCenter:center willPresent:notification withCompletionHandler:completionHandler];
31
+ }
32
+
33
+ - (void)userNotificationCenter:(nonnull UNUserNotificationCenter *)center didReceiveNotificationResponse:(nonnull UNNotificationResponse *)response withCompletionHandler:(nonnull void (^)())completionHandler {
34
+ [[HydraPushNotification shared] userNotificationCenter:center didReceive:response withCompletionHandler:completionHandler];
35
+ }
36
+
37
+ - (void)messaging:(nonnull FIRMessaging *)messaging didReceiveRegistrationToken:(nonnull NSString *)fcmToken {
38
+ [[HydraPushNotification shared] messaging:messaging didReceiveRegistrationToken:fcmToken];
39
+ }
40
+
41
+ - (void)application:(nonnull UIApplication *)application didReceiveRemoteNotification:(nonnull NSDictionary *)userInfo fetchCompletionHandler:(nonnull void (^)(UIBackgroundFetchResult))completionHandler {
42
+ [[HydraPushNotification shared] application:application didReceiveRemoteNotification:userInfo fetchCompletionHandler:completionHandler];
43
+ }
44
+
45
+ - (void)application:(nonnull UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(nonnull NSError *)error {
46
+ [[HydraPushNotification shared] application:application didFailToRegisterForRemoteNotificationsWithError:error];
47
+ }
48
+
49
+ - (void)application:(nonnull UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(nonnull NSData *)deviceToken {
50
+ [[HydraPushNotification shared] application:application didRegisterForRemoteNotificationsWithDeviceToken:deviceToken];
51
+ }
52
+
53
+ @end
@@ -0,0 +1,27 @@
1
+ //
2
+ // HydraNativeRemoteConfig.h
3
+ // react-native-hydra-lib
4
+ //
5
+ // Created by Sandesh Kumar Jain on 26/02/25.
6
+ //
7
+
8
+ #import <Foundation/Foundation.h>
9
+
10
+ NS_ASSUME_NONNULL_BEGIN
11
+
12
+ @interface HydraNativeRemoteConfig : NSObject
13
+ @property (nonatomic, strong) NSString *accountId;
14
+ @property (nonatomic, strong) NSString *baseUrl;
15
+ @property (nonatomic, strong) NSString *sslPublicKey;
16
+ @property (nonatomic, assign) NSInteger remoteLogLevel;
17
+ @property (nonatomic, strong, nullable) NSString *orgId;
18
+ @property (nonatomic, strong, nullable) NSString *gamificationKey;
19
+ @property (nonatomic, strong, nullable) NSString *gamificationRegion;
20
+ @property (nonatomic, strong, nullable) NSString *gamificationBaseUrl;
21
+
22
+ -(nullable instancetype)initWithAccountId:(NSString *)accountId baseUrl:(NSString *)baseUrl sslPublicKey:(NSString *)sslPublicKey remoteLogLevel:(NSInteger)remoteLogLevel orgId:(nullable NSString *)orgId gamificationKey:(nullable NSString *)gamificationKey gamificationRegion:(nullable NSString *)gamificationRegion gamificationBaseUrl:(nullable NSString *)gamificationBaseUrl;
23
+ - (NSDictionary *)toDictionary;
24
+ + (nullable instancetype)fromDictionary:(NSDictionary *)dict;
25
+ @end
26
+
27
+ NS_ASSUME_NONNULL_END
@@ -0,0 +1,89 @@
1
+ //
2
+ // HydraNativeRemoteConfig.m
3
+ // react-native-hydra-lib
4
+ //
5
+ // Created by Sandesh Kumar Jain on 26/02/25.
6
+ //
7
+
8
+ #import "HydraNativeRemoteConfig.h"
9
+ #import <React/RCTBridgeModule.h>
10
+ #import <UserNotifications/UserNotifications.h>
11
+
12
+ #if __has_include("react_native_hydra_lib-Swift.h")
13
+ #import "react_native_hydra_lib-Swift.h"
14
+ #elif __has_include(<react_native_hydra_lib/react_native_hydra_lib-Swift.h>)
15
+ #import <react_native_hydra_lib/react_native_hydra_lib-Swift.h>
16
+ #endif
17
+
18
+ @implementation HydraNativeRemoteConfig
19
+
20
+ - (instancetype)initWithAccountId:(NSString *)accountId baseUrl:(NSString *)baseUrl sslPublicKey:(NSString *)sslPublicKey remoteLogLevel:(NSInteger)remoteLogLevel orgId:(nullable NSString *)orgId gamificationKey:(nullable NSString *)gamificationKey gamificationRegion:(nullable NSString *)gamificationRegion gamificationBaseUrl:(nullable NSString *)gamificationBaseUrl {
21
+ self = [super init];
22
+ if(accountId == nil || accountId.length == 0){
23
+ [[HydraSDKCore shared] logErrorWithErrorMsg:@"Account id is required"];
24
+ return nil;
25
+ } else if( baseUrl == nil || baseUrl.length == 0){
26
+ [[HydraSDKCore shared] logErrorWithErrorMsg:@"Base URL is required"];
27
+ return nil;
28
+ } else if(sslPublicKey == nil ){
29
+ [[HydraSDKCore shared] logErrorWithErrorMsg:@"SSL Public Key is required"];
30
+ return nil;
31
+ }
32
+ else {
33
+ if(self){
34
+ _accountId = accountId;
35
+ _baseUrl = baseUrl;
36
+ _sslPublicKey = sslPublicKey;
37
+ _remoteLogLevel = remoteLogLevel;
38
+ _orgId = orgId;
39
+ _gamificationKey = gamificationKey;
40
+ _gamificationRegion = gamificationRegion;
41
+ _gamificationBaseUrl = gamificationBaseUrl;
42
+ }
43
+ return self;
44
+ }
45
+ }
46
+
47
+ - (NSDictionary *)toDictionary {
48
+ NSMutableDictionary *dict = [@{
49
+ @"accountId": self.accountId ?: @"",
50
+ @"baseUrl": self.baseUrl ?: @"",
51
+ @"sslPublicKey": self.sslPublicKey ?: @"",
52
+ @"remoteLogLevel": @(self.remoteLogLevel)
53
+ } mutableCopy];
54
+ if (self.orgId != nil) {
55
+ dict[@"orgId"] = self.orgId;
56
+ }
57
+ if (self.gamificationKey != nil) {
58
+ dict[@"gamificationKey"] = self.gamificationKey;
59
+ }
60
+ if (self.gamificationRegion != nil) {
61
+ dict[@"gamificationRegion"] = self.gamificationRegion;
62
+ }
63
+ if (self.gamificationBaseUrl != nil) {
64
+ dict[@"gamificationBaseUrl"] = self.gamificationBaseUrl;
65
+ }
66
+ return [dict copy];
67
+ }
68
+
69
+ + (instancetype)fromDictionary:(NSDictionary *)dict {
70
+ NSString *accountId = dict[@"accountId"];
71
+ NSString *baseUrl = dict[@"baseUrl"];
72
+ NSString *sslPublicKey = dict[@"sslPublicKey"];
73
+ NSNumber *remoteLogLevel = dict[@"remoteLogLevel"];
74
+ NSString *orgId = dict[@"orgId"];
75
+ NSString *gamificationKey = dict[@"gamificationKey"];
76
+ NSString *gamificationRegion = dict[@"gamificationRegion"];
77
+ NSString *gamificationBaseUrl = dict[@"gamificationBaseUrl"];
78
+
79
+ return [[HydraNativeRemoteConfig alloc] initWithAccountId:accountId
80
+ baseUrl:baseUrl
81
+ sslPublicKey:sslPublicKey
82
+ remoteLogLevel:remoteLogLevel.integerValue
83
+ orgId:orgId
84
+ gamificationKey:gamificationKey
85
+ gamificationRegion:gamificationRegion
86
+ gamificationBaseUrl:gamificationBaseUrl];
87
+ }
88
+
89
+ @end