react-native-moengage 7.4.1 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/CHANGELOG.md +53 -1
  2. package/ReactNativeMoEngage.podspec +3 -3
  3. package/android/build.gradle +11 -12
  4. package/android/gradle/wrapper/gradle-wrapper.properties +3 -3
  5. package/android/gradle.properties +0 -1
  6. package/android/src/main/java/com/moengage/react/EventEmitterImpl.kt +46 -21
  7. package/android/src/main/java/com/moengage/react/MoEInitializer.kt +44 -13
  8. package/android/src/main/java/com/moengage/react/MoEReactBridge.kt +82 -85
  9. package/android/src/main/java/com/moengage/react/MoEReactHelper.kt +2 -2
  10. package/android/src/main/java/com/moengage/react/PayloadGenerator.kt +32 -17
  11. package/iOS/MoEReactBridge/MoEReactBridge.h +1 -1
  12. package/iOS/MoEReactBridge/MoEReactBridge.m +34 -60
  13. package/iOS/MoEReactBridge/{MOReactInitializer.h → MoEngageInitializer.h} +11 -11
  14. package/iOS/MoEReactBridge/MoEngageInitializer.m +153 -0
  15. package/iOS/MoEReactBridge/{MoEReactConstants.h → MoEngageReactConstants.h} +12 -3
  16. package/iOS/MoEReactBridge/{MoEReactConstants.m → MoEngageReactConstants.m} +13 -7
  17. package/iOS/MoEReactBridge/MoEngageReactPluginInfo.h +2 -0
  18. package/iOS/MoEReactBridge.xcodeproj/project.pbxproj +6 -6
  19. package/package.json +8 -3
  20. package/src/index.ts +134 -203
  21. package/src/models/MoEAccountMeta.ts +8 -0
  22. package/src/models/MoEAction.ts +4 -0
  23. package/src/models/MoEActionType.ts +4 -0
  24. package/src/models/MoECampaignContext.ts +10 -0
  25. package/src/models/MoECampaignData.ts +14 -0
  26. package/src/models/MoEClickData.ts +18 -0
  27. package/src/models/MoEGeoLocation.ts +2 -10
  28. package/src/models/MoEInAppCustomAction.ts +8 -13
  29. package/src/models/MoEInAppData.ts +16 -0
  30. package/src/models/MoEInAppNavigation.ts +14 -24
  31. package/src/models/MoENavigationType.ts +4 -0
  32. package/src/models/MoEPlatform.ts +4 -0
  33. package/src/models/MoEProperties.ts +19 -15
  34. package/src/models/MoEPushCampaign.ts +6 -22
  35. package/src/models/MoEPushPayload.ts +14 -0
  36. package/src/models/MoEPushService.ts +4 -4
  37. package/src/models/MoEPushToken.ts +6 -15
  38. package/src/models/MoESelfHandledCampaign.ts +10 -0
  39. package/src/models/MoESelfHandledCampaignData.ts +18 -0
  40. package/src/moeParser/MoEInAppParser.ts +192 -0
  41. package/src/moeParser/MoEPushNotificationParser.ts +78 -0
  42. package/src/platform/MoERNAndroid.ts +36 -92
  43. package/src/platform/MoERNiOS.ts +27 -60
  44. package/src/utils/MoEConstants.ts +59 -0
  45. package/src/utils/MoEEventHandlerHelper.ts +38 -25
  46. package/src/utils/MoEJsonBuilder.ts +220 -0
  47. package/src/utils/MoEObjectToJson.ts +44 -0
  48. package/iOS/MoEReactBridge/MOReactInitializer.m +0 -172
  49. package/iOS/MoEReactBridge/MOReactPluginInfo.h +0 -2
  50. package/src/models/MoEInAppCampaign.ts +0 -46
  51. package/src/models/MoEInAppSelfHandledCampaign.ts +0 -34
