react-native-netmera 2.0.0-beta02 → 2.0.0-beta03

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 (47) hide show
  1. package/README.md +2 -2
  2. package/RNNetmera.podspec +1 -1
  3. package/android/build.gradle +1 -1
  4. package/android/src/main/java/com/netmera/reactnativesdk/RNNetmeraPushActionCallbacks.kt +13 -17
  5. package/android/src/main/java/com/netmera/reactnativesdk/RNNetmeraUtil.kt +39 -8
  6. package/ios/RNNetmera.swift +3 -5
  7. package/ios/RNNetmeraPushLifecycleDelegate.swift +14 -18
  8. package/ios/RNNetmeraPushObject.swift +77 -88
  9. package/lib/module/Netmera.js +33 -15
  10. package/lib/module/Netmera.js.map +1 -1
  11. package/lib/module/index.js +4 -2
  12. package/lib/module/index.js.map +1 -1
  13. package/lib/module/models/NetmeraCarouselObject.js +18 -0
  14. package/lib/module/models/NetmeraCarouselObject.js.map +1 -0
  15. package/lib/module/models/NetmeraInteractiveAction.js +3 -3
  16. package/lib/module/models/NetmeraInteractiveAction.js.map +1 -1
  17. package/lib/module/models/NetmeraPushAction.js +27 -0
  18. package/lib/module/models/NetmeraPushAction.js.map +1 -0
  19. package/lib/module/models/NetmeraPushObject.js +58 -0
  20. package/lib/module/models/NetmeraPushObject.js.map +1 -0
  21. package/lib/typescript/src/Netmera.d.ts +8 -4
  22. package/lib/typescript/src/Netmera.d.ts.map +1 -1
  23. package/lib/typescript/src/index.d.ts +4 -2
  24. package/lib/typescript/src/index.d.ts.map +1 -1
  25. package/lib/typescript/src/models/NetmeraCarouselObject.d.ts +8 -0
  26. package/lib/typescript/src/models/NetmeraCarouselObject.d.ts.map +1 -0
  27. package/lib/typescript/src/models/NetmeraCategory.d.ts +2 -2
  28. package/lib/typescript/src/models/NetmeraCategory.d.ts.map +1 -1
  29. package/lib/typescript/src/models/NetmeraInteractiveAction.d.ts +2 -2
  30. package/lib/typescript/src/models/NetmeraInteractiveAction.d.ts.map +1 -1
  31. package/lib/typescript/src/models/NetmeraPushAction.d.ts +17 -0
  32. package/lib/typescript/src/models/NetmeraPushAction.d.ts.map +1 -0
  33. package/lib/typescript/src/models/NetmeraPushObject.d.ts +40 -0
  34. package/lib/typescript/src/models/NetmeraPushObject.d.ts.map +1 -0
  35. package/package.json +1 -1
  36. package/src/Netmera.ts +53 -35
  37. package/src/index.ts +8 -2
  38. package/src/models/NetmeraCarouselObject.ts +23 -0
  39. package/src/models/NetmeraCategory.ts +2 -2
  40. package/src/models/NetmeraInteractiveAction.ts +5 -5
  41. package/src/models/NetmeraPushAction.ts +28 -0
  42. package/src/models/NetmeraPushObject.ts +90 -0
  43. package/lib/module/models/NetmeraInbox.js +0 -37
  44. package/lib/module/models/NetmeraInbox.js.map +0 -1
  45. package/lib/typescript/src/models/NetmeraInbox.d.ts +0 -24
  46. package/lib/typescript/src/models/NetmeraInbox.d.ts.map +0 -1
  47. package/src/models/NetmeraInbox.ts +0 -60
package/README.md CHANGED
@@ -173,8 +173,8 @@ RNNetmera.initNetmera()
173
173
 
174
174
  ```
175
175
  // For receiving Media Push, you must add Netmera pods to top of your Podfile.
176
- pod 'NetmeraNotificationServiceExtension', "4.18.0"
177
- pod "NetmeraNotificationContentExtension", "4.18.0"
176
+ pod 'NetmeraNotificationServiceExtension', "4.19.0"
177
+ pod "NetmeraNotificationContentExtension", "4.19.0"
178
178
  ```
179
179
 
180
180
  7. In order to use the widget URL callback, add these lines into `AppDelegate.swift` file.
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.18.0'
22
+ netmera_version = '4.19.0'
23
23
 
24
24
  s.dependency "NetmeraAnalytic", netmera_version
25
25
  s.dependency "NetmeraAnalyticAutotracking", netmera_version
