clevertap-react-native 3.1.1 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (215) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/README.md +2 -2
  3. package/android/.gradle/8.5/checksums/checksums.lock +0 -0
  4. package/android/.gradle/8.5/dependencies-accessors/dependencies-accessors.lock +0 -0
  5. package/android/.gradle/8.5/dependencies-accessors/gc.properties +0 -0
  6. package/android/.gradle/8.5/fileChanges/last-build.bin +0 -0
  7. package/android/.gradle/8.5/fileHashes/fileHashes.lock +0 -0
  8. package/android/.gradle/8.5/gc.properties +0 -0
  9. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  10. package/android/.gradle/buildOutputCleanup/cache.properties +2 -0
  11. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  12. package/android/.gradle/checksums/checksums.lock +0 -0
  13. package/android/.gradle/checksums/md5-checksums.bin +0 -0
  14. package/android/.gradle/checksums/sha1-checksums.bin +0 -0
  15. package/android/.gradle/config.properties +2 -0
  16. package/android/.gradle/file-system.probe +0 -0
  17. package/android/.gradle/vcs-1/gc.properties +0 -0
  18. package/android/.settings/org.eclipse.buildship.core.prefs +2 -0
  19. package/android/build/generated/source/buildConfig/debug/com/clevertap/react/BuildConfig.java +12 -0
  20. package/android/build/generated/source/codegen/java/com/clevertap/react/NativeCleverTapModuleSpec.java +556 -0
  21. package/android/build/generated/source/codegen/jni/CMakeLists.txt +49 -0
  22. package/android/build/generated/source/codegen/jni/CTTurboModuleSpec-generated.cpp +722 -0
  23. package/android/build/generated/source/codegen/jni/CTTurboModuleSpec.h +31 -0
  24. package/android/build/generated/source/codegen/jni/react/renderer/components/CTTurboModuleSpec/CTTurboModuleSpecJSI-generated.cpp +975 -0
  25. package/android/build/generated/source/codegen/jni/react/renderer/components/CTTurboModuleSpec/CTTurboModuleSpecJSI.h +1098 -0
  26. package/android/build/generated/source/codegen/jni/react/renderer/components/CTTurboModuleSpec/ComponentDescriptors.cpp +22 -0
  27. package/android/build/generated/source/codegen/jni/react/renderer/components/CTTurboModuleSpec/ComponentDescriptors.h +24 -0
  28. package/android/build/generated/source/codegen/jni/react/renderer/components/CTTurboModuleSpec/EventEmitters.cpp +16 -0
  29. package/android/build/generated/source/codegen/jni/react/renderer/components/CTTurboModuleSpec/EventEmitters.h +17 -0
  30. package/android/build/generated/source/codegen/jni/react/renderer/components/CTTurboModuleSpec/Props.cpp +19 -0
  31. package/android/build/generated/source/codegen/jni/react/renderer/components/CTTurboModuleSpec/Props.h +18 -0
  32. package/android/build/generated/source/codegen/jni/react/renderer/components/CTTurboModuleSpec/ShadowNodes.cpp +17 -0
  33. package/android/build/generated/source/codegen/jni/react/renderer/components/CTTurboModuleSpec/ShadowNodes.h +23 -0
  34. package/android/build/generated/source/codegen/jni/react/renderer/components/CTTurboModuleSpec/States.cpp +16 -0
  35. package/android/build/generated/source/codegen/jni/react/renderer/components/CTTurboModuleSpec/States.h +21 -0
  36. package/android/build/generated/source/codegen/schema.json +3412 -0
  37. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/AndroidManifest.xml +13 -0
  38. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/output-metadata.json +18 -0
  39. package/android/build/intermediates/aar_metadata/debug/aar-metadata.properties +6 -0
  40. package/android/build/intermediates/annotation_processor_list/debug/annotationProcessors.json +1 -0
  41. package/android/build/intermediates/compile_library_classes_jar/debug/classes.jar +0 -0
  42. package/android/build/intermediates/compile_r_class_jar/debug/R.jar +0 -0
  43. package/android/build/intermediates/compile_symbol_list/debug/R.txt +5736 -0
  44. package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +1 -0
  45. package/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +2 -0
  46. package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +2 -0
  47. package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +2 -0
  48. package/android/build/intermediates/incremental/packageDebugAssets/merger.xml +2 -0
  49. package/android/build/intermediates/java_res/debug/out/META-INF/clevertap-react-native_debug.kotlin_module +0 -0
  50. package/android/build/intermediates/javac/debug/classes/com/clevertap/react/BuildConfig.class +0 -0
  51. package/android/build/intermediates/javac/debug/classes/com/clevertap/react/CleverTapModuleImpl$1.class +0 -0
  52. package/android/build/intermediates/javac/debug/classes/com/clevertap/react/CleverTapModuleImpl$10.class +0 -0
  53. package/android/build/intermediates/javac/debug/classes/com/clevertap/react/CleverTapModuleImpl$2.class +0 -0
  54. package/android/build/intermediates/javac/debug/classes/com/clevertap/react/CleverTapModuleImpl$3.class +0 -0
  55. package/android/build/intermediates/javac/debug/classes/com/clevertap/react/CleverTapModuleImpl$4.class +0 -0
  56. package/android/build/intermediates/javac/debug/classes/com/clevertap/react/CleverTapModuleImpl$5.class +0 -0
  57. package/android/build/intermediates/javac/debug/classes/com/clevertap/react/CleverTapModuleImpl$6.class +0 -0
  58. package/android/build/intermediates/javac/debug/classes/com/clevertap/react/CleverTapModuleImpl$7.class +0 -0
  59. package/android/build/intermediates/javac/debug/classes/com/clevertap/react/CleverTapModuleImpl$8.class +0 -0
  60. package/android/build/intermediates/javac/debug/classes/com/clevertap/react/CleverTapModuleImpl$9.class +0 -0
  61. package/android/build/intermediates/javac/debug/classes/com/clevertap/react/CleverTapModuleImpl$InBoxMessages.class +0 -0
  62. package/android/build/intermediates/javac/debug/classes/com/clevertap/react/CleverTapModuleImpl$TemplateContextAction.class +0 -0
  63. package/android/build/intermediates/javac/debug/classes/com/clevertap/react/CleverTapModuleImpl.class +0 -0
  64. package/android/build/intermediates/javac/debug/classes/com/clevertap/react/CleverTapUtils$1.class +0 -0
  65. package/android/build/intermediates/javac/debug/classes/com/clevertap/react/CleverTapUtils$MapUtil$ArrayUtil.class +0 -0
  66. package/android/build/intermediates/javac/debug/classes/com/clevertap/react/CleverTapUtils$MapUtil.class +0 -0
  67. package/android/build/intermediates/javac/debug/classes/com/clevertap/react/CleverTapUtils.class +0 -0
  68. package/android/build/intermediates/javac/debug/classes/com/clevertap/react/NativeCleverTapModuleSpec.class +0 -0
  69. package/android/build/intermediates/local_only_symbol_list/debug/R-def.txt +2 -0
  70. package/android/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt +14 -0
  71. package/android/build/intermediates/merged_manifest/debug/AndroidManifest.xml +13 -0
  72. package/android/build/intermediates/navigation_json/debug/navigation.json +1 -0
  73. package/android/build/intermediates/runtime_library_classes_jar/debug/classes.jar +0 -0
  74. package/android/build/intermediates/symbol_list_with_package_name/debug/package-aware-r.txt +4017 -0
  75. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +0 -0
  76. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream +0 -0
  77. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len +0 -0
  78. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len +0 -0
  79. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
  80. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i +0 -0
  81. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len +0 -0
  82. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab +0 -0
  83. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream +0 -0
  84. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len +0 -0
  85. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len +0 -0
  86. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +0 -0
  87. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i +0 -0
  88. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len +0 -0
  89. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +0 -0
  90. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream +0 -0
  91. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len +0 -0
  92. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len +0 -0
  93. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +0 -0
  94. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i +0 -0
  95. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len +0 -0
  96. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab +0 -0
  97. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream +0 -0
  98. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream.len +0 -0
  99. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.len +0 -0
  100. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.values.at +0 -0
  101. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i +0 -0
  102. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i.len +0 -0
  103. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab +0 -0
  104. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream +0 -0
  105. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len +0 -0
  106. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len +0 -0
  107. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +0 -0
  108. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i +0 -0
  109. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len +0 -0
  110. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/java-sources-proto-map.tab +0 -0
  111. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/java-sources-proto-map.tab.keystream +0 -0
  112. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/java-sources-proto-map.tab.keystream.len +0 -0
  113. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/java-sources-proto-map.tab.len +0 -0
  114. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/java-sources-proto-map.tab.values.at +0 -0
  115. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/java-sources-proto-map.tab_i +0 -0
  116. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/java-sources-proto-map.tab_i.len +0 -0
  117. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab +0 -0
  118. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream +0 -0
  119. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len +0 -0
  120. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len +0 -0
  121. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at +0 -0
  122. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i +0 -0
  123. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len +0 -0
  124. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab +0 -0
  125. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream +0 -0
  126. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len +0 -0
  127. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len +0 -0
  128. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +0 -0
  129. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i +0 -0
  130. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len +0 -0
  131. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab +0 -0
  132. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream +0 -0
  133. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len +0 -0
  134. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len +0 -0
  135. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at +0 -0
  136. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i +0 -0
  137. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len +0 -0
  138. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab +0 -0
  139. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream +0 -0
  140. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len +0 -0
  141. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len +0 -0
  142. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at +0 -0
  143. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i +0 -0
  144. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len +0 -0
  145. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab +2 -0
  146. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab +0 -0
  147. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream +0 -0
  148. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len +0 -0
  149. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len +0 -0
  150. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at +0 -0
  151. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i +0 -0
  152. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len +0 -0
  153. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab +0 -0
  154. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream +0 -0
  155. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len +0 -0
  156. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len +0 -0
  157. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at +0 -0
  158. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i +0 -0
  159. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len +0 -0
  160. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab +0 -0
  161. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream +0 -0
  162. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len +0 -0
  163. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len +0 -0
  164. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at +0 -0
  165. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i +0 -0
  166. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len +0 -0
  167. package/android/build/kotlin/compileDebugKotlin/cacheable/last-build.bin +0 -0
  168. package/android/build/kotlin/compileDebugKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin +0 -0
  169. package/android/build/kotlin/compileDebugKotlin/local-state/build-history.bin +0 -0
  170. package/android/build/outputs/logs/manifest-merger-debug-report.txt +17 -0
  171. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/CleverTapModuleImpl$1.class.uniqueId6 +0 -0
  172. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/CleverTapModuleImpl$10.class.uniqueId3 +0 -0
  173. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/CleverTapModuleImpl$2.class.uniqueId2 +0 -0
  174. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/CleverTapModuleImpl$3.class.uniqueId11 +0 -0
  175. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/CleverTapModuleImpl$4.class.uniqueId4 +0 -0
  176. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/CleverTapModuleImpl$5.class.uniqueId5 +0 -0
  177. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/CleverTapModuleImpl$6.class.uniqueId8 +0 -0
  178. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/CleverTapModuleImpl$7.class.uniqueId7 +0 -0
  179. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/CleverTapModuleImpl$8.class.uniqueId9 +0 -0
  180. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/CleverTapModuleImpl$9.class.uniqueId0 +0 -0
  181. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/CleverTapModuleImpl$InBoxMessages.class.uniqueId10 +0 -0
  182. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/CleverTapModuleImpl$TemplateContextAction.class.uniqueId1 +0 -0
  183. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/CleverTapModuleImpl.class.uniqueId12 +0 -0
  184. package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
  185. package/android/build/tmp/kotlin-classes/debug/META-INF/clevertap-react-native_debug.kotlin_module +0 -0
  186. package/android/build/tmp/kotlin-classes/debug/com/clevertap/react/CleverTapApplication.class +0 -0
  187. package/android/build/tmp/kotlin-classes/debug/com/clevertap/react/CleverTapCustomTemplates$templatePresenter$1.class +0 -0
  188. package/android/build/tmp/kotlin-classes/debug/com/clevertap/react/CleverTapCustomTemplates.class +0 -0
  189. package/android/build/tmp/kotlin-classes/debug/com/clevertap/react/CleverTapEvent$Companion.class +0 -0
  190. package/android/build/tmp/kotlin-classes/debug/com/clevertap/react/CleverTapEvent.class +0 -0
  191. package/android/build/tmp/kotlin-classes/debug/com/clevertap/react/CleverTapEventEmitter$Buffer$items$2.class +0 -0
  192. package/android/build/tmp/kotlin-classes/debug/com/clevertap/react/CleverTapEventEmitter$Buffer.class +0 -0
  193. package/android/build/tmp/kotlin-classes/debug/com/clevertap/react/CleverTapEventEmitter.class +0 -0
  194. package/android/build/tmp/kotlin-classes/debug/com/clevertap/react/CleverTapListenerProxy.class +0 -0
  195. package/android/build/tmp/kotlin-classes/debug/com/clevertap/react/CleverTapModule$Companion.class +0 -0
  196. package/android/build/tmp/kotlin-classes/debug/com/clevertap/react/CleverTapModule.class +0 -0
  197. package/android/build/tmp/kotlin-classes/debug/com/clevertap/react/CleverTapPackage.class +0 -0
  198. package/android/build/tmp/kotlin-classes/debug/com/clevertap/react/CleverTapRnAPI.class +0 -0
  199. package/android/build/tmp/kotlin-classes/debug/com/clevertap/react/Constants.class +0 -0
  200. package/android/build/tmp/kotlin-classes/debug/com/clevertap/react/ErrorMessages.class +0 -0
  201. package/android/build.gradle +7 -7
  202. package/android/local.properties +8 -0
  203. package/android/src/main/java/com/clevertap/react/CleverTapEventEmitter.kt +5 -3
  204. package/android/src/main/java/com/clevertap/react/CleverTapModuleImpl.java +104 -0
  205. package/android/src/newarch/CleverTapModule.kt +21 -0
  206. package/android/src/oldarch/CleverTapModule.kt +25 -0
  207. package/clevertap-react-native.podspec +1 -1
  208. package/docs/install.md +30 -38
  209. package/docs/integration.md +4 -4
  210. package/docs/usage.md +3 -3
  211. package/ios/CleverTapReact/CleverTapReact.mm +60 -0
  212. package/package.json +1 -1
  213. package/src/NativeCleverTapModule.ts +11 -0
  214. package/src/index.d.ts +49 -2
  215. package/src/index.js +49 -1
