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.
- package/CHANGELOG.md +53 -1
- package/ReactNativeMoEngage.podspec +3 -3
- package/android/build.gradle +11 -12
- package/android/gradle/wrapper/gradle-wrapper.properties +3 -3
- package/android/gradle.properties +0 -1
- package/android/src/main/java/com/moengage/react/EventEmitterImpl.kt +46 -21
- package/android/src/main/java/com/moengage/react/MoEInitializer.kt +44 -13
- package/android/src/main/java/com/moengage/react/MoEReactBridge.kt +82 -85
- package/android/src/main/java/com/moengage/react/MoEReactHelper.kt +2 -2
- package/android/src/main/java/com/moengage/react/PayloadGenerator.kt +32 -17
- package/iOS/MoEReactBridge/MoEReactBridge.h +1 -1
- package/iOS/MoEReactBridge/MoEReactBridge.m +34 -60
- package/iOS/MoEReactBridge/{MOReactInitializer.h → MoEngageInitializer.h} +11 -11
- package/iOS/MoEReactBridge/MoEngageInitializer.m +153 -0
- package/iOS/MoEReactBridge/{MoEReactConstants.h → MoEngageReactConstants.h} +12 -3
- package/iOS/MoEReactBridge/{MoEReactConstants.m → MoEngageReactConstants.m} +13 -7
- package/iOS/MoEReactBridge/MoEngageReactPluginInfo.h +2 -0
- package/iOS/MoEReactBridge.xcodeproj/project.pbxproj +6 -6
- package/package.json +8 -3
- package/src/index.ts +134 -203
- package/src/models/MoEAccountMeta.ts +8 -0
- package/src/models/MoEAction.ts +4 -0
- package/src/models/MoEActionType.ts +4 -0
- package/src/models/MoECampaignContext.ts +10 -0
- package/src/models/MoECampaignData.ts +14 -0
- package/src/models/MoEClickData.ts +18 -0
- package/src/models/MoEGeoLocation.ts +2 -10
- package/src/models/MoEInAppCustomAction.ts +8 -13
- package/src/models/MoEInAppData.ts +16 -0
- package/src/models/MoEInAppNavigation.ts +14 -24
- package/src/models/MoENavigationType.ts +4 -0
- package/src/models/MoEPlatform.ts +4 -0
- package/src/models/MoEProperties.ts +19 -15
- package/src/models/MoEPushCampaign.ts +6 -22
- package/src/models/MoEPushPayload.ts +14 -0
- package/src/models/MoEPushService.ts +4 -4
- package/src/models/MoEPushToken.ts +6 -15
- package/src/models/MoESelfHandledCampaign.ts +10 -0
- package/src/models/MoESelfHandledCampaignData.ts +18 -0
- package/src/moeParser/MoEInAppParser.ts +192 -0
- package/src/moeParser/MoEPushNotificationParser.ts +78 -0
- package/src/platform/MoERNAndroid.ts +36 -92
- package/src/platform/MoERNiOS.ts +27 -60
- package/src/utils/MoEConstants.ts +59 -0
- package/src/utils/MoEEventHandlerHelper.ts +38 -25
- package/src/utils/MoEJsonBuilder.ts +220 -0
- package/src/utils/MoEObjectToJson.ts +44 -0
- package/iOS/MoEReactBridge/MOReactInitializer.m +0 -172
- package/iOS/MoEReactBridge/MOReactPluginInfo.h +0 -2
- package/src/models/MoEInAppCampaign.ts +0 -46
- package/src/models/MoEInAppSelfHandledCampaign.ts +0 -34
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,58 @@
|
|
|
1
|
-
##
|
|
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 '
|
|
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/
|
|
22
|
-
echo "#define
|
|
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
|
package/android/build.gradle
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
buildscript {
|
|
2
|
-
ext.kotlinVersion = '1.
|
|
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:
|
|
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
|
-
|
|
27
|
-
|
|
23
|
+
moengageCoreVersion = "12.2.04"
|
|
24
|
+
moengageInAppVersion = "6.3.0"
|
|
25
|
+
basePluginVersion = "3.0.0"
|
|
28
26
|
//build versions
|
|
29
|
-
minimumVersion =
|
|
30
|
-
targetVersion =
|
|
31
|
-
compileVersion =
|
|
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:$
|
|
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
|
-
#
|
|
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
|
-
|
|
6
|
+
zipStoreBase=GRADLE_USER_HOME
|
|
@@ -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.
|
|
21
|
-
when(event){
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
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 (
|
|
27
|
-
Logger.
|
|
37
|
+
} catch (t: Throwable) {
|
|
38
|
+
Logger.print(LogLevel.ERROR, t) { "$tag emit() : " }
|
|
28
39
|
}
|
|
29
40
|
}
|
|
30
41
|
|
|
31
|
-
private fun
|
|
32
|
-
Logger.
|
|
33
|
-
val eventName = eventMapping[
|
|
34
|
-
val payload = PayloadGenerator().
|
|
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
|
|
39
|
-
Logger.
|
|
40
|
-
val eventName = eventMapping[
|
|
41
|
-
val payload = PayloadGenerator().
|
|
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.
|
|
71
|
+
Logger.print { "$tag emitPushToken() : $tokenEvent" }
|
|
47
72
|
val eventName = eventMapping[tokenEvent.eventType] ?: return
|
|
48
|
-
val payload = PayloadGenerator().tokenToWriteableMap(tokenEvent
|
|
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 (
|
|
57
|
-
Logger.
|
|
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.
|
|
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.
|
|
20
|
-
initialize(
|
|
21
|
-
|
|
22
|
-
|
|
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
|
|
55
|
+
fun initializeDefaultInstance(context: Context, builder: MoEngage.Builder, sdkState: SdkState) {
|
|
27
56
|
try {
|
|
28
|
-
Logger.
|
|
29
|
-
initialize(
|
|
30
|
-
|
|
57
|
+
Logger.print { "$tag initialize() : Initialising MoEngage SDK." }
|
|
58
|
+
PluginInitializer.initialize(
|
|
59
|
+
builder,
|
|
31
60
|
IntegrationMeta(INTEGRATION_TYPE, BuildConfig.MOENGAGE_REACT_LIBRARY_VERSION),
|
|
32
|
-
|
|
61
|
+
sdkState
|
|
33
62
|
)
|
|
34
|
-
Logger.
|
|
35
|
-
} catch (
|
|
36
|
-
Logger.
|
|
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.
|
|
9
|
-
import com.moengage.core.internal.
|
|
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.
|
|
42
|
+
Logger.print { "$tag setAppStatus() : Payload: $payload" }
|
|
32
43
|
pluginHelper.setAppStatus(context, payload)
|
|
33
|
-
} catch (
|
|
34
|
-
Logger.
|
|
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.
|
|
52
|
+
Logger.print { "$tag trackEvent() : Payload: $payload" }
|
|
42
53
|
pluginHelper.trackEvent(context, payload)
|
|
43
|
-
} catch (
|
|
44
|
-
Logger.
|
|
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.
|
|
62
|
+
Logger.print { "$tag setUserAttribute() : Payload: $payload" }
|
|
52
63
|
pluginHelper.setUserAttribute(context, payload)
|
|
53
|
-
} catch (
|
|
54
|
-
Logger.
|
|
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
|
|
70
|
+
fun logout(payload: String) {
|
|
70
71
|
try {
|
|
71
|
-
Logger.
|
|
72
|
-
pluginHelper.
|
|
73
|
-
} catch (
|
|
74
|
-
Logger.
|
|
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.
|
|
82
|
+
Logger.print { "$tag setAlias() : Payload: $payload" }
|
|
82
83
|
pluginHelper.setAlias(context, payload)
|
|
83
|
-
} catch (
|
|
84
|
-
Logger.
|
|
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.
|
|
92
|
+
Logger.print { "$tag setAppContext() : Payload: $payload" }
|
|
92
93
|
pluginHelper.setAppContext(context, payload)
|
|
93
|
-
} catch (
|
|
94
|
-
Logger.
|
|
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.
|
|
102
|
-
pluginHelper.resetAppContext(context)
|
|
103
|
-
} catch (
|
|
104
|
-
Logger.
|
|
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.
|
|
112
|
-
pluginHelper.showInApp(context)
|
|
113
|
-
} catch (
|
|
114
|
-
Logger.
|
|
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.
|
|
122
|
-
pluginHelper.getSelfHandledInApp(context)
|
|
123
|
-
} catch (
|
|
124
|
-
Logger.
|
|
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.
|
|
132
|
+
Logger.print { "$tag passPushToken() : $payload" }
|
|
132
133
|
pluginHelper.passPushToken(context, payload)
|
|
133
|
-
} catch (
|
|
134
|
-
Logger.
|
|
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.
|
|
142
|
+
Logger.print { "$tag passPushPayload() : $payload" }
|
|
142
143
|
pluginHelper.passPushPayload(context, payload)
|
|
143
|
-
} catch (
|
|
144
|
-
Logger.
|
|
144
|
+
} catch (t: Throwable) {
|
|
145
|
+
Logger.print(LogLevel.ERROR, t) { "$tag passPushPayload() : " }
|
|
145
146
|
}
|
|
146
147
|
}
|
|
147
148
|
|
|
148
149
|
@ReactMethod
|
|
149
|
-
|
|
150
|
+
fun initialize(payload: String) {
|
|
150
151
|
try {
|
|
151
|
-
Logger.
|
|
152
|
-
pluginHelper.
|
|
153
|
-
|
|
154
|
-
|
|
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.
|
|
163
|
+
Logger.print { "$tag selfHandledCallback() : $payload" }
|
|
162
164
|
pluginHelper.selfHandledCallback(context, payload)
|
|
163
|
-
} catch (
|
|
164
|
-
Logger.
|
|
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 (
|
|
173
|
-
Logger.
|
|
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.
|
|
180
|
-
if (
|
|
181
|
-
Logger.
|
|
182
|
-
promise.reject("error", "Use SDK version
|
|
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.
|
|
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.
|
|
194
|
+
Logger.print { "$tag updateSdkState() : $payload" }
|
|
193
195
|
pluginHelper.storeFeatureStatus(context, payload)
|
|
194
|
-
} catch (
|
|
195
|
-
Logger.
|
|
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.
|
|
203
|
+
try {
|
|
204
|
+
Logger.print { "$tag onOrientationChanged() : " }
|
|
203
205
|
pluginHelper.onConfigurationChanged()
|
|
204
|
-
}catch(
|
|
205
|
-
Logger.
|
|
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.
|
|
214
|
+
Logger.print { "$tag deviceIdentifierTrackingStatusUpdate() : $payload" }
|
|
213
215
|
pluginHelper.deviceIdentifierTrackingStatusUpdate(context, payload)
|
|
214
|
-
} catch (
|
|
215
|
-
Logger.
|
|
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.
|
|
17
|
-
Logger.
|
|
16
|
+
if (!InAppManager.hasModule()){
|
|
17
|
+
Logger.print { "$tag onConfigurationChanged() : InApp Module not present." }
|
|
18
18
|
return
|
|
19
19
|
}
|
|
20
20
|
MoEInAppHelper.getInstance().onConfigurationChanged()
|