@@ -75,7 +75,7 @@ repositories {
75
75
  google()
76
76
  }
77
77
 
78
- def netmeraAndroidVersion = '4.14.4'
78
+ def netmeraAndroidVersion = '4.15.1'
79
79
 
80
80
  def kotlin_version = getExtOrDefault("kotlinVersion")
81
81
 
@@ -7,7 +7,6 @@ import android.os.Bundle
7
7
  import android.util.Log
8
8
  import com.facebook.react.HeadlessJsTaskService
9
9
  import com.facebook.react.bridge.Arguments
10
- import com.facebook.react.bridge.ReadableMap
11
10
  import com.facebook.react.bridge.WritableMap
12
11
  import com.netmera.NetmeraCarouselObject
13
12
  import com.netmera.NetmeraPushObject
@@ -28,26 +27,31 @@ class RNNetmeraPushActionCallbacks : NMPushActionCallbacks {
28
27
 
29
28
  override fun onPushRegister(context: Context, gcmSenderId: String, pushToken: String) {
30
29
  val bundle = Bundle().apply {
31
- putString("gcmSenderId", gcmSenderId)
32
30
  putString("pushToken", pushToken)
33
31
  }
34
32
  sendEvent(context, ON_PUSH_REGISTER, Arguments.fromBundle(bundle))
35
33
  }
36
34
 
37
35
  override fun onPushReceive(context: Context, bundle: Bundle?, netmeraPushObject: NetmeraPushObject) {
38
- sendEvent(context, ON_PUSH_RECEIVE, mergeMap(bundle, netmeraPushObject))
36
+ sendEvent(context, ON_PUSH_RECEIVE, RNNetmeraUtil.mapPushObject(netmeraPushObject))
39
37
  }
40
38
 
41
39
  override fun onPushOpen(context: Context, bundle: Bundle?, netmeraPushObject: NetmeraPushObject) {
42
- sendEvent(context, ON_PUSH_OPEN, mergeMap(bundle, netmeraPushObject))
40
+ sendEvent(context, ON_PUSH_OPEN, RNNetmeraUtil.mapPushObject(netmeraPushObject))
43
41
  }
44
42
 
45
43
  override fun onPushDismiss(context: Context, bundle: Bundle?, netmeraPushObject: NetmeraPushObject) {
46
- sendEvent(context, ON_PUSH_DISMISS, mergeMap(bundle, netmeraPushObject))
44
+ sendEvent(context, ON_PUSH_DISMISS, RNNetmeraUtil.mapPushObject(netmeraPushObject))
47
45
  }
48
46
 
49
47
  override fun onPushButtonClicked(context: Context, bundle: Bundle?, netmeraPushObject: NetmeraPushObject) {
50
- sendEvent(context, ON_PUSH_BUTTON_CLICKED, mergeMap(bundle, netmeraPushObject))
48
+ val map = RNNetmeraUtil.mapPushObject(netmeraPushObject)
49
+ val clickedIndex = bundle?.getInt("key.clicked.button.index", -1) ?: -1
50
+ val actions = netmeraPushObject.interactiveActions
51
+ if (clickedIndex >= 0 && actions != null && clickedIndex < actions.size) {
52
+ map.putMap("clickedAction", RNNetmeraUtil.mapInteractiveAction(actions[clickedIndex]))
53
+ }
54
+ sendEvent(context, ON_PUSH_BUTTON_CLICKED, map)
51
55
  }
52
56
 
53
57
  override fun onCarouselObjectSelected(
@@ -57,10 +61,9 @@ class RNNetmeraPushActionCallbacks : NMPushActionCallbacks {
57
61
  selectedIndex: Int,
58
62
  netmeraCarouselObject: NetmeraCarouselObject
59
63
  ) {
60
- val newBundle = bundle ?: Bundle()
61
- newBundle.putInt("selectedIndex", selectedIndex)
62
- val map = RNNetmeraUtil.mapCarouselObject(netmeraCarouselObject)
63
- map.merge(mergeMap(newBundle, netmeraPushObject))
64
+ val map = RNNetmeraUtil.mapPushObject(netmeraPushObject)
65
+ val carouselMap = RNNetmeraUtil.mapCarouselObject(netmeraCarouselObject)
66
+ map.putMap("carouselItem", carouselMap)
64
67
  sendEvent(context, ON_CAROUSEL_OBJECT_SELECTED, map)
65
68
  }
66
69
 
@@ -79,11 +82,4 @@ class RNNetmeraPushActionCallbacks : NMPushActionCallbacks {
79
82
  }
80
83
  }
81
84
 
82
- private fun mergeMap(bundle: Bundle?, netmeraPushObject: NetmeraPushObject): WritableMap {
83
- val mapPushObject = RNNetmeraUtil.mapPushObject(netmeraPushObject)
84
- val mapBundle: ReadableMap? = bundle?.let { Arguments.fromBundle(it) }
85
- mapBundle?.let { mapPushObject.merge(it) }
86
- return mapPushObject
87
- }
88
-
89
85
  }