@@ -675,6 +675,31 @@ class CleverTapModule(reactContext: ReactApplicationContext?) :
675
675
  cleverTapModuleImpl.onEventListenerAdded(eventName)
676
676
  }
677
677
 
678
+ @ReactMethod
679
+ fun getUserEventLog(eventName: String, callback: Callback) {
680
+ cleverTapModuleImpl.getUserEventLog(eventName, callback)
681
+ }
682
+
683
+ @ReactMethod
684
+ fun getUserEventLogCount(eventName: String, callback: Callback) {
685
+ cleverTapModuleImpl.getUserEventLogCount(eventName, callback)
686
+ }
687
+
688
+ @ReactMethod
689
+ fun getUserLastVisitTs(callback: Callback) {
690
+ cleverTapModuleImpl.getUserLastVisitTs(callback)
691
+ }
692
+
693
+ @ReactMethod
694
+ fun getUserAppLaunchCount(callback: Callback) {
695
+ cleverTapModuleImpl.getUserAppLaunchCount(callback)
696
+ }
697
+
698
+ @ReactMethod
699
+ fun getUserEventLogHistory(callback: Callback) {
700
+ cleverTapModuleImpl.getUserEventLogHistory(callback)
701
+ }
702
+
678
703
  override fun getConstants(): Map<String, Any> {
679
704
  return cleverTapModuleImpl.getClevertapConstants()
680
705
  }