package/CHANGELOG.md CHANGED
@@ -1,6 +1,58 @@
1
- ## Changelog:
1
+ ## 27-10-2022
2
+
3
+ ### 8.0.0
4
+ - Support for Android SDK version `12.3.02` and above.
5
+ - Support for iOS SDK version `8.3.1` and above.
6
+ - TS Lint warnings resolved.
7
+ - Breaking Changes
8
+ - InApp Model `MoEInAppCampaign` broken down from a single object to multiple objects
9
+ - `MoEInAppData`
10
+ - `MoEClickData`
11
+ - `MoESelfHandledCampaignData`
12
+ - Push Models
13
+ - `MoEPushCampaign` --> `MoEPushPayload`
14
+ - Breaking APIs in Javascript
15
+
16
+ | Then | Now |
17
+ |:------------:|:-----------------:|
18
+ | initialize() | initialize(appId) |
19
+
20
+ - Removed APIs
21
+
22
+ | Removed APIs |
23
+ |:---------------------------:|
24
+ | selfHandledPrimaryClicked() |
25
+ | enableSDKLogs() |
26
+ | optOutInAppNotification() |
27
+ | optOutPushNotification() |
28
+
29
+ - Android
30
+ - Build Configuration Updates
31
+ - Minimum SDK version - 21
32
+ - Target SDK version - 30
33
+ - Compile SDK Version - 30
34
+ - Mi SDK update to Version 5.x.x, refer to the [Configuring Xiaomi Push](https://developers.moengage.com/hc/en-us/articles/4403466194708) and update the integration.
35
+ - Deprecated APIs
36
+
37
+ | Then | Now |
38
+ |:--------------------------------------------------------------:|:-----------------------------------------------------------------------------:|
39
+ | MoEInitializer.initialize(Context, MoEngage.Builder) | MoEInitializer.initializeDefaultInstance(Context, MoEngage.Builder) |
40
+ | MoEInitializer.initialize(Context, MoEngage.Builder, SdkState) | MoEInitializer.initializeDefaultInstance(Context, MoEngage.Builder, SdkState) |
41
+
42
+ - iOS
43
+ - `MOReactInitializer` renamed to `MoEngageInitializer`
44
+ - Deprecated APIs
45
+
46
+ | Then | Now |
47
+ |:-------------------------------------------------------------------------------------------------------------------------------------:|:-----------------------------------------------------------------------------------------------------------------------------------------:|
48
+ | - (void)intializeSDKWithLaunchOptions:(NSDictionary*)launchOptions; | - (void)initializeDefaultInstance:(NSDictionary*)launchOptions; |
49
+ | - (void)intializeSDKWithState:(BOOL)isSdkEnabled andLaunchOptions:(NSDictionary*)launchOptions; | - (void)initializeDefaultInstance:(BOOL)isSdkEnabled andLaunchOptions:(NSDictionary*)launchOptions; |
50
+ | - (void)intializeSDKWithConfig:(MOSDKConfig*)sdkConfig andLaunchOptions:(NSDictionary*)launchOptions; | - (void)initializeDefaultSDKConfig:(MOSDKConfig*)sdkConfig andLaunchOptions:(NSDictionary*)launchOptions; |
51
+ | - (void)intializeSDKWithConfig:(MOSDKConfig*)sdkConfig withSDKState:(BOOL)isSdkEnabled andLaunchOptions:(NSDictionary*)launchOptions; | - (void)initializeDefaultSDKConfig:(MOSDKConfig*)sdkConfig withSDKState:(BOOL)isSdkEnabled andLaunchOptions:(NSDictionary*)launchOptions; |
52
+
2
53
 
3
54
  ### 7.4.1
55
+ Release Date: 15th July 2022
4
56
  - Device identifier tracking update as per Google's User data policy. Advertising Id is only tracked after user consent.
5
57
 
6
58
  ### 7.4.0
@@ -15,10 +15,10 @@ Pod::Spec.new do |s|
15
15
  s.platform = :ios, "10.0"
16
16
  s.source_files = 'iOS/MoEReactBridge/**/*.{h,m}'
17
17
  s.dependency 'React'
18
- s.dependency 'MoEPluginBase','>= 2.3.0','< 2.4.0'
18
+ s.dependency 'MoEngagePluginBase','>= 3.0.0','< 3.1.0'
19
19
 
20
20
  s.prepare_command = <<-CMD
21
- echo // Generated file, do not edit > iOS/MoEReactBridge/MOReactPluginInfo.h
22
- echo "#define MO_REACT_PLUGIN_VERSION @\\"#{package["version"]}\\"" >> iOS/MoEReactBridge/MOReactPluginInfo.h
21
+ echo // Generated file, do not edit > iOS/MoEReactBridge/MoEngageReactPluginInfo.h
22
+ echo "#define MOE_REACT_PLUGIN_VERSION @\\"#{package["version"]}\\"" >> iOS/MoEReactBridge/MoEngageReactPluginInfo.h
23
23
  CMD
24
24
  end
@@ -1,13 +1,12 @@
1
1
  buildscript {
2
- ext.kotlinVersion = '1.4.20'
2
+ ext.kotlinVersion = '1.6.0'
3
3
  repositories {
4
4
  google()
5
5
  mavenCentral()
6
- jcenter()
7
6
  }
8
7
 
9
8
  dependencies {
10
- classpath 'com.android.tools.build:gradle:4.1.2'
9
+ classpath 'com.android.tools.build:gradle:7.1.2'
11
10
  classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
12
11
  }
13
12
  }
@@ -15,20 +14,19 @@ buildscript {
15
14
  rootProject.allprojects {
16
15
  repositories {
17
16
  google()
18
- mavenLocal()
19
17
  mavenCentral()
20
- jcenter()
21
18
  }
22
19
  }
23
20
 
24
21
  ext {
25
22
  //dependency version
26
- moengageVersion = "11.6.02"
27
- basePluginVersion = "2.2.2"
23
+ moengageCoreVersion = "12.2.04"
24
+ moengageInAppVersion = "6.3.0"
25
+ basePluginVersion = "3.0.0"
28
26
  //build versions
29
- minimumVersion = 16
30
- targetVersion = 29
31
- compileVersion = 29
27
+ minimumVersion = 21
28
+ targetVersion = 30
29
+ compileVersion = 30
32
30
  }
33
31
 
34
32
  apply plugin: 'com.android.library'
@@ -66,9 +64,10 @@ dependencies {
66
64
  implementation fileTree(include: ['*.jar'], dir: 'libs')
67
65
 
68
66
  implementation("org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion")
69
-
70
- compileOnly ("com.moengage:moe-android-sdk:$moengageVersion")
67
+
68
+ compileOnly ("com.moengage:moe-android-sdk:$moengageCoreVersion")
71
69
  api("com.moengage:plugin-base:$basePluginVersion")
70
+ compileOnly("com.moengage:inapp:$moengageInAppVersion")
72
71
 
73
72
  compileOnly 'com.facebook.react:react-native:+'
74
73
 
@@ -1,6 +1,6 @@
1
- #Sun Jan 31 18:33:58 IST 2021
1
+ #Thu Aug 18 13:23:11 IST 2022
2
2
  distributionBase=GRADLE_USER_HOME
3
+ distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-all.zip
3
4
  distributionPath=wrapper/dists
4
- zipStoreBase=GRADLE_USER_HOME
5
5
  zipStorePath=wrapper/dists
6
- distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip
6
+ zipStoreBase=GRADLE_USER_HOME
@@ -1,2 +1 @@
1
- android.enableJetifier=true
2
1
  android.useAndroidX=true
@@ -3,9 +3,16 @@ package com.moengage.react
3
3
  import com.facebook.react.bridge.ReactContext
4
4
  import com.facebook.react.bridge.WritableMap
5
5
  import com.facebook.react.modules.core.DeviceEventManagerModule
6
+ import com.moengage.core.LogLevel
6
7
  import com.moengage.core.internal.logger.Logger
7
- import com.moengage.plugin.base.EventEmitter
8
- import com.moengage.plugin.base.model.*
8
+ import com.moengage.plugin.base.internal.EventEmitter
9
+ import com.moengage.plugin.base.internal.model.events.Event
10
+ import com.moengage.plugin.base.internal.model.events.EventType
11
+ import com.moengage.plugin.base.internal.model.events.inapp.InAppActionEvent
12
+ import com.moengage.plugin.base.internal.model.events.inapp.InAppLifecycleEvent
13
+ import com.moengage.plugin.base.internal.model.events.inapp.InAppSelfHandledEvent
14
+ import com.moengage.plugin.base.internal.model.events.push.PushClickedEvent
15
+ import com.moengage.plugin.base.internal.model.events.push.TokenEvent
9
16
 
10
17
 
11
18
  /**
@@ -17,35 +24,53 @@ class EventEmitterImpl(private val reactContext: ReactContext) : EventEmitter {
17
24
 
18
25
  override fun emit(event: Event) {
19
26
  try {
20
- Logger.v("$tag emit() : $event")
21
- when(event){
22
- is InAppEvent -> emitInAppEvent(event)
23
- is PushEvent -> emitPushEvent(event)
24
- is TokenEvent -> emitPushToken(event)
27
+ Logger.print { "$tag emit() : $event" }
28
+ when (event.eventType) {
29
+ EventType.PUSH_CLICKED -> emitPushClicked(event as PushClickedEvent)
30
+ EventType.PUSH_TOKEN_GENERATED -> emitPushToken(event as TokenEvent)
31
+ EventType.INAPP_CLOSED, EventType.INAPP_SHOWN -> emitInAppLifecycle(event as InAppLifecycleEvent)
32
+ EventType.INAPP_CUSTOM_ACTION, EventType.INAPP_NAVIGATION -> emitInAppAction(
33
+ event as InAppActionEvent
34
+ )
35
+ EventType.INAPP_SELF_HANDLED_AVAILABLE -> emitInAppSelfHandled(event as InAppSelfHandledEvent)
25
36
  }
26
- } catch (e: Exception) {
27
- Logger.e("$tag emit() : ", e)
37
+ } catch (t: Throwable) {
38
+ Logger.print(LogLevel.ERROR, t) { "$tag emit() : " }
28
39
  }
29
40
  }
30
41
 
31
- private fun emitInAppEvent(inAppEvent: InAppEvent){
32
- Logger.v("$tag emitInAppEvent() : Event $inAppEvent")
33
- val eventName = eventMapping[inAppEvent.eventType] ?: return
34
- val payload = PayloadGenerator().inAppCampaignToWriteableMap(inAppEvent.inAppCampaign)
42
+ private fun emitInAppAction(event: InAppActionEvent) {
43
+ Logger.print { "$tag emitInAppNavigation() : $event" }
44
+ val eventName = eventMapping[event.eventType] ?: return
45
+ val payload = PayloadGenerator().inAppNavigationToWriteableMap(event.clickData)
35
46
  emit(eventName, payload)
36
47
  }
37
48
 
38
- private fun emitPushEvent(pushEvent: PushEvent){
39
- Logger.v("$tag emitPushEvent() : Event $pushEvent")
40
- val eventName = eventMapping[pushEvent.eventType] ?: return
41
- val payload = PayloadGenerator().pushPayloadToWriteableMap(pushEvent.payload)
49
+ private fun emitInAppLifecycle(event: InAppLifecycleEvent) {
50
+ Logger.print { "$tag emitInAppLifecycle() : $event" }
51
+ val eventName = eventMapping[event.eventType] ?: return
52
+ val payload = PayloadGenerator().inAppDataToWriteableMap(event.inAppData)
53
+ emit(eventName, payload)
54
+ }
55
+
56
+ private fun emitInAppSelfHandled(event: InAppSelfHandledEvent) {
57
+ Logger.print { "$tag emitInAppSelfHandled() : $event" }
58
+ val eventName = eventMapping[event.eventType] ?: return
59
+ val payload = PayloadGenerator().selfHandledDataToWriteableMap(event.data)
60
+ emit(eventName, payload)
61
+ }
62
+
63
+ private fun emitPushClicked(event: PushClickedEvent) {
64
+ Logger.print { "$tag emitPushClicked() : $event" }
65
+ val eventName = eventMapping[event.eventType] ?: return
66
+ val payload = PayloadGenerator().pushPayloadToWriteableMap(event.payload)
42
67
  emit(eventName, payload)
43
68
  }
44
69
 
45
70
  private fun emitPushToken(tokenEvent: TokenEvent) {
46
- Logger.v("$tag emitPushToken() : Event $tokenEvent")
71
+ Logger.print { "$tag emitPushToken() : $tokenEvent" }
47
72
  val eventName = eventMapping[tokenEvent.eventType] ?: return
48
- val payload = PayloadGenerator().tokenToWriteableMap(tokenEvent.pushToken)
73
+ val payload = PayloadGenerator().tokenToWriteableMap(tokenEvent)
49
74
  emit(eventName, payload)
50
75
  }
51
76
 
@@ -53,8 +78,8 @@ class EventEmitterImpl(private val reactContext: ReactContext) : EventEmitter {
53
78
  try {
54
79
  reactContext.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter::class.java)
55
80
  .emit(eventName, params)
56
- } catch (e: Exception) {
57
- Logger.e("$tag emit() : ", e)
81
+ } catch (t: Throwable) {
82
+ Logger.print(LogLevel.ERROR, t) { "$tag emit() : " }
58
83
  }
59
84
  }
60
85
  }
@@ -1,10 +1,12 @@
1
1
  package com.moengage.react
2
2
 
3
3
  import android.content.Context
4
+ import com.moengage.core.LogLevel
4
5
  import com.moengage.core.MoEngage
5
6
  import com.moengage.core.internal.logger.Logger
6
7
  import com.moengage.core.internal.model.IntegrationMeta
7
- import com.moengage.plugin.base.PluginInitializer.initialize
8
+ import com.moengage.core.model.SdkState
9
+ import com.moengage.plugin.base.internal.PluginInitializer
8
10
 
9
11
 
10
12
  /**
@@ -14,26 +16,55 @@ import com.moengage.plugin.base.PluginInitializer.initialize
14
16
  object MoEInitializer {
15
17
  private const val tag = "${MODULE_TAG}MoEInitializer"
16
18
 
19
+ @Deprecated(
20
+ "",
21
+ level = DeprecationLevel.WARNING,
22
+ replaceWith = ReplaceWith(
23
+ "initializeDefaultInstance(context, builder)",
24
+ "com.moengage.react.MoEInitializer.initializeDefaultInstance"
25
+ )
26
+ )
17
27
  fun initialize(context: Context, builder: MoEngage.Builder) {
28
+ initializeDefaultInstance(context, builder)
29
+ }
30
+
31
+ @Deprecated(
32
+ "",
33
+ level = DeprecationLevel.WARNING,
34
+ replaceWith = ReplaceWith(
35
+ "initializeDefaultInstance(context, builder, sdkState)",
36
+ "com.moengage.react.MoEInitializer.initializeDefaultInstance"
37
+ )
38
+ )
39
+ fun initialize(context: Context, builder: MoEngage.Builder, sdkState: SdkState) {
40
+ initializeDefaultInstance(context, builder, sdkState)
41
+ }
42
+
43
+ fun initializeDefaultInstance(context: Context, builder: MoEngage.Builder) {
18
44
  try {
19
- Logger.v("$tag initialize() : Will try to initialize the sdk.")
20
- initialize(context, builder, true)
21
- } catch (e: Exception) {
22
- Logger.e("$tag initialize() : ", e)
45
+ Logger.print { "$tag initialize() : Will try to initialize the sdk." }
46
+ PluginInitializer.initialize(
47
+ builder,
48
+ IntegrationMeta(INTEGRATION_TYPE, BuildConfig.MOENGAGE_REACT_LIBRARY_VERSION)
49
+ )
50
+ } catch (t: Throwable) {
51
+ Logger.print(LogLevel.ERROR, t) { "$tag initialize() : " }
23
52
  }
24
53
  }
25
54
 
26
- fun initialize(context: Context, builder: MoEngage.Builder, isSdkEnabled: Boolean) {
55
+ fun initializeDefaultInstance(context: Context, builder: MoEngage.Builder, sdkState: SdkState) {
27
56
  try {
28
- Logger.v("$tag initialize() : Initialising MoEngage SDK.")
29
- initialize(
30
- context, builder,
57
+ Logger.print { "$tag initialize() : Initialising MoEngage SDK." }
58
+ PluginInitializer.initialize(
59
+ builder,
31
60
  IntegrationMeta(INTEGRATION_TYPE, BuildConfig.MOENGAGE_REACT_LIBRARY_VERSION),
32
- isSdkEnabled
61
+ sdkState
33
62
  )
34
- Logger.v("$tag initialize() : Initialising MoEngage SDK.")
35
- } catch (e: Exception) {
36
- Logger.e("$tag initialize() : ", e)
63
+ Logger.print { "$tag initialize() : " }
64
+ } catch (t: Throwable) {
65
+ Logger.print(LogLevel.ERROR, t) { "$tag initialize() : " }
37
66
  }
38
67
  }
68
+
69
+
39
70
  }
@@ -5,15 +5,16 @@ import com.facebook.react.bridge.Promise
5
5
  import com.facebook.react.bridge.ReactApplicationContext
6
6
  import com.facebook.react.bridge.ReactContextBaseJavaModule
7
7
  import com.facebook.react.bridge.ReactMethod
8
- import com.moe.pushlibrary.MoEHelper
9
- import com.moengage.core.internal.MoEConstants
8
+ import com.moengage.core.LogLevel
9
+ import com.moengage.core.internal.LIB_VERSION
10
10
  import com.moengage.core.internal.logger.Logger
11
- import com.moengage.plugin.base.PluginHelper
11
+ import com.moengage.plugin.base.internal.PluginHelper
12
+ import com.moengage.plugin.base.internal.setEventEmitter
12
13
 
13
14
  /**
14
15
  * @author Umang Chamaria
15
16
  */
16
- class MoEReactBridge(reactContext: ReactApplicationContext) :
17
+ class MoEReactBridge(private val reactContext: ReactApplicationContext) :
17
18
  ReactContextBaseJavaModule(reactContext) {
18
19
 
19
20
  private val tag = "${MODULE_TAG}MoEReactBridge"
@@ -25,143 +26,144 @@ class MoEReactBridge(reactContext: ReactApplicationContext) :
25
26
  return "MoEReactBridge"
26
27
  }
27
28
 
29
+ @ReactMethod
30
+ fun addListener(eventName:String) {
31
+ // Keep: Required for RN built in Event Emitter Calls.
32
+ }
33
+
34
+ @ReactMethod
35
+ fun removeListeners(count:Int) {
36
+ // Keep: Required for RN built in Event Emitter Calls.
37
+ }
38
+
28
39
  @ReactMethod
29
40
  fun setAppStatus(payload: String) {
30
41
  try {
31
- Logger.v("$tag setAppStatus() : Payload: $payload")
42
+ Logger.print { "$tag setAppStatus() : Payload: $payload" }
32
43
  pluginHelper.setAppStatus(context, payload)
33
- } catch (e: Exception) {
34
- Logger.e("$tag setAppStatus() : ", e)
44
+ } catch (t: Throwable) {
45
+ Logger.print(LogLevel.ERROR, t) { "$tag setAppStatus() : " }
35
46
  }
36
47
  }
37
48
 
38
49
  @ReactMethod
39
50
  fun trackEvent(payload: String) {
40
51
  try {
41
- Logger.v("$tag trackEvent() : Payload: $payload")
52
+ Logger.print { "$tag trackEvent() : Payload: $payload" }
42
53
  pluginHelper.trackEvent(context, payload)
43
- } catch (e: Exception) {
44
- Logger.e("$tag trackEvent() : ", e)
54
+ } catch (t: Throwable) {
55
+ Logger.print(LogLevel.ERROR, t) { "$tag trackEvent() : " }
45
56
  }
46
57
  }
47
58
 
48
59
  @ReactMethod
49
60
  fun setUserAttribute(payload: String) {
50
61
  try {
51
- Logger.v("$tag setUserAttribute() : Payload: $payload")
62
+ Logger.print { "$tag setUserAttribute() : Payload: $payload" }
52
63
  pluginHelper.setUserAttribute(context, payload)
53
- } catch (e: Exception) {
54
- Logger.e("$tag setUserAttribute() : ", e)
55
- }
56
- }
57
-
58
- @ReactMethod
59
- fun logout() {
60
- try {
61
- Logger.v("$tag logout() : ")
62
- MoEHelper.getInstance(context).logoutUser()
63
- } catch (e: Exception) {
64
- Logger.e("$tag logout() : ", e)
64
+ } catch (t: Throwable) {
65
+ Logger.print(LogLevel.ERROR, t) { "$tag setUserAttribute() : " }
65
66
  }
66
67
  }
67
68
 
68
69
  @ReactMethod
69
- fun enableLogs() {
70
+ fun logout(payload: String) {
70
71
  try {
71
- Logger.v("$tag enableLogs() : ")
72
- pluginHelper.enableSDKLogs()
73
- } catch (e: Exception) {
74
- Logger.e("$tag enableLogs() : ", e)
72
+ Logger.print { "$tag logout() : " }
73
+ pluginHelper.logout(context, payload)
74
+ } catch (t: Throwable) {
75
+ Logger.print(LogLevel.ERROR, t) { "$tag logout() : " }
75
76
  }
76
77
  }
77
78
 
78
79
  @ReactMethod
79
80
  fun setAlias(payload: String) {
80
81
  try {
81
- Logger.v("$tag setAlias() : Payload: $payload")
82
+ Logger.print { "$tag setAlias() : Payload: $payload" }
82
83
  pluginHelper.setAlias(context, payload)
83
- } catch (e: Exception) {
84
- Logger.e("$tag setAlias() : ", e)
84
+ } catch (t: Throwable) {
85
+ Logger.print(LogLevel.ERROR, t) { "$tag setAlias() : " }
85
86
  }
86
87
  }
87
88
 
88
89
  @ReactMethod
89
90
  fun setAppContext(payload: String) {
90
91
  try {
91
- Logger.v("$tag setAppContext() : Payload: $payload")
92
+ Logger.print { "$tag setAppContext() : Payload: $payload" }
92
93
  pluginHelper.setAppContext(context, payload)
93
- } catch (e: Exception) {
94
- Logger.e("$tag setAppContext() : ", e)
94
+ } catch (t: Throwable) {
95
+ Logger.print(LogLevel.ERROR, t) { "$tag setAppContext() : " }
95
96
  }
96
97
  }
97
98
 
98
99
  @ReactMethod
99
- fun resetAppContext() {
100
+ fun resetAppContext(payload: String) {
100
101
  try {
101
- Logger.v("$tag resetAppContext() : ")
102
- pluginHelper.resetAppContext(context)
103
- } catch (e: Exception) {
104
- Logger.e("$tag resetAppContext() : ", e)
102
+ Logger.print { "$tag resetAppContext() : $payload" }
103
+ pluginHelper.resetAppContext(context, payload)
104
+ } catch (t: Throwable) {
105
+ Logger.print(LogLevel.ERROR, t) { "$tag resetAppContext() : " }
105
106
  }
106
107
  }
107
108
 
108
109
  @ReactMethod
109
- fun showInApp() {
110
+ fun showInApp(payload: String) {
110
111
  try {
111
- Logger.v("$tag showInApp() : Will attempt to show in-app.")
112
- pluginHelper.showInApp(context)
113
- } catch (e: Exception) {
114
- Logger.e("$tag showInApp() : ", e)
112
+ Logger.print { "$tag showInApp() : $payload" }
113
+ pluginHelper.showInApp(context, payload)
114
+ } catch (t: Throwable) {
115
+ Logger.print(LogLevel.ERROR, t) { "$tag showInApp() : " }
115
116
  }
116
117
  }
117
118
 
118
119
  @ReactMethod
119
- fun getSelfHandledInApp() {
120
+ fun getSelfHandledInApp(payload: String) {
120
121
  try {
121
- Logger.v("$tag getSelfHandledInApp() : Will try to fetch self-handled in-app")
122
- pluginHelper.getSelfHandledInApp(context)
123
- } catch (e: Exception) {
124
- Logger.e("$tag getSelfHandledInApp() : ", e)
122
+ Logger.print { "$tag getSelfHandledInApp() : $payload" }
123
+ pluginHelper.getSelfHandledInApp(context, payload)
124
+ } catch (t: Throwable) {
125
+ Logger.print(LogLevel.ERROR, t) { "$tag getSelfHandledInApp() : " }
125
126
  }
126
127
  }
127
128
 
128
129
  @ReactMethod
129
130
  fun passPushToken(payload: String) {
130
131
  try {
131
- Logger.v("$tag passPushToken() : Payload: $payload")
132
+ Logger.print { "$tag passPushToken() : $payload" }
132
133
  pluginHelper.passPushToken(context, payload)
133
- } catch (e: Exception) {
134
- Logger.e("$tag passPushToken() : ", e)
134
+ } catch (t: Throwable) {
135
+ Logger.print(LogLevel.ERROR, t) { "$tag passPushToken() : " }
135
136
  }
136
137
  }
137
138
 
138
139
  @ReactMethod
139
140
  fun passPushPayload(payload: String) {
140
141
  try {
141
- Logger.v("$tag passPushPayload() : Payload: $payload")
142
+ Logger.print { "$tag passPushPayload() : $payload" }
142
143
  pluginHelper.passPushPayload(context, payload)
143
- } catch (e: Exception) {
144
- Logger.e("$tag passPushPayload() : ", e)
144
+ } catch (t: Throwable) {
145
+ Logger.print(LogLevel.ERROR, t) { "$tag passPushPayload() : " }
145
146
  }
146
147
  }
147
148
 
148
149
  @ReactMethod
149
- override fun initialize() {
150
+ fun initialize(payload: String) {
150
151
  try {
151
- Logger.v("$tag initialize() ")
152
- pluginHelper.initialize()
153
- } catch (e: Exception) {
154
- Logger.e("$tag initialize() : ", e)
152
+ Logger.print { "$tag initialize() : " }
153
+ pluginHelper.initialise(payload)
154
+ setEventEmitter(EventEmitterImpl(reactContext))
155
+ } catch (t: Throwable) {
156
+ Logger.print(LogLevel.ERROR, t) { "$tag initialize() : " }
155
157
  }
156
158
  }
157
159
 
158
160
  @ReactMethod
159
161
  fun selfHandledCallback(payload: String) {
160
162
  try {
161
- Logger.v("$tag selfHandledCallback() : $payload")
163
+ Logger.print { "$tag selfHandledCallback() : $payload" }
162
164
  pluginHelper.selfHandledCallback(context, payload)
163
- } catch (e: Exception) {
164
- Logger.e("$tag selfHandledCallback() : ", e)
165
+ } catch (t: Throwable) {
166
+ Logger.print(LogLevel.ERROR, t) { "$tag selfHandledCallback() : " }
165
167
  }
166
168
  }
167
169
 
@@ -169,19 +171,19 @@ class MoEReactBridge(reactContext: ReactApplicationContext) :
169
171
  fun optOutTracking(payload: String) {
170
172
  try {
171
173
  pluginHelper.optOutTracking(context, payload)
172
- } catch (e: Exception) {
173
- Logger.e("$tag optOutTracking() : ", e)
174
+ } catch (t: Throwable) {
175
+ Logger.print(LogLevel.ERROR, t) { "$tag optOutTracking() : " }
174
176
  }
175
177
  }
176
178
 
177
179
  @ReactMethod
178
180
  fun validateSdkVersion(promise: Promise) {
179
- Logger.v("$tag validateSdkVersion() : Validating version")
180
- if (MoEConstants.LIB_VERSION > 12000) {
181
- Logger.e("$tag validateSdkVersion() : invalid version")
182
- promise.reject("error", "Use SDK version 11.x.xx")
181
+ Logger.print { "$tag validateSdkVersion() : Validating Version" }
182
+ if (LIB_VERSION > 13000) {
183
+ Logger.print(LogLevel.ERROR) { "$tag validateSdkVersion() : invalid version" }
184
+ promise.reject("error", "Use SDK version 12.x.xx")
183
185
  } else {
184
- Logger.v("$tag validateSdkVersion() : valid version")
186
+ Logger.print { "$tag validateSdkVersion() : valid version" }
185
187
  promise.resolve("valid version");
186
188
  }
187
189
  }
@@ -189,35 +191,30 @@ class MoEReactBridge(reactContext: ReactApplicationContext) :
189
191
  @ReactMethod
190
192
  fun updateSdkState(payload: String) {
191
193
  try {
192
- Logger.v("$tag updateSdkState() : $payload")
194
+ Logger.print { "$tag updateSdkState() : $payload" }
193
195
  pluginHelper.storeFeatureStatus(context, payload)
194
- } catch (e: Exception) {
195
- Logger.e("$tag updateSdkState() : ", e)
196
+ } catch (t: Throwable) {
197
+ Logger.print(LogLevel.ERROR, t) { "$tag updateSdkState() : " }
196
198
  }
197
199
  }
198
200
 
199
201
  @ReactMethod
200
202
  fun onOrientationChanged() {
201
- try{
202
- Logger.v("$tag onScreenOrientationChanged(): ")
203
+ try {
204
+ Logger.print { "$tag onOrientationChanged() : " }
203
205
  pluginHelper.onConfigurationChanged()
204
- }catch(e: Exception){
205
- Logger.e("$tag onScreenOrientationChanged() : ", e)
206
+ } catch (t: Throwable) {
207
+ Logger.print(LogLevel.ERROR, t) { "$tag onOrientationChanged() : " }
206
208
  }
207
209
  }
208
210
 
209
211
  @ReactMethod
210
212
  fun deviceIdentifierTrackingStatusUpdate(payload: String) {
211
213
  try {
212
- Logger.v("$tag deviceIdentifierTrackingStatusUpdate(): $payload")
214
+ Logger.print { "$tag deviceIdentifierTrackingStatusUpdate() : $payload" }
213
215
  pluginHelper.deviceIdentifierTrackingStatusUpdate(context, payload)
214
- } catch (e: Exception) {
215
- Logger.e("$tag deviceIdentifierTrackingStatusUpdate() : ", e)
216
+ } catch (t: Throwable) {
217
+ Logger.print(LogLevel.ERROR, t) { "$tag deviceIdentifierTrackingStatusUpdate() : " }
216
218
  }
217
219
  }
218
-
219
-
220
- init {
221
- pluginHelper.setEventCallback(EventEmitterImpl(reactContext))
222
- }
223
220
  }
@@ -13,8 +13,8 @@ public class MoEReactHelper {
13
13
  private val tag = "${MODULE_TAG}MoEReactHelper"
14
14
 
15
15
  public fun onConfigurationChanged() {
16
- if (!InAppManager.getInstance().hasModule()){
17
- Logger.v("$tag onConfigurationChanged(): InApp Module not present.")
16
+ if (!InAppManager.hasModule()){
17
+ Logger.print { "$tag onConfigurationChanged() : InApp Module not present." }
18
18
  return
19
19
  }
20
20
  MoEInAppHelper.getInstance().onConfigurationChanged()