react-native-netmera 2.0.1 → 2.1.0-alpha01
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/RNNetmera.podspec +1 -1
- package/android/build.gradle +1 -1
- package/android/src/main/java/com/netmera/reactnativesdk/RNNetmera.kt +4 -0
- package/android/src/main/java/com/netmera/reactnativesdk/RNNetmeraConfigHandler.kt +33 -0
- package/android/src/main/java/com/netmera/reactnativesdk/RNNetmeraModule.kt +13 -1
- package/ios/RNNetmera.mm +3 -0
- package/ios/RNNetmera.swift +11 -0
- package/ios/RNNetmeraConfigHandler.swift +28 -0
- package/ios/RNNetmeraRCTEventEmitter.swift +7 -0
- package/lib/commonjs/Netmera.js +277 -0
- package/lib/commonjs/Netmera.js.map +1 -0
- package/lib/commonjs/autotrack/NetmeraAutoTrackProvider.js +406 -0
- package/lib/commonjs/autotrack/NetmeraAutoTrackProvider.js.map +1 -0
- package/lib/commonjs/events/NetmeraEvent.js +13 -0
- package/lib/commonjs/events/NetmeraEvent.js.map +1 -0
- package/lib/commonjs/events/NetmeraEventBannerOpen.js +19 -0
- package/lib/commonjs/events/NetmeraEventBannerOpen.js.map +1 -0
- package/lib/commonjs/events/NetmeraEventBatteryLevel.js +16 -0
- package/lib/commonjs/events/NetmeraEventBatteryLevel.js.map +1 -0
- package/lib/commonjs/events/NetmeraEventCategoryView.js +19 -0
- package/lib/commonjs/events/NetmeraEventCategoryView.js.map +1 -0
- package/lib/commonjs/events/NetmeraEventInAppPurchase.js +34 -0
- package/lib/commonjs/events/NetmeraEventInAppPurchase.js.map +1 -0
- package/lib/commonjs/events/NetmeraEventLogin.js +16 -0
- package/lib/commonjs/events/NetmeraEventLogin.js.map +1 -0
- package/lib/commonjs/events/NetmeraEventRegister.js +16 -0
- package/lib/commonjs/events/NetmeraEventRegister.js.map +1 -0
- package/lib/commonjs/events/NetmeraEventScreenView.js +28 -0
- package/lib/commonjs/events/NetmeraEventScreenView.js.map +1 -0
- package/lib/commonjs/events/NetmeraEventSearch.js +19 -0
- package/lib/commonjs/events/NetmeraEventSearch.js.map +1 -0
- package/lib/commonjs/events/NetmeraEventShare.js +19 -0
- package/lib/commonjs/events/NetmeraEventShare.js.map +1 -0
- package/lib/commonjs/events/commerce/NetmeraEventCartAddProduct.js +19 -0
- package/lib/commonjs/events/commerce/NetmeraEventCartAddProduct.js.map +1 -0
- package/lib/commonjs/events/commerce/NetmeraEventCartRemoveProduct.js +16 -0
- package/lib/commonjs/events/commerce/NetmeraEventCartRemoveProduct.js.map +1 -0
- package/lib/commonjs/events/commerce/NetmeraEventCartView.js +19 -0
- package/lib/commonjs/events/commerce/NetmeraEventCartView.js.map +1 -0
- package/lib/commonjs/events/commerce/NetmeraEventOrderCancel.js +25 -0
- package/lib/commonjs/events/commerce/NetmeraEventOrderCancel.js.map +1 -0
- package/lib/commonjs/events/commerce/NetmeraEventProductComment.js +13 -0
- package/lib/commonjs/events/commerce/NetmeraEventProductComment.js.map +1 -0
- package/lib/commonjs/events/commerce/NetmeraEventProductRate.js +16 -0
- package/lib/commonjs/events/commerce/NetmeraEventProductRate.js.map +1 -0
- package/lib/commonjs/events/commerce/NetmeraEventProductView.js +13 -0
- package/lib/commonjs/events/commerce/NetmeraEventProductView.js.map +1 -0
- package/lib/commonjs/events/commerce/NetmeraEventPurchase.js +40 -0
- package/lib/commonjs/events/commerce/NetmeraEventPurchase.js.map +1 -0
- package/lib/commonjs/events/commerce/NetmeraEventWishList.js +13 -0
- package/lib/commonjs/events/commerce/NetmeraEventWishList.js.map +1 -0
- package/lib/commonjs/events/commerce/NetmeraLineItem.js +14 -0
- package/lib/commonjs/events/commerce/NetmeraLineItem.js.map +1 -0
- package/lib/commonjs/events/commerce/NetmeraProduct.js +51 -0
- package/lib/commonjs/events/commerce/NetmeraProduct.js.map +1 -0
- package/lib/commonjs/events/media/NetmeraEventContent.js +48 -0
- package/lib/commonjs/events/media/NetmeraEventContent.js.map +1 -0
- package/lib/commonjs/events/media/NetmeraEventContentComment.js +12 -0
- package/lib/commonjs/events/media/NetmeraEventContentComment.js.map +1 -0
- package/lib/commonjs/events/media/NetmeraEventContentRate.js +15 -0
- package/lib/commonjs/events/media/NetmeraEventContentRate.js.map +1 -0
- package/lib/commonjs/events/media/NetmeraEventContentView.js +12 -0
- package/lib/commonjs/events/media/NetmeraEventContentView.js.map +1 -0
- package/lib/commonjs/index.js +352 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/models/NMCategoryPreference.js +13 -0
- package/lib/commonjs/models/NMCategoryPreference.js.map +1 -0
- package/lib/commonjs/models/NMInboxStatus.js +15 -0
- package/lib/commonjs/models/NMInboxStatus.js.map +1 -0
- package/lib/commonjs/models/NMInboxStatusCountFilter.js +17 -0
- package/lib/commonjs/models/NMInboxStatusCountFilter.js.map +1 -0
- package/lib/commonjs/models/NetmeraCarouselObject.js +24 -0
- package/lib/commonjs/models/NetmeraCarouselObject.js.map +1 -0
- package/lib/commonjs/models/NetmeraCategory.js +13 -0
- package/lib/commonjs/models/NetmeraCategory.js.map +1 -0
- package/lib/commonjs/models/NetmeraCategoryFilter.js +13 -0
- package/lib/commonjs/models/NetmeraCategoryFilter.js.map +1 -0
- package/lib/commonjs/models/NetmeraCouponObject.js +13 -0
- package/lib/commonjs/models/NetmeraCouponObject.js.map +1 -0
- package/lib/commonjs/models/NetmeraInboxFilter.js +13 -0
- package/lib/commonjs/models/NetmeraInboxFilter.js.map +1 -0
- package/lib/commonjs/models/NetmeraInteractiveAction.js +24 -0
- package/lib/commonjs/models/NetmeraInteractiveAction.js.map +1 -0
- package/lib/commonjs/models/NetmeraProfileAttribute.js +80 -0
- package/lib/commonjs/models/NetmeraProfileAttribute.js.map +1 -0
- package/lib/commonjs/models/NetmeraPushAction.js +31 -0
- package/lib/commonjs/models/NetmeraPushAction.js.map +1 -0
- package/lib/commonjs/models/NetmeraPushObject.js +63 -0
- package/lib/commonjs/models/NetmeraPushObject.js.map +1 -0
- package/lib/commonjs/models/NetmeraUser.js +93 -0
- package/lib/commonjs/models/NetmeraUser.js.map +1 -0
- package/lib/commonjs/models/NetmeraUserProfile.js +63 -0
- package/lib/commonjs/models/NetmeraUserProfile.js.map +1 -0
- package/lib/commonjs/models/NotificationPermissionStatus.js +14 -0
- package/lib/commonjs/models/NotificationPermissionStatus.js.map +1 -0
- package/lib/commonjs/navigation/NetmeraNavigationState.js +31 -0
- package/lib/commonjs/navigation/NetmeraNavigationState.js.map +1 -0
- package/lib/commonjs/navigation/NetmeraNavigationTracker.js +70 -0
- package/lib/commonjs/navigation/NetmeraNavigationTracker.js.map +1 -0
- package/lib/commonjs/navigation/useNetmeraNavigation.js +83 -0
- package/lib/commonjs/navigation/useNetmeraNavigation.js.map +1 -0
- package/lib/commonjs/package.json +1 -0
- package/lib/commonjs/utils/DeviceUtils.js +16 -0
- package/lib/commonjs/utils/DeviceUtils.js.map +1 -0
- package/lib/commonjs/utils/Optional.js +37 -0
- package/lib/commonjs/utils/Optional.js.map +1 -0
- package/lib/commonjs/utils/RNNetmera.js +19 -0
- package/lib/commonjs/utils/RNNetmera.js.map +1 -0
- package/lib/module/NetmeraAnalyticProvider.js +68 -0
- package/lib/module/NetmeraAnalyticProvider.js.map +1 -0
- package/lib/module/autotracking/NetmeraNavigationState.js +14 -0
- package/lib/module/autotracking/NetmeraNavigationState.js.map +1 -0
- package/lib/module/autotracking/useNavigationTracking.js +103 -0
- package/lib/module/autotracking/useNavigationTracking.js.map +1 -0
- package/lib/module/autotracking/useTapTracking.js +246 -0
- package/lib/module/autotracking/useTapTracking.js.map +1 -0
- package/lib/module/index.js +4 -1
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/NetmeraAnalyticProvider.d.ts +26 -0
- package/lib/typescript/src/NetmeraAnalyticProvider.d.ts.map +1 -0
- package/lib/typescript/src/autotracking/NetmeraNavigationState.d.ts +3 -0
- package/lib/typescript/src/autotracking/NetmeraNavigationState.d.ts.map +1 -0
- package/lib/typescript/src/autotracking/useNavigationTracking.d.ts +13 -0
- package/lib/typescript/src/autotracking/useNavigationTracking.d.ts.map +1 -0
- package/lib/typescript/src/autotracking/useTapTracking.d.ts +6 -0
- package/lib/typescript/src/autotracking/useTapTracking.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +3 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/NetmeraAnalyticProvider.tsx +124 -0
- package/src/autotracking/NetmeraNavigationState.ts +13 -0
- package/src/autotracking/useNavigationTracking.ts +129 -0
- package/src/autotracking/useTapTracking.ts +301 -0
- package/src/index.ts +6 -0
package/RNNetmera.podspec
CHANGED
|
@@ -19,7 +19,7 @@ NETMERA is a Mobile Application Engagement Platform. We offer a series of develo
|
|
|
19
19
|
s.source_files = "ios/**/*.{h,m,mm,swift}"
|
|
20
20
|
s.public_header_files = "ios/RNNetmera.h"
|
|
21
21
|
|
|
22
|
-
netmera_version = '4.
|
|
22
|
+
netmera_version = '4.23.0'
|
|
23
23
|
|
|
24
24
|
s.dependency "NetmeraAnalytic", netmera_version
|
|
25
25
|
s.dependency "NetmeraAnalyticAutotracking", netmera_version
|
package/android/build.gradle
CHANGED
|
@@ -2,15 +2,19 @@ package com.netmera.reactnativesdk
|
|
|
2
2
|
|
|
3
3
|
import android.app.Application
|
|
4
4
|
import android.content.ContentValues
|
|
5
|
+
import com.netmera.InternalNetmera
|
|
5
6
|
import com.netmera.NMActivityLifecycleCallbacks
|
|
6
7
|
import com.netmera.Netmera
|
|
8
|
+
import com.netmera.Platform
|
|
7
9
|
|
|
8
10
|
object RNNetmera {
|
|
9
11
|
@JvmStatic
|
|
10
12
|
fun initNetmera(netmeraConfiguration: RNNetmeraConfiguration) {
|
|
11
13
|
val application = netmeraConfiguration.context.applicationContext as Application
|
|
12
14
|
application.registerActivityLifecycleCallbacks(NMActivityLifecycleCallbacks(application))
|
|
15
|
+
RNNetmeraConfigHandler.setAppConfigCallback()
|
|
13
16
|
Netmera.init(netmeraConfiguration.getNetmeraConfiguration())
|
|
17
|
+
InternalNetmera.setPlatform(Platform.REACT_NATIVE)
|
|
14
18
|
setNetmeraHeaders()
|
|
15
19
|
}
|
|
16
20
|
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
package com.netmera.reactnativesdk
|
|
2
|
+
|
|
3
|
+
import com.facebook.react.bridge.Arguments
|
|
4
|
+
import com.facebook.react.bridge.Promise
|
|
5
|
+
import com.facebook.react.bridge.WritableMap
|
|
6
|
+
import com.netmera.InternalAppConfig
|
|
7
|
+
import com.netmera.InternalNetmera
|
|
8
|
+
import com.netmera.callbacks.NMInternalAppConfigListener
|
|
9
|
+
|
|
10
|
+
object RNNetmeraConfigHandler {
|
|
11
|
+
|
|
12
|
+
const val EVENT_AUTO_TRACK_CONFIG_UPDATE = "onAutoTrackConfigUpdate"
|
|
13
|
+
|
|
14
|
+
fun getAutoTrackConfig(promise: Promise) {
|
|
15
|
+
val config = InternalNetmera.getAppConfig()
|
|
16
|
+
promise.resolve(buildConfigMap(config))
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
fun setAppConfigCallback() {
|
|
20
|
+
InternalNetmera.setAppConfigCallback(object : NMInternalAppConfigListener {
|
|
21
|
+
override fun onAppConfigUpdated(appConfig: InternalAppConfig) {
|
|
22
|
+
RNNetmeraModule.emitEvent(EVENT_AUTO_TRACK_CONFIG_UPDATE, buildConfigMap(appConfig))
|
|
23
|
+
}
|
|
24
|
+
})
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
private fun buildConfigMap(config: InternalAppConfig): WritableMap =
|
|
28
|
+
Arguments.createMap().apply {
|
|
29
|
+
putBoolean("isScreenFlowEnabled", config.isScreenFlowEnabled)
|
|
30
|
+
putBoolean("isInputActionEnabled", config.isInputActionEnabled)
|
|
31
|
+
putBoolean("shouldCollectValues", config.shouldCollectValues)
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -9,6 +9,7 @@ import com.facebook.react.bridge.ReactApplicationContext
|
|
|
9
9
|
import com.facebook.react.bridge.ReactContextBaseJavaModule
|
|
10
10
|
import com.facebook.react.bridge.ReactMethod
|
|
11
11
|
import com.facebook.react.bridge.ReadableMap
|
|
12
|
+
import com.facebook.react.bridge.WritableMap
|
|
12
13
|
import com.facebook.react.modules.core.DeviceEventManagerModule
|
|
13
14
|
import com.google.firebase.messaging.RemoteMessage
|
|
14
15
|
import com.google.gson.Gson
|
|
@@ -50,6 +51,11 @@ class RNNetmeraModule(reactContext: ReactApplicationContext) :
|
|
|
50
51
|
|
|
51
52
|
override fun getName(): String = NAME
|
|
52
53
|
|
|
54
|
+
@ReactMethod
|
|
55
|
+
fun getAutoTrackConfig(promise: Promise) {
|
|
56
|
+
RNNetmeraConfigHandler.getAutoTrackConfig(promise)
|
|
57
|
+
}
|
|
58
|
+
|
|
53
59
|
@ReactMethod
|
|
54
60
|
fun currentExternalId(promise: Promise) {
|
|
55
61
|
promise.resolve(Netmera.getCurrentExternalId())
|
|
@@ -690,7 +696,13 @@ class RNNetmeraModule(reactContext: ReactApplicationContext) :
|
|
|
690
696
|
|
|
691
697
|
fun emitEvent(eventName: String, eventData: String) {
|
|
692
698
|
reactContext
|
|
693
|
-
|
|
699
|
+
.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter::class.java)
|
|
700
|
+
.emit(eventName, eventData)
|
|
701
|
+
}
|
|
702
|
+
|
|
703
|
+
fun emitEvent(eventName: String, eventData: WritableMap) {
|
|
704
|
+
reactContext
|
|
705
|
+
.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter::class.java)
|
|
694
706
|
.emit(eventName, eventData)
|
|
695
707
|
}
|
|
696
708
|
|
package/ios/RNNetmera.mm
CHANGED
|
@@ -131,6 +131,9 @@ RCT_EXTERN_METHOD(setWhatsAppPermission:(BOOL)isAllowed
|
|
|
131
131
|
RCT_EXTERN_METHOD(getWhatsAppPermission:(RCTPromiseResolveBlock)resolve
|
|
132
132
|
withRejecter:(RCTPromiseRejectBlock)reject)
|
|
133
133
|
|
|
134
|
+
RCT_EXTERN_METHOD(getAutoTrackConfig:(RCTPromiseResolveBlock)resolve
|
|
135
|
+
withRejecter:(RCTPromiseRejectBlock)reject)
|
|
136
|
+
|
|
134
137
|
+ (BOOL)requiresMainQueueSetup
|
|
135
138
|
{
|
|
136
139
|
return NO;
|
package/ios/RNNetmera.swift
CHANGED
|
@@ -70,6 +70,7 @@ public class RNNetmera: NSObject {
|
|
|
70
70
|
/// Call once early in `didFinishLaunchingWithOptions` from `AppDelegate`.
|
|
71
71
|
public static func initNetmera() {
|
|
72
72
|
guard !isInitialized else { return }
|
|
73
|
+
RNNetmeraConfigHandler.setAppConfigCallback()
|
|
73
74
|
Netmera.initialize()
|
|
74
75
|
applyConfiguration()
|
|
75
76
|
isInitialized = true
|
|
@@ -81,12 +82,14 @@ public class RNNetmera: NSObject {
|
|
|
81
82
|
/// - params: Optional configuration parameters for the SDK.
|
|
82
83
|
public static func initialize(params: NetmeraParams) {
|
|
83
84
|
guard !isInitialized else { return }
|
|
85
|
+
RNNetmeraConfigHandler.setAppConfigCallback()
|
|
84
86
|
Netmera.initialize(params: params)
|
|
85
87
|
applyConfiguration()
|
|
86
88
|
isInitialized = true
|
|
87
89
|
}
|
|
88
90
|
|
|
89
91
|
private static func applyConfiguration() {
|
|
92
|
+
InternalNetmera.setPlatform(.reactNative)
|
|
90
93
|
setNetmeraHeaders()
|
|
91
94
|
Netmera.setPushLifecycleDelegate(RNNetmeraPushLifecycleDelegate.shared)
|
|
92
95
|
#if DEBUG
|
|
@@ -799,4 +802,12 @@ public class RNNetmera: NSObject {
|
|
|
799
802
|
resolve(RNNetmeraRCTEventEmitter.getInitialUrl())
|
|
800
803
|
}
|
|
801
804
|
|
|
805
|
+
@objc(getAutoTrackConfig:withRejecter:)
|
|
806
|
+
func getAutoTrackConfig(
|
|
807
|
+
_ resolve: @escaping RCTPromiseResolveBlock,
|
|
808
|
+
withRejecter reject: @escaping RCTPromiseRejectBlock
|
|
809
|
+
) {
|
|
810
|
+
RNNetmeraConfigHandler.getAutoTrackConfig(resolve: resolve, reject: reject)
|
|
811
|
+
}
|
|
812
|
+
|
|
802
813
|
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import NetmeraCore
|
|
2
|
+
import React
|
|
3
|
+
|
|
4
|
+
enum RNNetmeraConfigHandler {
|
|
5
|
+
|
|
6
|
+
static func getAutoTrackConfig(
|
|
7
|
+
resolve: @escaping RCTPromiseResolveBlock,
|
|
8
|
+
reject: @escaping RCTPromiseRejectBlock
|
|
9
|
+
) {
|
|
10
|
+
resolve(buildConfigMap(from: InternalNetmera.getAppConfig()))
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
static func setAppConfigCallback() {
|
|
14
|
+
InternalNetmera.setAppConfigCallback { result in
|
|
15
|
+
if case .success(let config) = result {
|
|
16
|
+
RNNetmeraRCTEventEmitter.onAutoTrackConfigUpdate(buildConfigMap(from: config))
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
private static func buildConfigMap(from config: InternalNetmera.InternalAppConfig) -> [String: Bool] {
|
|
22
|
+
return [
|
|
23
|
+
"isScreenFlowEnabled": config.shouldSendScreenEvent,
|
|
24
|
+
"isInputActionEnabled": config.shouldSendInputFlow,
|
|
25
|
+
"shouldCollectValues": config.shouldSendInputValue
|
|
26
|
+
]
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -14,6 +14,7 @@ public class RNNetmeraRCTEventEmitter: RCTEventEmitter {
|
|
|
14
14
|
static let onPushButtonClicked = "onPushButtonClicked"
|
|
15
15
|
static let onCarouselItemClicked = "onCarouselItemClicked"
|
|
16
16
|
static let onWidgetUrlTriggered = "onWidgetUrlTriggered"
|
|
17
|
+
static let onAutoTrackConfigUpdate = "onAutoTrackConfigUpdate"
|
|
17
18
|
}
|
|
18
19
|
|
|
19
20
|
private static weak var emitterInstance: RNNetmeraRCTEventEmitter?
|
|
@@ -101,6 +102,7 @@ public class RNNetmeraRCTEventEmitter: RCTEventEmitter {
|
|
|
101
102
|
EventName.onPushRegister,
|
|
102
103
|
EventName.onPushButtonClicked,
|
|
103
104
|
EventName.onCarouselItemClicked,
|
|
105
|
+
EventName.onAutoTrackConfigUpdate,
|
|
104
106
|
]
|
|
105
107
|
}
|
|
106
108
|
|
|
@@ -149,4 +151,9 @@ public class RNNetmeraRCTEventEmitter: RCTEventEmitter {
|
|
|
149
151
|
@objc public static func onCarouselItemClicked(_ body: [String: Any]) {
|
|
150
152
|
deliver(EventName.onCarouselItemClicked, body: body, waiting: &waitingOnCarouselItemClicked)
|
|
151
153
|
}
|
|
154
|
+
|
|
155
|
+
static func onAutoTrackConfigUpdate(_ body: [String: Bool]) {
|
|
156
|
+
guard let emitter = emitterInstance else { return }
|
|
157
|
+
emitter.sendEvent(withName: EventName.onAutoTrackConfigUpdate, body: body)
|
|
158
|
+
}
|
|
152
159
|
}
|
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _reactNative = require("react-native");
|
|
8
|
+
var _NetmeraPushObject = _interopRequireDefault(require("./models/NetmeraPushObject"));
|
|
9
|
+
var _NetmeraInteractiveAction = _interopRequireDefault(require("./models/NetmeraInteractiveAction"));
|
|
10
|
+
var _NetmeraCarouselObject = _interopRequireDefault(require("./models/NetmeraCarouselObject"));
|
|
11
|
+
var _NMInboxStatus = require("./models/NMInboxStatus");
|
|
12
|
+
var _DeviceUtils = require("./utils/DeviceUtils");
|
|
13
|
+
var _NotificationPermissionStatus = require("./models/NotificationPermissionStatus");
|
|
14
|
+
var _RNNetmera = require("./utils/RNNetmera");
|
|
15
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
16
|
+
/*
|
|
17
|
+
* Copyright (c) 2026 Netmera Research.
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
class Netmera {
|
|
21
|
+
static setPushLifecycleCallbacks = (onPushRegister, onPushReceive, onPushOpen, onPushDismiss, onPushButtonClicked, onCarouselObjectSelected) => {
|
|
22
|
+
if (onPushRegister) {
|
|
23
|
+
const wrapped = raw => onPushRegister({
|
|
24
|
+
pushToken: raw?.pushToken
|
|
25
|
+
});
|
|
26
|
+
if ((0, _DeviceUtils.isAndroid)()) {
|
|
27
|
+
_reactNative.AppRegistry.registerHeadlessTask('onPushRegister', () => wrapped);
|
|
28
|
+
} else {
|
|
29
|
+
_RNNetmera.netmeraRCTEventEmitter.addListener('onPushRegister', wrapped);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
if (onPushReceive) {
|
|
33
|
+
const wrapped = raw => onPushReceive(_NetmeraPushObject.default.fromJson(raw));
|
|
34
|
+
if ((0, _DeviceUtils.isAndroid)()) {
|
|
35
|
+
_reactNative.AppRegistry.registerHeadlessTask('onPushReceive', () => wrapped);
|
|
36
|
+
} else {
|
|
37
|
+
_RNNetmera.netmeraRCTEventEmitter.addListener('onPushReceive', wrapped);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
if (onPushOpen) {
|
|
41
|
+
const wrapped = raw => onPushOpen(_NetmeraPushObject.default.fromJson(raw));
|
|
42
|
+
if ((0, _DeviceUtils.isAndroid)()) {
|
|
43
|
+
_reactNative.AppRegistry.registerHeadlessTask('onPushOpen', () => wrapped);
|
|
44
|
+
} else {
|
|
45
|
+
_RNNetmera.netmeraRCTEventEmitter.addListener('onPushOpen', wrapped);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
if (onPushDismiss) {
|
|
49
|
+
const wrapped = raw => onPushDismiss(_NetmeraPushObject.default.fromJson(raw));
|
|
50
|
+
if ((0, _DeviceUtils.isAndroid)()) {
|
|
51
|
+
_reactNative.AppRegistry.registerHeadlessTask('onPushDismiss', () => wrapped);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
if (onPushButtonClicked) {
|
|
55
|
+
const wrapped = raw => {
|
|
56
|
+
const push = _NetmeraPushObject.default.fromJson(raw);
|
|
57
|
+
const action = raw?.clickedAction ? _NetmeraInteractiveAction.default.fromJson(raw.clickedAction) : undefined;
|
|
58
|
+
return onPushButtonClicked(push, action);
|
|
59
|
+
};
|
|
60
|
+
if ((0, _DeviceUtils.isAndroid)()) {
|
|
61
|
+
_reactNative.AppRegistry.registerHeadlessTask('onPushButtonClicked', () => wrapped);
|
|
62
|
+
} else {
|
|
63
|
+
_RNNetmera.netmeraRCTEventEmitter.addListener('onPushButtonClicked', wrapped);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
if (onCarouselObjectSelected) {
|
|
67
|
+
const wrapped = raw => {
|
|
68
|
+
const push = _NetmeraPushObject.default.fromJson(raw);
|
|
69
|
+
const carouselItem = raw?.carouselItem ? _NetmeraCarouselObject.default.fromJson(raw.carouselItem) : undefined;
|
|
70
|
+
return onCarouselObjectSelected(push, carouselItem);
|
|
71
|
+
};
|
|
72
|
+
if ((0, _DeviceUtils.isAndroid)()) {
|
|
73
|
+
_reactNative.AppRegistry.registerHeadlessTask('onCarouselObjectSelected', () => wrapped);
|
|
74
|
+
} else {
|
|
75
|
+
_RNNetmera.netmeraRCTEventEmitter.addListener('onCarouselItemClicked', wrapped);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
static onWidgetUrlTriggered = handler => {
|
|
80
|
+
if ((0, _DeviceUtils.isAndroid)()) {
|
|
81
|
+
_reactNative.DeviceEventEmitter.addListener('onWidgetUrlTriggered', eventData => {
|
|
82
|
+
handler(eventData);
|
|
83
|
+
});
|
|
84
|
+
} else {
|
|
85
|
+
_RNNetmera.netmeraRCTEventEmitter.addListener('onWidgetUrlTriggered', eventData => {
|
|
86
|
+
handler(eventData?.url);
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
static currentExternalId = async () => {
|
|
91
|
+
return _RNNetmera.RNNetmera.currentExternalId();
|
|
92
|
+
};
|
|
93
|
+
static checkNotificationPermission = async () => {
|
|
94
|
+
let status = await _RNNetmera.RNNetmera.checkNotificationPermission();
|
|
95
|
+
const statusMap = {
|
|
96
|
+
'0': _NotificationPermissionStatus.NotificationPermissionStatus.NotDetermined,
|
|
97
|
+
'NOT_DETERMINED': _NotificationPermissionStatus.NotificationPermissionStatus.NotDetermined,
|
|
98
|
+
'1': _NotificationPermissionStatus.NotificationPermissionStatus.Blocked,
|
|
99
|
+
'BLOCKED': _NotificationPermissionStatus.NotificationPermissionStatus.Blocked,
|
|
100
|
+
'2': _NotificationPermissionStatus.NotificationPermissionStatus.Denied,
|
|
101
|
+
'DENIED': _NotificationPermissionStatus.NotificationPermissionStatus.Denied,
|
|
102
|
+
'3': _NotificationPermissionStatus.NotificationPermissionStatus.Granted,
|
|
103
|
+
'GRANTED': _NotificationPermissionStatus.NotificationPermissionStatus.Granted
|
|
104
|
+
};
|
|
105
|
+
return statusMap[status] ?? _NotificationPermissionStatus.NotificationPermissionStatus.NotDetermined;
|
|
106
|
+
};
|
|
107
|
+
static requestPushNotificationAuthorization = () => {
|
|
108
|
+
return _RNNetmera.RNNetmera.requestPushNotificationAuthorization();
|
|
109
|
+
};
|
|
110
|
+
static requestPermissionsForLocation = () => {
|
|
111
|
+
_RNNetmera.RNNetmera.requestPermissionsForLocation();
|
|
112
|
+
};
|
|
113
|
+
static setNetmeraMaxActiveRegions = maxActiveRegions => {
|
|
114
|
+
_RNNetmera.RNNetmera.setNetmeraMaxActiveRegions(maxActiveRegions);
|
|
115
|
+
};
|
|
116
|
+
static enablePopupPresentation = () => {
|
|
117
|
+
_RNNetmera.RNNetmera.enablePopupPresentation();
|
|
118
|
+
};
|
|
119
|
+
static disablePopupPresentation = () => {
|
|
120
|
+
_RNNetmera.RNNetmera.disablePopupPresentation();
|
|
121
|
+
};
|
|
122
|
+
static dismissAllPresentations = () => {
|
|
123
|
+
_RNNetmera.RNNetmera.dismissAllPresentations();
|
|
124
|
+
};
|
|
125
|
+
static isPushEnabled = async () => {
|
|
126
|
+
return _RNNetmera.RNNetmera.isPushEnabled();
|
|
127
|
+
};
|
|
128
|
+
static enablePush = () => {
|
|
129
|
+
_RNNetmera.RNNetmera.enablePush();
|
|
130
|
+
};
|
|
131
|
+
static disablePush = () => {
|
|
132
|
+
_RNNetmera.RNNetmera.disablePush();
|
|
133
|
+
};
|
|
134
|
+
static kill = () => {
|
|
135
|
+
_RNNetmera.RNNetmera.kill();
|
|
136
|
+
};
|
|
137
|
+
static startDataTransfer = () => {
|
|
138
|
+
_RNNetmera.RNNetmera.startDataTransfer();
|
|
139
|
+
};
|
|
140
|
+
static stopDataTransfer = () => {
|
|
141
|
+
_RNNetmera.RNNetmera.stopDataTransfer();
|
|
142
|
+
};
|
|
143
|
+
static fetchCoupons = (page, max) => {
|
|
144
|
+
return _RNNetmera.RNNetmera.fetchCoupons(page, max);
|
|
145
|
+
};
|
|
146
|
+
static fetchInbox = async netmeraInboxFilter => {
|
|
147
|
+
const items = await _RNNetmera.RNNetmera.fetchInbox(netmeraInboxFilter);
|
|
148
|
+
return items.map(_NetmeraPushObject.default.fromJson);
|
|
149
|
+
};
|
|
150
|
+
static fetchNextPage = async () => {
|
|
151
|
+
const items = await _RNNetmera.RNNetmera.fetchNextPage();
|
|
152
|
+
return items.map(_NetmeraPushObject.default.fromJson);
|
|
153
|
+
};
|
|
154
|
+
static countForStatus = (status = _NMInboxStatus.NMInboxStatus.STATUS_UNREAD) => {
|
|
155
|
+
return _RNNetmera.RNNetmera.countForStatus(status);
|
|
156
|
+
};
|
|
157
|
+
static inboxUpdateStatus = (fromIndex, toIndex, status = _NMInboxStatus.NMInboxStatus.STATUS_UNREAD) => {
|
|
158
|
+
return _RNNetmera.RNNetmera.inboxUpdateStatus(fromIndex, toIndex, status);
|
|
159
|
+
};
|
|
160
|
+
static fetchCategory = categoryFilter => {
|
|
161
|
+
return _RNNetmera.RNNetmera.fetchCategory(categoryFilter);
|
|
162
|
+
};
|
|
163
|
+
static fetchNextCategoryPage = () => {
|
|
164
|
+
return _RNNetmera.RNNetmera.fetchNextCategoryPage();
|
|
165
|
+
};
|
|
166
|
+
static sendEvent = event => {
|
|
167
|
+
_RNNetmera.RNNetmera.sendEvent(event);
|
|
168
|
+
};
|
|
169
|
+
|
|
170
|
+
/**
|
|
171
|
+
* Sends a generic (custom) event with [code] and [attributes] to the Netmera.
|
|
172
|
+
* Use this for events that are not pre-defined in [NetmeraEvent].
|
|
173
|
+
*/
|
|
174
|
+
static sendGenericEvent = (code, attributes) => {
|
|
175
|
+
const processedAttrs = {};
|
|
176
|
+
for (const [key, value] of Object.entries(attributes)) {
|
|
177
|
+
if (value instanceof Date) {
|
|
178
|
+
processedAttrs[key] = value.getTime();
|
|
179
|
+
} else if (Array.isArray(value) && value.length > 0 && value.every(v => v instanceof Date)) {
|
|
180
|
+
processedAttrs[key] = value.map(d => d.getTime());
|
|
181
|
+
} else {
|
|
182
|
+
processedAttrs[key] = value;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
_RNNetmera.RNNetmera.sendGenericEvent(code, processedAttrs);
|
|
186
|
+
};
|
|
187
|
+
static identifyUser = (user, callback) => {
|
|
188
|
+
const payload = user.getIdentifyPayload();
|
|
189
|
+
if (callback) {
|
|
190
|
+
_RNNetmera.RNNetmera.identifyUser(payload, true).then(() => {
|
|
191
|
+
callback(true, null);
|
|
192
|
+
}).catch(error => {
|
|
193
|
+
callback(false, error);
|
|
194
|
+
});
|
|
195
|
+
} else {
|
|
196
|
+
_RNNetmera.RNNetmera.identifyUser(payload, false);
|
|
197
|
+
}
|
|
198
|
+
};
|
|
199
|
+
static updateUserProfile = (userProfile, callback) => {
|
|
200
|
+
if (callback) {
|
|
201
|
+
_RNNetmera.RNNetmera.updateUserProfile(userProfile.getChangesPayload(), true).then(() => {
|
|
202
|
+
callback(true, null);
|
|
203
|
+
}).catch(error => {
|
|
204
|
+
callback(false, error);
|
|
205
|
+
});
|
|
206
|
+
} else {
|
|
207
|
+
_RNNetmera.RNNetmera.updateUserProfile(userProfile.getChangesPayload(), false);
|
|
208
|
+
}
|
|
209
|
+
};
|
|
210
|
+
static updateAll = inboxStatus => {
|
|
211
|
+
return _RNNetmera.RNNetmera.updateAll(inboxStatus);
|
|
212
|
+
};
|
|
213
|
+
static handlePushObject = pushId => {
|
|
214
|
+
_RNNetmera.RNNetmera.handlePushObject(pushId);
|
|
215
|
+
};
|
|
216
|
+
static handleInteractiveAction = interactiveActionId => {
|
|
217
|
+
_RNNetmera.RNNetmera.handleInteractiveAction(interactiveActionId);
|
|
218
|
+
};
|
|
219
|
+
static updateStatusByCategories = (fromIndex, toIndex, status = _NMInboxStatus.NMInboxStatus.STATUS_UNREAD) => {
|
|
220
|
+
return _RNNetmera.RNNetmera.updateStatusByCategories(fromIndex, toIndex, status);
|
|
221
|
+
};
|
|
222
|
+
static getInboxCountForStatus = nmInboxStatusCountFilter => {
|
|
223
|
+
return _RNNetmera.RNNetmera.getInboxCountForStatus(nmInboxStatusCountFilter);
|
|
224
|
+
};
|
|
225
|
+
static getUserCategoryPreferenceList = () => {
|
|
226
|
+
return _RNNetmera.RNNetmera.getUserCategoryPreferenceList();
|
|
227
|
+
};
|
|
228
|
+
static setUserCategoryPreference = (categoryId, categoryEnabled) => {
|
|
229
|
+
return _RNNetmera.RNNetmera.setUserCategoryPreference(categoryId, categoryEnabled);
|
|
230
|
+
};
|
|
231
|
+
static onNetmeraFirebasePushMessageReceived = (from, data) => {
|
|
232
|
+
if ((0, _DeviceUtils.isAndroid)() && data) {
|
|
233
|
+
data['google.c.sender.id'] = from ?? '';
|
|
234
|
+
_RNNetmera.RNNetmera.onNetmeraPushMessageReceived(data);
|
|
235
|
+
}
|
|
236
|
+
};
|
|
237
|
+
static onNetmeraHuaweiPushMessageReceived = (from, data) => {
|
|
238
|
+
if ((0, _DeviceUtils.isAndroid)() && data) {
|
|
239
|
+
data._nm = JSON.stringify(data._nm);
|
|
240
|
+
data.from = from ?? '';
|
|
241
|
+
_RNNetmera.RNNetmera.onNetmeraPushMessageReceived(data);
|
|
242
|
+
}
|
|
243
|
+
};
|
|
244
|
+
static onNetmeraNewToken = pushToken => {
|
|
245
|
+
if ((0, _DeviceUtils.isAndroid)()) {
|
|
246
|
+
_RNNetmera.RNNetmera.onNetmeraNewToken(pushToken);
|
|
247
|
+
}
|
|
248
|
+
};
|
|
249
|
+
static isNetmeraRemoteMessage(data) {
|
|
250
|
+
return (0, _DeviceUtils.isAndroid)() && data !== undefined && data.hasOwnProperty('_nm');
|
|
251
|
+
}
|
|
252
|
+
static getInitialURL = async () => {
|
|
253
|
+
if ((0, _DeviceUtils.isIos)()) {
|
|
254
|
+
return _RNNetmera.RNNetmera.getInitialURL();
|
|
255
|
+
}
|
|
256
|
+
};
|
|
257
|
+
static async setEmailPermission(isAllowed) {
|
|
258
|
+
return _RNNetmera.RNNetmera.setEmailPermission(isAllowed);
|
|
259
|
+
}
|
|
260
|
+
static async getEmailPermission() {
|
|
261
|
+
return _RNNetmera.RNNetmera.getEmailPermission();
|
|
262
|
+
}
|
|
263
|
+
static async setSmsPermission(isAllowed) {
|
|
264
|
+
return _RNNetmera.RNNetmera.setSmsPermission(isAllowed);
|
|
265
|
+
}
|
|
266
|
+
static async getSmsPermission() {
|
|
267
|
+
return _RNNetmera.RNNetmera.getSmsPermission();
|
|
268
|
+
}
|
|
269
|
+
static async setWhatsAppPermission(isAllowed) {
|
|
270
|
+
return _RNNetmera.RNNetmera.setWhatsAppPermission(isAllowed);
|
|
271
|
+
}
|
|
272
|
+
static async getWhatsAppPermission() {
|
|
273
|
+
return _RNNetmera.RNNetmera.getWhatsAppPermission();
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
exports.default = Netmera;
|
|
277
|
+
//# sourceMappingURL=Netmera.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_NetmeraPushObject","_interopRequireDefault","_NetmeraInteractiveAction","_NetmeraCarouselObject","_NMInboxStatus","_DeviceUtils","_NotificationPermissionStatus","_RNNetmera","e","__esModule","default","Netmera","setPushLifecycleCallbacks","onPushRegister","onPushReceive","onPushOpen","onPushDismiss","onPushButtonClicked","onCarouselObjectSelected","wrapped","raw","pushToken","isAndroid","AppRegistry","registerHeadlessTask","netmeraRCTEventEmitter","addListener","NetmeraPushObject","fromJson","push","action","clickedAction","NetmeraInteractiveAction","undefined","carouselItem","NetmeraCarouselObject","onWidgetUrlTriggered","handler","DeviceEventEmitter","eventData","url","currentExternalId","RNNetmera","checkNotificationPermission","status","statusMap","NotificationPermissionStatus","NotDetermined","Blocked","Denied","Granted","requestPushNotificationAuthorization","requestPermissionsForLocation","setNetmeraMaxActiveRegions","maxActiveRegions","enablePopupPresentation","disablePopupPresentation","dismissAllPresentations","isPushEnabled","enablePush","disablePush","kill","startDataTransfer","stopDataTransfer","fetchCoupons","page","max","fetchInbox","netmeraInboxFilter","items","map","fetchNextPage","countForStatus","NMInboxStatus","STATUS_UNREAD","inboxUpdateStatus","fromIndex","toIndex","fetchCategory","categoryFilter","fetchNextCategoryPage","sendEvent","event","sendGenericEvent","code","attributes","processedAttrs","key","value","Object","entries","Date","getTime","Array","isArray","length","every","v","d","identifyUser","user","callback","payload","getIdentifyPayload","then","catch","error","updateUserProfile","userProfile","getChangesPayload","updateAll","inboxStatus","handlePushObject","pushId","handleInteractiveAction","interactiveActionId","updateStatusByCategories","getInboxCountForStatus","nmInboxStatusCountFilter","getUserCategoryPreferenceList","setUserCategoryPreference","categoryId","categoryEnabled","onNetmeraFirebasePushMessageReceived","from","data","onNetmeraPushMessageReceived","onNetmeraHuaweiPushMessageReceived","_nm","JSON","stringify","onNetmeraNewToken","isNetmeraRemoteMessage","hasOwnProperty","getInitialURL","isIos","setEmailPermission","isAllowed","getEmailPermission","setSmsPermission","getSmsPermission","setWhatsAppPermission","getWhatsAppPermission","exports"],"sourceRoot":"../../src","sources":["Netmera.ts"],"mappings":"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","ignoreList":[]}
|