@@ -24,7 +24,7 @@ Pod::Spec.new do |s|
24
24
  s.dependency 'React-Core'
25
25
  end
26
26
 
27
- s.dependency 'CleverTap-iOS-SDK', '7.0.2'
27
+ s.dependency 'CleverTap-iOS-SDK', '7.1.0'
28
28
 
29
29
  if ENV['RCT_NEW_ARCH_ENABLED'] == '1' then
30
30
  s.pod_target_xcconfig = {
package/docs/install.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  Link CleverTap for React Native 0.59 or below & Not Using Cocoapods
6
6
 
7
- 2. `react-native link clevertap-react-native` **or** [follow the manual linking instructions below](#manual-linking).
7
+ 2. `react-native link clevertap-react-native` **or** [follow the manual linking instructions below](install.md#manual-linking).
8
8
 
9
9
  **Note:**
10
10
 
@@ -107,43 +107,7 @@ Clevertap ReactNative SDK supports `AndroidX Media3` from `v3.0.0+` to replace t
107
107
  | `com.google.android.exoplayer:exoplayer-ui:2.19.1` | `androidx.media3:media3-ui:1.1.1` |
108
108
 
109
109
 
110
- ### Troubleshooting
111
-
112
- If you face the following crash at runtime -
113
-
114
- ```java.lang.UnsatisfiedLinkError: couldn't find DSO to load: libhermes.so```
115
-
116
- Add the following in your app/build.gradle -
117
-
118
- ```
119
- project.ext.react = [
120
- entryFile: "index.js",
121
- enableHermes: false //add this
122
- ]
123
- def jscFlavor = 'org.webkit:android-jsc:+'
124
- def enableHermes = project.ext.react.get("enableHermes", false);
125
- def jscFlavor = 'org.webkit:android-jsc:+'
126
- def enableHermes = project.ext.react.get("enableHermes", false);
127
- dependencies {
128
- if (enableHermes) {
129
- // For RN 0.60.x
130
- def hermesPath = "../../node_modules/hermesvm/android/"
131
- debugImplementation files(hermesPath + "hermes-debug.aar")
132
- releaseImplementation files(hermesPath + "hermes-release.aar")
133
- } else {
134
- implementation jscFlavor
135
- }
136
- }
137
- ```
138
- In android/build.gradle add this -
139
-
140
- ```
141
- maven {
142
- url "$rootDir/../node_modules/jsc-android/dist"
143
- }
144
- ```
145
-
146
- ## Manual Linking ##
110
+ ## Manual Linking
147
111
 
148
112
  #### iOS:
149
113
  - Drag and Drop node_modules/clevertap-react-native/ios/CleverTapReact.xcodeproj into the Libraries folder of your project in XCode ([see Step 1 here](http://facebook.github.io/react-native/docs/linking-libraries-ios.html#manual-linking)).
@@ -167,4 +131,32 @@ dependencies {
167
131
  }
168
132
  ```
169
133
 
134
+ ### Troubleshooting
135
+ #### Upgrading to clevertap-react-native v3.3.0
136
+
137
+ To use `clevertap-react-native v3.3.0`, it is recommended to upgrade to **React Native v0.74+**.
138
+
139
+ If you insist on using an older version of React Native, consider the following possible resolutions for common issues:
140
+
141
+ ##### For ReactNative v0.73
142
+ **Error:** `Compiled with an incompatible version of Kotlin`
143
+
144
+ **Resolution:** Force the Kotlin version in your root `build.gradle`:
145
+ ```gradle
146
+ dependencies {
147
+ ....
148
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:2.0.0"
149
+
150
+ // NOTE: Do not place your application dependencies here; they belong
151
+ // in the individual module build.gradle files
152
+ }
153
+ ```
154
+
155
+ ##### For ReactNative v0.71 or v0.72
156
+ **Error:** `java.lang.NullPointerException: Cannot invoke "String.length()" because "<parameter1>" is null`
157
+
158
+ **Reference:** https://issuetracker.google.com/issues/342522142
159
+
160
+ **Resolution:** Either upgrade to `AGP 8.0.0+` or use a specific version of D8/R8 compiler as recommended in [this comment](https://issuetracker.google.com/issues/342522142#comment8)
161
+
170
162
  Now move on to [integrating the SDK](./integration.md).
@@ -8,7 +8,7 @@ Clevertap supports the [ReactNative New Architecture](https://reactnative.dev/do
8
8
 
9
9
 
10
10
  ### iOS
11
- 1. Follow the integration instructions [starting with Step 2 here](https://support.clevertap.com/docs/ios/getting-started.html).
11
+ 1. Follow the integration instructions [here](https://developer.clevertap.com/docs/react-native-quick-start-guide#ios-integration).
12
12
  2. In your `AppDelegate didFinishLaunchingWithOptions:` notify the CleverTap React SDK of application launch:
13
13
  ```objc
14
14
  [CleverTap autoIntegrate]; // integrate CleverTap SDK using the autoIntegrate option
@@ -22,10 +22,10 @@ NOTE: Don't forget to add the CleverTap imports at the top of the file.
22
22
 
23
23
  Note: Need to use **@import CleverTapSDK;** instead of **#import <CleverTap-iOS-SDK/CleverTap.h>** and **@import CleverTapReact;** instead of **#import <clevertap-react-native/CleverTapReactManager.h>** in the AppDelegate class in case if using ```use_modular_headers!``` in the podfile.
24
24
 
25
- [See the Example Project](/Example/ios/Example/AppDelegate.m).
25
+ [See the Example Project](/Example/ios/Example/AppDelegate.mm).
26
26
 
27
27
  ### Android
28
- 1. Follow the integration instructions [starting with Step 2 here](https://support.clevertap.com/docs/android/getting-started.html).
28
+ 1. Follow the integration instructions [here](https://developer.clevertap.com/docs/react-native-quick-start-guide#android-integration).
29
29
 
30
30
  2. Add CleverTapPackage to the packages list in MainApplication.java (`android/app/src/[...]/MainApplication.java`)
31
31
  ```java
@@ -118,5 +118,5 @@ Note: Need to use **@import CleverTapSDK;** instead of **#import <CleverTap-iOS-
118
118
  }
119
119
  ```
120
120
 
121
- [See the Example Project](/Example/App.js)
121
+ [See the Example Project](/Example/app/App.js)
122
122
 
package/docs/usage.md CHANGED
@@ -500,6 +500,6 @@ CleverTap.resumeInAppNotifications();
500
500
 
501
501
 
502
502
  ### For more information,
503
- - [See included Example Application](/Example/App.js)
504
- - [See CleverTap JS interface](/index.js)
505
- - [See CleverTap TS interface](/index.d.ts)
503
+ - [See included Example Application](/Example/app/App.js)
504
+ - [See CleverTap JS interface](/src/index.js)
505
+ - [See CleverTap TS interface](/src/index.d.ts)
@@ -264,6 +264,43 @@ RCT_EXPORT_METHOD(getEventHistory:(RCTResponseSenderBlock)callback) {
264
264
  [self returnResult:result withCallback:callback andError:nil];
265
265
  }
266
266
 
267
+ RCT_EXPORT_METHOD(getUserEventLog:(NSString*)eventName callback:(RCTResponseSenderBlock)callback) {
268
+ RCTLogInfo(@"[CleverTap getUserEventLog: %@]", eventName);
269
+ dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
270
+ CleverTapEventDetail *detail = [[self cleverTapInstance] getUserEventLog:eventName];
271
+ NSDictionary *result = [self _eventDetailToDict:detail];
272
+ dispatch_async(dispatch_get_main_queue(), ^{
273
+ [self returnResult:result withCallback:callback andError:nil];
274
+ });
275
+ });
276
+ }
277
+
278
+ RCT_EXPORT_METHOD(getUserEventLogCount:(NSString*)eventName callback:(RCTResponseSenderBlock)callback) {
279
+ RCTLogInfo(@"[CleverTap getUserEventLogCount: %@]", eventName);
280
+ dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
281
+ int result = [[self cleverTapInstance] getUserEventLogCount:eventName];
282
+ dispatch_async(dispatch_get_main_queue(), ^{
283
+ [self returnResult:@(result) withCallback:callback andError:nil];
284
+ });
285
+ });
286
+ }
287
+
288
+ RCT_EXPORT_METHOD(getUserEventLogHistory:(RCTResponseSenderBlock)callback) {
289
+ RCTLogInfo(@"[CleverTap getUserEventLogHistory]");
290
+ dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
291
+ NSDictionary *history = [[self cleverTapInstance] getUserEventLogHistory];
292
+ NSMutableDictionary *result = [NSMutableDictionary new];
293
+
294
+ for (NSString *eventName in [history keyEnumerator]) {
295
+ CleverTapEventDetail *detail = history[eventName];
296
+ NSDictionary * _inner = [self _eventDetailToDict:detail];
297
+ result[eventName] = _inner;
298
+ }
299
+ dispatch_async(dispatch_get_main_queue(), ^{
300
+ [self returnResult:result withCallback:callback andError:nil];
301
+ });
302
+ });
303
+ }
267
304
 
268
305
  #pragma mark - Profile API
269
306
 
@@ -387,6 +424,21 @@ RCT_EXPORT_METHOD(sessionGetUTMDetails:(RCTResponseSenderBlock)callback) {
387
424
  [self returnResult:result withCallback:callback andError:nil];
388
425
  }
389
426
 
427
+ RCT_EXPORT_METHOD(getUserLastVisitTs:(RCTResponseSenderBlock)callback) {
428
+ RCTLogInfo(@"[CleverTap getUserLastVisitTs]");
429
+ NSTimeInterval result = [[self cleverTapInstance] getUserLastVisitTs];
430
+ [self returnResult:@(result) withCallback:callback andError:nil];
431
+ }
432
+
433
+ RCT_EXPORT_METHOD(getUserAppLaunchCount:(RCTResponseSenderBlock)callback) {
434
+ RCTLogInfo(@"[CleverTap getUserAppLaunchCount]");
435
+ dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
436
+ int result = [[self cleverTapInstance] getUserAppLaunchCount];
437
+ dispatch_async(dispatch_get_main_queue(), ^{
438
+ [self returnResult:@(result) withCallback:callback andError:nil];
439
+ });
440
+ });
441
+ }
390
442
 