@@ -2,8 +2,9 @@ package com.netmera.reactnativesdk
2
2
 
3
3
  import android.text.format.DateFormat
4
4
  import com.facebook.react.bridge.*
5
- import com.google.gson.Gson
5
+ import com.google.gson.JsonObject
6
6
  import com.netmera.NetmeraCarouselObject
7
+ import com.netmera.NetmeraInteractiveAction
7
8
  import com.netmera.NetmeraPushObject
8
9
  import com.netmera.data.NMCategoryPreference
9
10
  import com.netmera.data.NMCouponDetail
@@ -149,8 +150,12 @@ object RNNetmeraUtil {
149
150
  map.putString("expireTime", DateFormat.format("yyyy-MM-dd HH:mm:ss", it).toString())
150
151
  }
151
152
 
152
- pushObject.interactiveActions?.let {
153
- if (it.isNotEmpty()) map.putString("interactiveActions", Gson().toJson(it))
153
+ pushObject.interactiveActions?.let { actions ->
154
+ if (actions.isNotEmpty()) {
155
+ val actionsArray = Arguments.createArray()
156
+ actions.forEach { action -> actionsArray.pushMap(mapInteractiveAction(action)) }
157
+ map.putArray("interactiveActions", actionsArray)
158
+ }
154
159
  }
155
160
 
156
161
  pushObject.pushStyle?.let { style ->
@@ -158,7 +163,11 @@ object RNNetmeraUtil {
158
163
  style.subText?.let { map.putString("subtitle", it) }
159
164
  style.contentText?.let { map.putString("body", it) }
160
165
  style.bigPicturePath?.let { map.putString("mediaAttachmentURL", it) }
161
- style.retrieveCarouselObjects()?.let { map.putString("carousel", Gson().toJson(it)) }
166
+ style.carouselObjects?.let { carouselObjects ->
167
+ val carouselArray = Arguments.createArray()
168
+ carouselObjects.forEach { item -> carouselArray.pushMap(mapCarouselObject(item)) }
169
+ map.putArray("carousel", carouselArray)
170
+ }
162
171
  }
163
172
 
164
173
  pushObject.sendDate?.let {
@@ -166,8 +175,8 @@ object RNNetmeraUtil {
166
175
  "sendDate", DateFormat.format("yyyy-MM-dd HH:mm:ss", it).toString()
167
176
  )
168
177
  }
169
- pushObject.pushAction?.let {
170
- map.putString("pushAction", Gson().toJson(it))
178
+ pushObject.pushAction?.let { pushAction ->
179
+ map.putMap("pushAction", mapPushAction(pushAction))
171
180
  pushObject.webPageUrl?.let { url -> map.putString("webPage", url) }
172
181
  }
173
182
 
@@ -177,8 +186,30 @@ object RNNetmeraUtil {
177
186
  fun mapCarouselObject(carouselObject: NetmeraCarouselObject): WritableMap {
178
187
  val map: WritableMap = Arguments.createMap()
179
188
  map.putString("id", carouselObject.id)
180
- map.putString("action", Gson().toJson(carouselObject.action))
181
- map.putString("picturePath", carouselObject.picturePath)
189
+ carouselObject.picturePath?.let { map.putString("picturePath", it) }
190
+ carouselObject.action?.let { map.putMap("action", mapPushAction(it)) }
191
+ return map
192
+ }
193
+
194
+ fun mapInteractiveAction(action: NetmeraInteractiveAction): WritableMap {
195
+ val map: WritableMap = Arguments.createMap()
196
+ map.putString("id", action.id)
197
+ action.actionTitle?.let { map.putString("title", it) }
198
+ action.action?.let { map.putMap("act", mapPushAction(it)) }
199
+ action.customJson?.let {
200
+ try {
201
+ map.putMap("prms", jsonToWritableMap(JSONObject(it.toString())))
202
+ } catch (_: Throwable) {
203
+ }
204
+ }
205
+ return map
206
+ }
207
+
208
+ private fun mapPushAction(pushAction: JsonObject): WritableMap {
209
+ val map: WritableMap = Arguments.createMap()
210
+ pushAction.get("at")?.asInt?.let { map.putInt("at", it) }
211
+ val url = pushAction.get("uri")?.asString ?: pushAction.get("url")?.asString
212
+ url?.let { map.putString("url", it) }
182
213
  return map
183
214
  }
184
215
 
@@ -466,9 +466,7 @@ public class RNNetmera: NSObject {
466
466
  manager.inbox { result in
467
467
  switch result {
468
468
  case .success:
469
- let array: [[String: Any]] = manager.objects.map {
470
- RNNetmeraPushObject.getPushObjectMap($0)
471
- }
469
+ let array = RNNetmeraPushObject.mapPushObjects(manager.objects)
472
470
  resolver(array)
473
471
  self.netmeraInbox = manager
474
472
  break
@@ -597,7 +595,7 @@ public class RNNetmera: NSObject {
597
595
  data["unreadCount"] = categoryObject.statusCounts[.unread] ?? 0
598
596
  data["deletedCount"] = categoryObject.statusCounts[.deleted] ?? 0
599
597
  if let lastMessage = categoryObject.lastMessage {
600
- let lastMsg = RNNetmeraPushObject.getPushObjectMap(lastMessage)
598
+ let lastMsg = RNNetmeraPushObject.mapPushObject(lastMessage)
601
599
  if let jsonData = try? JSONSerialization.data(withJSONObject: lastMsg, options: []),
602
600
  let jsonStr = String(data: jsonData, encoding: .utf8) {
603
601
  data["lastMessage"] = jsonStr
@@ -637,7 +635,7 @@ public class RNNetmera: NSObject {
637
635
  data["unreadCount"] = categoryObject.statusCounts[.unread] ?? 0
638
636
  data["deletedCount"] = categoryObject.statusCounts[.deleted] ?? 0
639
637
  if let lastMessage = categoryObject.lastMessage {
640
- let lastMsg = RNNetmeraPushObject.getPushObjectMap(lastMessage)
638
+ let lastMsg = RNNetmeraPushObject.mapPushObject(lastMessage)
641
639
  if let jsonData = try? JSONSerialization.data(withJSONObject: lastMsg, options: []),
642
640
  let jsonStr = String(data: jsonData, encoding: .utf8) {
643
641
  data["lastMessage"] = jsonStr
@@ -14,40 +14,36 @@ final class RNNetmeraPushLifecycleDelegate: NetmeraPushLifecycleDelegate {
14
14
  }
15
15
 
16
16
  func didReceive(_ push: NetmeraBasePush) {
17
- guard let payload = RNNetmeraPushObject.getBasePushObjectMap(push) else { return }
18
- RNNetmeraRCTEventEmitter.onPushReceive(["payload": payload])
17
+ RNNetmeraRCTEventEmitter.onPushReceive(RNNetmeraPushObject.getPushObjectMap(push))
19
18
  }
20
19
 
21
20
  func didOpen(_ push: NetmeraBasePush) {
22
21
  if let deeplink = push.deeplinkURL {
23
22
  RNNetmeraRCTEventEmitter.onDeeplinkTriggered(deeplink)
24
23
  }
25
- guard let payload = RNNetmeraPushObject.getBasePushObjectMap(push) else { return }
26
- RNNetmeraRCTEventEmitter.onPushOpen(["payload": payload])
24
+ RNNetmeraRCTEventEmitter.onPushOpen(RNNetmeraPushObject.getPushObjectMap(push))
27
25
  }
28
26
 
29
27
  func didTakeAction(_ action: NetmeraBaseAction?, from source: NetmeraActionSource, for push: NetmeraBasePush) {
30
28
  if let deeplink = action?.deeplinkURL {
31
- RNNetmeraRCTEventEmitter.onDeeplinkTriggered(deeplink)
32
- }
33
-
34
- guard let payload = RNNetmeraPushObject.getBasePushObjectMap(push),
35
- let actionMap = RNNetmeraPushObject.getActionMap(action) else {
36
- return
29
+ RNNetmeraRCTEventEmitter.onDeeplinkTriggered(deeplink)
37
30
  }
38
-
39
- let eventData: [String: Any] = [
40
- "payload": payload,
41
- "action": actionMap
42
- ]
31
+
32
+ var eventData = RNNetmeraPushObject.getPushObjectMap(push)
43
33
 
44
34
  switch source {
45
35
  case .interactiveButton:
46
- RNNetmeraRCTEventEmitter.onPushButtonClicked(eventData)
36
+ if let actionMap = RNNetmeraPushObject.getInteractiveActionMap(action) {
37
+ eventData["clickedAction"] = actionMap
38
+ }
39
+ RNNetmeraRCTEventEmitter.onPushButtonClicked(eventData)
47
40
  case .carouselItem:
48
- RNNetmeraRCTEventEmitter.onCarouselItemClicked(eventData)
41
+ if let content = action as? NetmeraContentPushItem {
42
+ eventData["carouselItem"] = RNNetmeraPushObject.getCarouselItemMap(content)
43
+ }
44
+ RNNetmeraRCTEventEmitter.onCarouselItemClicked(eventData)
49
45
  @unknown default:
50
- break
46
+ break
51
47
  }
52
48
  }
53
49
  }
@@ -16,114 +16,103 @@ import NetmeraNotificationCore
16
16
  class RNNetmeraPushObject {
17
17
 
18
18
  static func mapPushObjects(_ pushObjects: [NetmeraInboxPush]) -> [[String: Any]] {
19
- return pushObjects.map { getPushObjectMap($0) }
19
+ return pushObjects.map { mapPushObject($0) }
20
+ }
21
+
22
+ static func mapPushObject(_ push: NetmeraInboxPush) -> [String: Any] {
23
+ guard let payload = push.payload else { return [:] }
24
+
25
+ var data = getPushObjectMap(payload)
26
+ if let status = push.status { data["inboxStatus"] = status.rawValue }
27
+
28
+ return data
20
29
  }
21
30
 
22
- static func getPushObjectMap(_ pushObject: NetmeraInboxPush) -> [String: Any] {
31
+ static func getPushObjectMap(_ push: NetmeraBasePush?) -> [String: Any] {
23
32
  var data: [String: Any] = [:]
24
-
25
- let push = pushObject.payload
26
- data["pushType"] = push?.pushType.rawValue ?? 0
27
- data["pushId"] = push?.pushId ?? ""
28
- data["pushInstanceId"] = push?.pushInstanceId ?? ""
29
- data["inboxStatus"] = pushObject.status?.rawValue
30
- data["category"] = push?.category ?? ""
31
- data["customJson"] = push?.params ?? [:]
32
- data["mediaAttachmentURL"] = push?.mediaAttachmentURL ?? ""
33
- data["externalId"] = push?.externalId ?? ""
34
-
35
- if let carousel = push?.carousel {
36
- data["carousel"] = carousel.map { item in
37
- var itemMap: [String: Any?] = [:]
38
- itemMap["id"] = item.id
39
- itemMap["bpp"] = item.url?.absoluteString
40
- itemMap["ctitle"] = item.title
41
- itemMap["ctext"] = item.subtitle
42
-
43
- if let action = item.action {
44
- itemMap["action"] = mapAction(action)
45
- }
46
-
47
- return itemMap
33
+ guard let push else { return data }
34
+
35
+ // MARK: NetmeraBasePush fields
36
+ data["pushType"] = push.pushType.rawValue
37
+ if let pushId = push.pushId { data["pushId"] = pushId }
38
+ if let pushInstanceId = push.pushInstanceId { data["pushInstanceId"] = pushInstanceId }
39
+ if let category = push.category { data["category"] = category }
40
+ if let customJson = push.params { data["customJson"] = customJson }
41
+ if let externalId = push.externalId { data["externalId"] = externalId }
42
+ if let categories = push.categoryIds { data["categories"] = categories }
43
+ if let sd = push.sendDate { data["sendDate"] = formatDate(sd) }
44
+ if let ed = push.expirationDate { data["expireTime"] = formatDate(ed) }
45
+
46
+ if let action = push.action {
47
+ data["pushAction"] = mapPushAction(action)
48
+ if let dl = (action as? NetmeraDeeplinkAction)?.deeplinkURL {
49
+ data["deepLink"] = dl
50
+ } else if let url = (action as? NetmeraWebViewAction)?.url {
51
+ data["webPage"] = url
48
52
  }
49
53
  }
50
-
51
- if let categories = push?.categoryIds {
52
- data["categories"] = categories
53
- }
54
-
55
- let alert = pushObject.alert
56
- data["title"] = alert?.title ?? ""
57
- data["subtitle"] = alert?.subtitle ?? ""
58
- data["body"] = alert?.body ?? ""
59
-
60
- if let expireDate = push?.expirationDate {
61
- data["expireTime"] = formatDate(expireDate)
54
+
55
+ // MARK: NetmeraStandartPush fields
56
+ if let standartPush = push as? NetmeraStandartPush,
57
+ let alert = standartPush.aps?.alert {
58
+ if let title = alert.title { data["title"] = title }
59
+ if let subtitle = alert.subtitle { data["subtitle"] = subtitle }
60
+ if let body = alert.body { data["body"] = body }
62
61
  }
63
-
64
- if let action = push?.action {
65
- let mappedAction = mapAction(action)
66
- data["pushAction"] = mappedAction
67
-
68
- if (action.actionType == .openDeeplink) {
69
- if let a = action as? NetmeraDeeplinkAction {
70
- data["action_deeplink_url"] = a.deeplinkURL
71
- }
72
- } else if (action.actionType == .showWebView) {
73
- if let a = action as? NetmeraWebViewAction {
74
- data["action_webpage_url"] = a.url
62
+
63
+ // MARK: NetmeraInboxPush.Payload fields
64
+ if let inboxPush = push as? NetmeraInboxPush.Payload {
65
+ if let url = inboxPush.mediaAttachmentURL { data["mediaAttachmentURL"] = url }
66
+
67
+ if let carousel = inboxPush.carousel {
68
+ data["carousel"] = carousel.map { item -> [String: Any] in
69
+ var itemMap: [String: Any] = [:]
70
+ itemMap["id"] = item.id
71
+ itemMap["picturePath"] = item.url?.absoluteString
72
+ if let action = item.action { itemMap["action"] = mapPushAction(action) }
73
+ return itemMap
75
74
  }
76
75
  }
77
- }
78
-
79
- if let actions = push?.interactiveAction {
80
- let mapped = actions.map { actionItem -> [String: Any] in
81
- var dict: [String: Any] = [:]
82
- dict["id"] = actionItem.id ?? ""
83
- dict["text"] = actionItem.title ?? ""
84
- if let act = actionItem.action {
85
- dict["act"] = mapAction(act)
76
+
77
+ if let ia = inboxPush.interactiveAction {
78
+ let mapped = ia.map { actionItem -> [String: Any] in
79
+ var dict: [String: Any] = [:]
80
+ if let id = actionItem.id { dict["id"] = id }
81
+ if let title = actionItem.title { dict["title"] = title }
82
+ if let act = actionItem.action { dict["act"] = mapPushAction(act) }
83
+ dict["prms"] = actionItem.params ?? [:]
84
+ return dict
85
+ }
86
+ if let jsonData = try? JSONSerialization.data(withJSONObject: mapped, options: []) {
87
+ data["interactiveActions"] = String(data: jsonData, encoding: .utf8)
86
88
  }
87
- dict["prms"] = actionItem.params ?? [:]
88
- return dict
89
- }
90
-
91
- if let jsonData = try? JSONSerialization.data(withJSONObject: mapped, options: []) {
92
- data["interactiveActions"] = String(data: jsonData, encoding: .utf8)
93
89
  }
94
90
  }
95
91
 
96
- if let sendDate = push?.sendDate {
97
- data["sendDate"] = formatDate(sendDate)
98
- }
99
-
100
92
  return data
101
93
  }
102
94
 
103
- static func getBasePushObjectMap(_ push: NetmeraBasePush) -> [String: Any]? {
104
- guard
105
- let data = try? JSONEncoder().encode(push),
106
- let dict = try? JSONSerialization.jsonObject(with: data) as? [String: Any]
107
- else {
108
- return nil
109
- }
110
-
95
+ static func getCarouselItemMap(_ item: NetmeraContentPushItem) -> [String: Any] {
96
+ var dict: [String: Any] = [:]
97
+ if let id = item.id { dict["id"] = id }
98
+ if let url = item.url { dict["picturePath"] = url.absoluteString }
99
+ if let action = item.action { dict["action"] = mapPushAction(action) }
111
100
  return dict
112
101
  }
113
-
114
- static func getActionMap(_ action: NetmeraBaseAction?) -> [String: Any]? {
115
- guard
116
- let action,
117
- let data = try? JSONEncoder().encode(action),
118
- let dict = try? JSONSerialization.jsonObject(with: data) as? [String: Any]
119
- else {
120
- return nil
121
- }
122
102
 
103
+ static func getInteractiveActionMap(_ action: NetmeraBaseAction?) -> [String: Any]? {
104
+ guard let action else { return nil }
105
+ var dict: [String: Any] = [:]
106
+ if let id = action.id { dict["id"] = id }
107
+ if let prms = action.params { dict["prms"] = prms }
108
+ if let pushAction = action.action { dict["act"] = mapPushAction(pushAction) }
109
+ if let ia = action as? NetmeraPushInteractiveAction, let title = ia.title {
110
+ dict["title"] = title
111
+ }
123
112
  return dict
124
113
  }
125
114
 
126
- private static func mapAction(_ action: NetmeraPushAction) -> [String: Any] {
115
+ static func mapPushAction(_ action: NetmeraPushAction) -> [String: Any] {
127
116
  var dict: [String: Any] = [:]
128
117
  dict["at"] = action.actionType?.rawValue
129
118
 
@@ -144,7 +133,7 @@ class RNNetmeraPushObject {
144
133
  @unknown default:
145
134
  break
146
135
  }
147
- return dict.filter { !($0.value is NSNull) }
136
+ return dict.compactMapValues { $0 }
148
137
  }
149
138
 
150
139
  private static func formatDate(_ date: Date) -> String {
@@ -5,51 +5,69 @@
5
5
  */
6
6
 
7
7
  import { AppRegistry, DeviceEventEmitter } from 'react-native';
8
- import NetmeraPushInbox from "./models/NetmeraInbox.js";
8
+ import NetmeraPushObject from "./models/NetmeraPushObject.js";
9
+ import NetmeraInteractiveAction from "./models/NetmeraInteractiveAction.js";
10
+ import NetmeraCarouselObject from "./models/NetmeraCarouselObject.js";
9
11
  import { NMInboxStatus } from "./models/NMInboxStatus.js";
10
12
  import { isAndroid, isIos } from "./utils/DeviceUtils.js";
11
13
  import { NotificationPermissionStatus } from "./models/NotificationPermissionStatus.js";
12
14
  import { netmeraRCTEventEmitter, RNNetmera } from "./utils/RNNetmera.js";
13
15
  export default class Netmera {
14
- static initBroadcastReceiver = (onPushRegister, onPushReceive, onPushOpen, onPushDismiss, onPushButtonClicked, onCarouselObjectSelected) => {
16
+ static setPushLifecycleCallbacks = (onPushRegister, onPushReceive, onPushOpen, onPushDismiss, onPushButtonClicked, onCarouselObjectSelected) => {
15
17
  if (onPushRegister) {
18
+ const wrapped = raw => onPushRegister({
19
+ pushToken: raw?.pushToken
20
+ });
16
21
  if (isAndroid()) {
17
- AppRegistry.registerHeadlessTask('onPushRegister', () => onPushRegister);
22
+ AppRegistry.registerHeadlessTask('onPushRegister', () => wrapped);
18
23
  } else {
19
- netmeraRCTEventEmitter.addListener('onPushRegister', onPushRegister);
24
+ netmeraRCTEventEmitter.addListener('onPushRegister', wrapped);
20
25
  }
21
26
  }
22
27
  if (onPushReceive) {
28
+ const wrapped = raw => onPushReceive(NetmeraPushObject.fromJson(raw));
23
29
  if (isAndroid()) {
24
- AppRegistry.registerHeadlessTask('onPushReceive', () => onPushReceive);
30
+ AppRegistry.registerHeadlessTask('onPushReceive', () => wrapped);
25
31
  } else {
26
- netmeraRCTEventEmitter.addListener('onPushReceive', onPushReceive);
32
+ netmeraRCTEventEmitter.addListener('onPushReceive', wrapped);
27
33
  }
28
34
  }
29
35
  if (onPushOpen) {
36
+ const wrapped = raw => onPushOpen(NetmeraPushObject.fromJson(raw));
30
37
  if (isAndroid()) {
31
- AppRegistry.registerHeadlessTask('onPushOpen', () => onPushOpen);
38
+ AppRegistry.registerHeadlessTask('onPushOpen', () => wrapped);
32
39
  } else {
33
- netmeraRCTEventEmitter.addListener('onPushOpen', onPushOpen);
40
+ netmeraRCTEventEmitter.addListener('onPushOpen', wrapped);
34
41
  }
35
42
  }
36
43
  if (onPushDismiss) {
44
+ const wrapped = raw => onPushDismiss(NetmeraPushObject.fromJson(raw));
37
45
  if (isAndroid()) {
38
- AppRegistry.registerHeadlessTask('onPushDismiss', () => onPushDismiss);
46
+ AppRegistry.registerHeadlessTask('onPushDismiss', () => wrapped);
39
47
  }
40
48
  }
41
49
  if (onPushButtonClicked) {
50
+ const wrapped = raw => {
51
+ const push = NetmeraPushObject.fromJson(raw);
52
+ const action = raw?.clickedAction ? NetmeraInteractiveAction.fromJson(raw.clickedAction) : undefined;
53
+ return onPushButtonClicked(push, action);
54
+ };
42
55
  if (isAndroid()) {
43
- AppRegistry.registerHeadlessTask('onPushButtonClicked', () => onPushButtonClicked);
56
+ AppRegistry.registerHeadlessTask('onPushButtonClicked', () => wrapped);
44
57
  } else {
45
- netmeraRCTEventEmitter.addListener('onPushButtonClicked', onPushButtonClicked);
58
+ netmeraRCTEventEmitter.addListener('onPushButtonClicked', wrapped);
46
59
  }
47
60
  }
48
61
  if (onCarouselObjectSelected) {
62
+ const wrapped = raw => {
63
+ const push = NetmeraPushObject.fromJson(raw);
64
+ const carouselItem = raw?.carouselItem ? NetmeraCarouselObject.fromJson(raw.carouselItem) : undefined;
65
+ return onCarouselObjectSelected(push, carouselItem);
66
+ };
49
67
  if (isAndroid()) {
50
- AppRegistry.registerHeadlessTask('onCarouselObjectSelected', () => onCarouselObjectSelected);
68
+ AppRegistry.registerHeadlessTask('onCarouselObjectSelected', () => wrapped);
51
69
  } else {
52
- netmeraRCTEventEmitter.addListener('onCarouselItemClicked', onCarouselObjectSelected);
70
+ netmeraRCTEventEmitter.addListener('onCarouselItemClicked', wrapped);
53
71
  }
54
72
  }
55
73
  };
@@ -122,11 +140,11 @@ export default class Netmera {
122
140
  };
123
141
  static fetchInbox = async netmeraInboxFilter => {
124
142
  const items = await RNNetmera.fetchInbox(netmeraInboxFilter);
125
- return items.map(NetmeraPushInbox.fromJson);
143
+ return items.map(NetmeraPushObject.fromJson);
126
144
  };
127
145
  static fetchNextPage = async () => {
128
146
  const items = await RNNetmera.fetchNextPage();
129
- return items.map(NetmeraPushInbox.fromJson);
147
+ return items.map(NetmeraPushObject.fromJson);
130
148
  };
131
149
  static countForStatus = (status = NMInboxStatus.STATUS_UNREAD) => {
132
150
  return RNNetmera.countForStatus(status);
@@ -1 +1 @@
1
- {"version":3,"names":["AppRegistry","DeviceEventEmitter","NetmeraPushInbox","NMInboxStatus","isAndroid","isIos","NotificationPermissionStatus","netmeraRCTEventEmitter","RNNetmera","Netmera","initBroadcastReceiver","onPushRegister","onPushReceive","onPushOpen","onPushDismiss","onPushButtonClicked","onCarouselObjectSelected","registerHeadlessTask","addListener","onWidgetUrlTriggered","handler","eventData","url","currentExternalId","checkNotificationPermission","status","statusMap","NotDetermined","Blocked","Denied","Granted","requestPushNotificationAuthorization","requestPermissionsForLocation","setNetmeraMaxActiveRegions","maxActiveRegions","enablePopupPresentation","disablePopupPresentation","dismissAllPresentations","isPushEnabled","enablePush","disablePush","kill","startDataTransfer","stopDataTransfer","fetchCoupons","page","max","fetchInbox","netmeraInboxFilter","items","map","fromJson","fetchNextPage","countForStatus","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","pushToken","isNetmeraRemoteMessage","undefined","hasOwnProperty","getInitialURL","setEmailPermission","isAllowed","getEmailPermission","setSmsPermission","getSmsPermission","setWhatsAppPermission","getWhatsAppPermission"],"sourceRoot":"../../src","sources":["Netmera.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["AppRegistry","DeviceEventEmitter","NetmeraPushObject","NetmeraInteractiveAction","NetmeraCarouselObject","NMInboxStatus","isAndroid","isIos","NotificationPermissionStatus","netmeraRCTEventEmitter","RNNetmera","Netmera","setPushLifecycleCallbacks","onPushRegister","onPushReceive","onPushOpen","onPushDismiss","onPushButtonClicked","onCarouselObjectSelected","wrapped","raw","pushToken","registerHeadlessTask","addListener","fromJson","push","action","clickedAction","undefined","carouselItem","onWidgetUrlTriggered","handler","eventData","url","currentExternalId","checkNotificationPermission","status","statusMap","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","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","setEmailPermission","isAllowed","getEmailPermission","setSmsPermission","getSmsPermission","setWhatsAppPermission","getWhatsAppPermission"],"sourceRoot":"../../src","sources":["Netmera.ts"],"mappings":"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","ignoreList":[]}