391
443
  #pragma mark - no-op Android O methods
392
444
 
@@ -451,6 +503,10 @@ RCT_EXPORT_METHOD(setDebugLevel:(double)level) {
451
503
  [_dict setObject:detail.eventName forKey:@"eventName"];
452
504
  }
453
505
 
506
+ if(detail.normalizedEventName){
507
+ [_dict setObject:detail.normalizedEventName forKey:@"normalizedEventName"];
508
+ }
509
+
454
510
  if(detail.firstTime){
455
511
  [_dict setObject:@(detail.firstTime) forKey:@"firstTime"];
456
512
  }
@@ -462,6 +518,10 @@ RCT_EXPORT_METHOD(setDebugLevel:(double)level) {
462
518
  if(detail.count){
463
519
  [_dict setObject:@(detail.count) forKey:@"count"];
464
520
  }
521
+
522
+ if(detail.deviceID){
523
+ [_dict setObject:detail.deviceID forKey:@"deviceID"];
524
+ }
465
525
  }
466
526
 
467
527
  return _dict;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clevertap-react-native",
3
- "version": "3.1.1",
3
+ "version": "3.3.0",
4
4
  "description": "CleverTap React Native SDK.",
5
5
  "main": "src/index.js",
6
6
  "types": "src/index.d.ts",
@@ -70,7 +70,16 @@ export interface Spec extends TurboModule {
70
70
  eventName: string,
71
71
  callback: ((error: Object, result: boolean) => void) | null
72
72
  ): void;
73
+ getUserEventLog(
74
+ eventName: string,
75
+ callback: ((error: Object, result: boolean) => void) | null
76
+ ): void;
77
+ getUserEventLogCount(
78
+ eventName: string,
79
+ callback: ((error: Object, result: boolean) => void) | null
80
+ ): void;
73
81
  getEventHistory(callback: ((error: Object, result: boolean) => void) | null): void;
82
+ getUserEventLogHistory(callback: ((error: Object, result: boolean) => void) | null): void;
74
83
  setLocation(location: number, longitude: number): void;
75
84
  profileGetCleverTapAttributionIdentifier(callback: ((error: Object, result: boolean) => void) | null): void;
76
85
  profileGetCleverTapID(callback: ((error: Object, result: boolean) => void) | null): void;
@@ -104,6 +113,8 @@ export interface Spec extends TurboModule {
104
113
  sessionGetScreenCount(callback: ((error: Object, result: boolean) => void) | null): void;
105
114
  sessionGetPreviousVisitTime(callback: ((error: Object, result: boolean) => void) | null): void;
106
115
  sessionGetUTMDetails(callback: ((error: Object, result: boolean) => void) | null): void;
116
+ getUserLastVisitTs(callback: ((error: Object, result: boolean) => void) | null): void;
117
+ getUserAppLaunchCount(callback: ((error: Object, result: boolean) => void) | null): void;
107
118
  createNotificationChannel(
108
119
  channelId: string,
109
120
  withChannelName: string,
package/src/index.d.ts CHANGED
@@ -224,6 +224,8 @@ export function isPushPermissionGranted(callback: CallbackString): void;
224
224
  ): void;
225
225
 
226
226
  /**
227
+ * @deprecated
228
+ * Since version 3.2.0. Use `getUserEventLog()` instead.
227
229
  * Get Event First Time
228
230
  * @param eventName {string}
229
231
  * callback returns epoch seconds or -1
@@ -231,6 +233,8 @@ export function isPushPermissionGranted(callback: CallbackString): void;
231
233
  export function eventGetFirstTime(eventName: string, callback: Callback): void;
232
234
 
233
235
  /**
236
+ * @deprecated
237
+ * Since version 3.2.0. Use `getUserEventLog()` instead.
234
238
  * Get Event Last Time
235
239
  * @param eventName {string}
236
240
  * callback returns epoch seconds or -1
@@ -238,6 +242,8 @@ export function isPushPermissionGranted(callback: CallbackString): void;
238
242
  export function eventGetLastTime(eventName: string, callback: Callback): void;
239
243
 
240
244
  /**
245
+ * @deprecated
246
+ * Since version 3.2.0. Use `getUserEventLogCount()` instead.
241
247
  * Get Event Number of Occurrences
242
248
  * @param eventName {string}
243
249
  * calls back with int or -1
@@ -245,6 +251,9 @@ export function isPushPermissionGranted(callback: CallbackString): void;
245
251
  export function eventGetOccurrences(eventName: string, callback: Callback): void;
246
252
 
247
253
  /**
254
+ * @deprecated
255
+ * Since version 3.2.0. Use `getUserEventLog()` instead.
256
+ *
248
257
  * Get Event Details
249
258
  * @param eventName {string}
250
259
  * calls back with object {"eventName": <string>, "firstTime":<epoch seconds>, "lastTime": <epoch seconds>, "count": <int>} or empty object
@@ -252,10 +261,32 @@ export function isPushPermissionGranted(callback: CallbackString): void;
252
261
  export function eventGetDetail(eventName: string, callback: Callback): void;
253
262
 
254
263
  /**
264
+ * @deprecated
265
+ * Since version 3.2.0. Use `getUserEventLogHistory()` instead.
255
266
  * Get Event History
256
267
  * calls back with object {"eventName1":<event1 details object>, "eventName2":<event2 details object>}
257
268
  */
258
269
  export function getEventHistory(callback: Callback): void;
270
+ /**
271
+ *
272
+ * Get Event Details
273
+ * @param eventName {string}
274
+ * calls back with object {"eventName": <string>, "firstTime":<epoch seconds>, "lastTime": <epoch seconds>, "count": <int>, "deviceID": <string>, "normalizedEventName": <string>} or empty object
275
+ */
276
+ export function getUserEventLog(eventName: string, callback: Callback): void;
277
+
278
+ /**
279
+ * Get count of times an event occured
280
+ * @param eventName {string}
281
+ * calls back with int or -1
282
+ */
283
+ export function getUserEventLogCount(eventName: string, callback: Callback): void;
284
+
285
+ /**
286
+ * Get Event History
287
+ * calls back with object {"eventName1":<event1 details object>, "eventName2":<event2 details object>}
288
+ */
289
+ export function getUserEventLogHistory(callback: Callback): void;
259
290
 
260
291
  /**
261
292
  * Set location
@@ -395,11 +426,25 @@ export function isPushPermissionGranted(callback: CallbackString): void;
395
426
  export function sessionGetTimeElapsed(callback: Callback): void;
396
427
 
397
428
  /**
398
- * Get Session Total Visits
429
+ * Get timestamp of user's last app visit
430
+ * calls back with epoch seconds or -1
431
+ */
432
+ export function getUserLastVisitTs(callback: Callback): void;
433
+
434
+ /**
435
+ * Get total number of times user has lanched the app
399
436
  * calls back with int or -1
400
437
  */
401
- export function sessionGetTotalVisits(callback: Callback): void;
438
+ export function getUserAppLaunchCount(callback: Callback): void;
402
439
 
440
+ /**
441
+ * @deprecated
442
+ * Since version 3.2.0. Use `getUserAppLaunchCount()` instead.
443
+ * Get Session Total Visits
444
+ * calls back with int or -1
445
+ */
446
+ export function sessionGetTotalVisits(callback: Callback): void;
447
+
403
448
  /**
404
449
  * Get Session Screen Count
405
450
  * calls back with with int
@@ -407,6 +452,8 @@ export function isPushPermissionGranted(callback: CallbackString): void;
407
452
  export function sessionGetScreenCount(callback: Callback): void;
408
453
 
409
454
  /**
455
+ * @deprecated
456
+ * Since version 3.2.0. Use `getUserLastVisits()` instead.
410
457
  * Get Session Previous Visit Time
411
458
  * calls back with epoch seconds or -1
412
459
  */
package/src/index.js CHANGED
@@ -12,7 +12,7 @@ const EventEmitter = Platform.select({
12
12
  * @param {int} libVersion - The updated library version. If current version is 1.1.0 then pass as 10100
13
13
  */
14
14
  const libName = 'React-Native';
15
- const libVersion = 30101;
15
+ const libVersion = 30300;
16
16
  CleverTapReact.setLibrary(libName,libVersion);
17
17
 
18
18
  function defaultCallback(method, err, res) {
@@ -338,6 +338,7 @@ var CleverTap = {
338
338
 
339
339
  /**
340
340
  * Get the time of the first occurrence of an event
341
+ * @deprecated - Since version 3.2.0. Use getUserEventLog() instead
341
342
  * @param {string} eventName - the name of the event
342
343
  * @param {function(err, res)} callback that returns a res of epoch seconds or -1
343
344
  */
@@ -347,6 +348,7 @@ var CleverTap = {
347
348
 
348
349
  /**
349
350
  * Get the time of the most recent occurrence of an event
351
+ * @deprecated - Since version 3.2.0. Use getUserEventLog() instead
350
352
  * @param {string} eventName - the name of the event
351
353
  * @param {function(err, res)} callback that returns a res of epoch seconds or -1
352
354
  */
@@ -356,6 +358,7 @@ var CleverTap = {
356
358
 
357
359
  /**
358
360
  * Get the number of occurrences of an event
361
+ * @deprecated - Since version 3.2.0. Use getUserEventLogCount() instead
359
362
  * @param {string} eventName - the name of the event
360
363
  * @param {function(err, res)} callback that returns a res of int
361
364
  */
@@ -365,6 +368,7 @@ var CleverTap = {
365
368
 
366
369
  /**
367
370
  * Get the summary details of an event
371
+ * @deprecated - Since version 3.2.0. Use getUserEventLog() instead
368
372
  * @param {string} eventName - the name of the event
369
373
  * @param {function(err, res)} callback that returns a res of object {"eventName": <string>, "firstTime":<epoch seconds>, "lastTime": <epoch seconds>, "count": <int>} or empty object
370
374
  */
@@ -374,11 +378,37 @@ var CleverTap = {
374
378
 
375
379
  /**
376
380
  * Get the user's event history
381
+ * @deprecated - Since version 3.2.0. Use getUserEventLogHistory() instead
377
382
  * @param {function(err, res)} callback that returns a res of object {"eventName1":<event1 details object>, "eventName2":<event2 details object>}
378
383
  */
379
384
  getEventHistory: function (callback) {
380
385
  callWithCallback('getEventHistory', null, callback);
381
386
  },
387
+ /**
388
+ * Get the details of a specific event
389
+ * @param {string} eventName - the name of the event
390
+ * @param {function(err, res)} callback that returns a res of object {"eventName": <string>, "firstTime":<epoch seconds>, "lastTime": <epoch seconds>, "count": <int>, "deviceID": <string>, "normalizedEventName": <string>} or empty object
391
+ */
392
+ getUserEventLog: function (eventName, callback) {
393
+ callWithCallback('getUserEventLog', [eventName], callback);
394
+ },
395
+
396
+ /**
397
+ * Get the count of times an event occured
398
+ * @param {string} eventName - the name of the event
399
+ * @param {function(err, res)} callback that returns a res of int
400
+ */
401
+ getUserEventLogCount: function (eventName, callback) {
402
+ callWithCallback('getUserEventLogCount', [eventName], callback);
403
+ },
404
+
405
+ /**
406
+ * Get full event hostory for current user
407
+ * @param {function(err, res)} callback that returns a res of object {"eventName1":<event1 details object>, "eventName2":<event2 details object>}
408
+ */
409
+ getUserEventLogHistory: function (callback) {
410
+ callWithCallback('getUserEventLogHistory', null, callback);
411
+ },
382
412
 
383
413
  /**
384
414
  * Set the user's location as a latitude,longitude coordinate
@@ -539,12 +569,29 @@ var CleverTap = {
539
569
 
540
570
  /**
541
571
  * Get the total number of vists by the user
572
+ * @deprecated - Since version 3.2.0. Use getUserAppLaunchCount() instead
542
573
  * @param {function(err, res)} callback that returns a res of int
543
574
  */
544
575
  sessionGetTotalVisits: function (callback) {
545
576
  callWithCallback('sessionGetTotalVisits', null, callback);
546
577
  },
547
578
 
579
+ /**
580
+ * Get timestamp of user's last app visit
581
+ * @param {function(err, res)} callback that returns a res of epoch seconds or -1
582
+ */
583
+ getUserLastVisitTs: function (callback) {
584
+ callWithCallback('getUserLastVisitTs', null, callback);
585
+ },
586
+
587
+ /**
588
+ * Get the total number of times user has launched the app
589
+ * @param {function(err, res)} callback that returns a res of int
590
+ */
591
+ getUserAppLaunchCount: function (callback) {
592
+ callWithCallback('getUserAppLaunchCount', null, callback);
593
+ },
594
+
548
595
  /**
549
596
  * Get the number of screens viewed by the user during the session
550
597
  * @param {function(err, res)} callback that returns a res of int
@@ -555,6 +602,7 @@ var CleverTap = {
555
602
 
556
603
  /**
557
604
  * Get the most recent previous visit time of the user
605
+ * @deprecated - Since version 3.2.0. Use getUserLastVisits() instead
558
606
  * @param {function(err, res)} callback that returns a res of epoch seconds or -1
559
607
  */
560
608
  sessionGetPreviousVisitTime: function (callback) {