react-native-netmera 1.3.2 → 1.3.6

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 (141) hide show
  1. package/.idea/misc.xml +2 -1
  2. package/.idea/modules.xml +1 -1
  3. package/.idea/{netmera.iml → netmera-sdk-react-native.iml} +1 -1
  4. package/README.md +475 -17
  5. package/RNNetmera.podspec +4 -5
  6. package/android/.gradle/4.10.1/fileHashes/fileHashes.bin +0 -0
  7. package/android/.gradle/4.10.1/fileHashes/fileHashes.lock +0 -0
  8. package/android/.idea/gradle.xml +2 -0
  9. package/android/.idea/misc.xml +1 -1
  10. package/android/{android.iml → .idea/modules/android.iml} +5 -3
  11. package/android/.idea/modules.xml +1 -1
  12. package/android/.idea/vcs.xml +6 -0
  13. package/android/build/.transforms/07da1e78aa5e2a23e865850e1fa31195/classes/classes.dex +0 -0
  14. package/android/build/.transforms/07da1e78aa5e2a23e865850e1fa31195.bin +1 -0
  15. package/android/build/.transforms/1cc655d17744898d5287444bc3b54ccd/classes/classes.dex +0 -0
  16. package/android/build/.transforms/1cc655d17744898d5287444bc3b54ccd.bin +1 -0
  17. package/android/build/.transforms/1d7e2a596c5a01e1599ed8d99d8fed25/classes/classes.dex +0 -0
  18. package/android/build/.transforms/1d7e2a596c5a01e1599ed8d99d8fed25.bin +1 -0
  19. package/android/build/.transforms/61070ab087fd3e8aaad4987d1cd9aeb2/classes/classes.dex +0 -0
  20. package/android/build/.transforms/61070ab087fd3e8aaad4987d1cd9aeb2.bin +1 -0
  21. package/android/build/.transforms/6bd284ae922673d08694a1221c01809c/classes/classes.dex +0 -0
  22. package/android/build/.transforms/6bd284ae922673d08694a1221c01809c.bin +1 -0
  23. package/android/build/.transforms/a8f21d984467d686c5d11cdc3f508ab2/classes/classes.dex +0 -0
  24. package/android/build/.transforms/a8f21d984467d686c5d11cdc3f508ab2.bin +1 -0
  25. package/android/build/.transforms/ae3b3ad311ea4fe5b0c3652f1d5b8a07/classes/classes.dex +0 -0
  26. package/android/build/.transforms/ae3b3ad311ea4fe5b0c3652f1d5b8a07.bin +1 -0
  27. package/android/build/.transforms/cc45f1af54894b49e3ec8f6b5a05a8d7/classes/classes.dex +0 -0
  28. package/android/build/.transforms/cc45f1af54894b49e3ec8f6b5a05a8d7.bin +1 -0
  29. package/android/build/.transforms/f58e3ec11746c18253c1a7a566c2609f/classes/classes.dex +0 -0
  30. package/android/build/.transforms/f58e3ec11746c18253c1a7a566c2609f.bin +1 -0
  31. package/android/build/generated/source/buildConfig/debug/com/{reactlibrary → netmera/reactnativesdk}/BuildConfig.java +2 -3
  32. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/AndroidManifest.xml +15 -0
  33. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/output.json +27 -0
  34. package/android/build/intermediates/compile_library_classes_jar/debug/classes.jar +0 -0
  35. package/android/build/intermediates/compile_only_not_namespaced_r_class_jar/debug/R.jar +0 -0
  36. package/android/build/intermediates/compile_symbol_list/debug/R.txt +3524 -0
  37. package/android/build/intermediates/incremental/{debug-mergeJniLibs → debug-mergeNativeLibs}/merge-state +0 -0
  38. package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +1 -1
  39. package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +1 -1
  40. package/android/build/intermediates/incremental/packageDebugAssets/merger.xml +1 -1
  41. package/android/build/intermediates/incremental/packageDebugResources/compile-file-map.properties +1 -1
  42. package/android/build/intermediates/incremental/packageDebugResources/merger.xml +1 -1
  43. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/BuildConfig.class +0 -0
  44. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmera.class +0 -0
  45. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraCategoryObject.class +0 -0
  46. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraConfiguration$1.class +0 -0
  47. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraConfiguration$Builder.class +0 -0
  48. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraConfiguration.class +0 -0
  49. package/android/build/intermediates/javac/debug/{compileDebugJavaWithJavac/classes/com/reactlibrary → classes/com/netmera/reactnativesdk}/RNNetmeraEvent.class +0 -0
  50. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraModule$1.class +0 -0
  51. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraModule$2.class +0 -0
  52. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraModule$3.class +0 -0
  53. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraModule$4.class +0 -0
  54. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraModule$5.class +0 -0
  55. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraModule$6.class +0 -0
  56. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraModule$7.class +0 -0
  57. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraModule.class +0 -0
  58. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraPackage.class +0 -0
  59. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraPushBroadcastReceiver.class +0 -0
  60. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraPushHeadlessService.class +0 -0
  61. package/android/build/intermediates/javac/debug/{compileDebugJavaWithJavac/classes/com/reactlibrary → classes/com/netmera/reactnativesdk}/RNNetmeraUser.class +0 -0
  62. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraUtil$1.class +0 -0
  63. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraUtil.class +0 -0
  64. package/android/build/intermediates/library_manifest/debug/AndroidManifest.xml +6 -2
  65. package/android/build/intermediates/local_only_symbol_list/debug/R-def.txt +2 -0
  66. package/android/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt +20 -0
  67. package/android/build/intermediates/merged_manifests/debug/output.json +27 -1
  68. package/android/build/intermediates/navigation_json/debug/navigation.json +1 -0
  69. package/android/build/intermediates/runtime_library_classes_jar/debug/classes.jar +0 -0
  70. package/android/build/intermediates/{res/symbol-table-with-package → symbol_list_with_package_name}/debug/package-aware-r.txt +756 -32
  71. package/android/build/outputs/logs/manifest-merger-debug-report.txt +34 -28
  72. package/android/build.gradle +4 -4
  73. package/android/local.properties +2 -2
  74. package/android/src/main/AndroidManifest.xml +1 -1
  75. package/android/src/main/java/com/netmera/reactnativesdk/RNNetmera.java +26 -0
  76. package/android/src/main/java/com/netmera/reactnativesdk/RNNetmeraCategoryObject.java +56 -0
  77. package/android/src/main/java/com/netmera/reactnativesdk/RNNetmeraConfiguration.java +128 -0
  78. package/android/src/main/java/com/{reactlibrary → netmera/reactnativesdk}/RNNetmeraEvent.java +1 -1
  79. package/android/src/main/java/com/{reactlibrary → netmera/reactnativesdk}/RNNetmeraModule.java +168 -31
  80. package/android/src/main/java/com/{reactlibrary → netmera/reactnativesdk}/RNNetmeraPackage.java +1 -1
  81. package/android/src/main/java/com/{reactlibrary → netmera/reactnativesdk}/RNNetmeraPushBroadcastReceiver.java +19 -41
  82. package/android/src/main/java/com/{reactlibrary → netmera/reactnativesdk}/RNNetmeraPushHeadlessService.java +1 -1
  83. package/android/src/main/java/com/{reactlibrary → netmera/reactnativesdk}/RNNetmeraUser.java +1 -1
  84. package/android/src/main/java/com/{reactlibrary → netmera/reactnativesdk}/RNNetmeraUtil.java +69 -69
  85. package/index.js +127 -36
  86. package/ios/RNNetmera.h +6 -0
  87. package/ios/RNNetmera.m +220 -92
  88. package/ios/RNNetmera.xcodeproj/project.pbxproj +35 -3
  89. package/ios/RNNetmera.xcodeproj/xcshareddata/xcschemes/RNNetmera.xcscheme +67 -0
  90. package/ios/RNNetmera.xcodeproj/xcuserdata/{huseyin.xcuserdatad → ensarbayhan.xcuserdatad}/xcschemes/xcschememanagement.plist +1 -1
  91. package/ios/RNNetmeraCategoryObject.h +16 -0
  92. package/ios/RNNetmeraCategoryObject.m +59 -0
  93. package/ios/RNNetmeraEvent.h +1 -1
  94. package/ios/RNNetmeraEvent.m +5 -1
  95. package/ios/RNNetmeraRCTEventEmitter.h +4 -3
  96. package/ios/RNNetmeraRCTEventEmitter.m +9 -5
  97. package/ios/RNNetmeraUser.h +1 -1
  98. package/ios/RNNetmeraUtils.h +1 -1
  99. package/ios/RNNetmeraUtils.m +45 -14
  100. package/package.json +1 -1
  101. package/.idea/encodings.xml +0 -4
  102. package/.idea/workspace.xml +0 -188
  103. package/android/.gradle/5.0/fileChanges/last-build.bin +0 -0
  104. package/android/.gradle/5.0/fileHashes/fileHashes.bin +0 -0
  105. package/android/.gradle/5.0/fileHashes/fileHashes.lock +0 -0
  106. package/android/.gradle/5.0/gc.properties +0 -0
  107. package/android/.idea/codeStyles/Project.xml +0 -29
  108. package/android/.idea/runConfigurations.xml +0 -12
  109. package/android/.idea/workspace.xml +0 -221
  110. package/android/build/generated/source/buildConfig/androidTest/debug/com/reactlibrary/test/BuildConfig.java +0 -13
  111. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +0 -11
  112. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output.json +0 -1
  113. package/android/build/intermediates/aapt_fr/304/261endly_merged_man/304/261fests/debug/aapt/AndroidManifest.xml +0 -11
  114. package/android/build/intermediates/aapt_fr/304/261endly_merged_man/304/261fests/debug/aapt/output.json +0 -1
  115. package/android/build/intermediates/annotat/304/261on_processor_l/304/261st/debug/annotationProcessors.json +0 -1
  116. package/android/build/intermediates/compile_only_not_namespaced_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
  117. package/android/build/intermediates/comp/304/261le_l/304/261brary_classes/debug/classes.jar +0 -0
  118. package/android/build/intermediates/comp/304/261le_only_not_namespaced_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
  119. package/android/build/intermediates/intermediate-jars/debug/classes.jar +0 -0
  120. package/android/build/intermediates/intermediate-jars/debug/res.jar +0 -0
  121. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/reactlibrary/BuildConfig.class +0 -0
  122. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/reactlibrary/RNNetmeraModule$1.class +0 -0
  123. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/reactlibrary/RNNetmeraModule$2.class +0 -0
  124. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/reactlibrary/RNNetmeraModule$3.class +0 -0
  125. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/reactlibrary/RNNetmeraModule.class +0 -0
  126. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/reactlibrary/RNNetmeraPackage.class +0 -0
  127. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/reactlibrary/RNNetmeraPushBroadcastReceiver.class +0 -0
  128. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/reactlibrary/RNNetmeraUtil$1.class +0 -0
  129. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/reactlibrary/RNNetmeraUtil.class +0 -0
  130. package/android/build/intermediates/l/304/261brary_java_res/debug/res.jar +0 -0
  131. package/android/build/intermediates/l/304/261brary_man/304/261fest/debug/AndroidManifest.xml +0 -11
  132. package/android/build/intermediates/merged_manifests/debugAndroidTest/AndroidManifest.xml +0 -225
  133. package/android/build/intermediates/merged_manifests/debugAndroidTest/output.json +0 -1
  134. package/android/build/intermediates/merged_man/304/261fests/debug/output.json +0 -1
  135. package/android/build/intermediates/runt/304/261me_l/304/261brary_classes/debug/classes.jar +0 -0
  136. package/android/build/intermediates/symbols/debug/R.txt +0 -1943
  137. package/android/build/intermediates/transforms/mergeJniLibs/debug/__content__.json +0 -1
  138. package/android/react-native-netmera.iml +0 -277
  139. package/ios/RNNetmera.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  140. package/ios/RNNetmera.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  141. package/ios/RNNetmera.xcodeproj/project.xcworkspace/xcuserdata/huseyin.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
@@ -6,7 +6,7 @@
6
6
  // Copyright © 2019 Netmera. All rights reserved.
7
7
  //
8
8
 
9
- package com.reactlibrary;
9
+ package com.netmera.reactnativesdk;
10
10
 
11
11
  import android.content.ComponentName;
12
12
  import android.content.Context;
@@ -19,16 +19,16 @@ import com.facebook.react.bridge.Arguments;
19
19
  import com.facebook.react.bridge.ReactContext;
20
20
  import com.facebook.react.bridge.WritableMap;
21
21
  import com.facebook.react.modules.core.DeviceEventManagerModule;
22
- import com.netmera.NetmeraPushBroadcastReceiver;
23
22
  import com.netmera.NetmeraPushObject;
23
+ import com.netmera.callbacks.NMPushActionCallbacks;
24
24
 
25
- import static com.reactlibrary.RNNetmeraPushHeadlessService.TASK_KEY;
26
- import static com.reactlibrary.RNNetmeraPushHeadlessService.TASK_MESSAGE;
25
+ import static com.netmera.reactnativesdk.RNNetmeraPushHeadlessService.TASK_KEY;
26
+ import static com.netmera.reactnativesdk.RNNetmeraPushHeadlessService.TASK_MESSAGE;
27
27
 
28
- public class RNNetmeraPushBroadcastReceiver extends NetmeraPushBroadcastReceiver {
28
+ public class RNNetmeraPushBroadcastReceiver implements NMPushActionCallbacks {
29
29
 
30
30
  @Override
31
- protected void onPushRegister(Context context, String gcmSenderId, String pushToken) {
31
+ public void onPushRegister(Context context, String gcmSenderId, String pushToken) {
32
32
  Bundle bundle = new Bundle();
33
33
  bundle.putString("gcmSenderId", gcmSenderId);
34
34
  bundle.putString("pushToken", pushToken);
@@ -36,52 +36,26 @@ public class RNNetmeraPushBroadcastReceiver extends NetmeraPushBroadcastReceiver
36
36
  }
37
37
 
38
38
  @Override
39
- protected void onPushReceive(Context context, Bundle bundle, NetmeraPushObject netmeraPushObject) {
39
+ public void onPushReceive(Context context, Bundle bundle, NetmeraPushObject netmeraPushObject) {
40
40
  sendEvent(context, "onPushReceive", mergeMap(bundle, netmeraPushObject));
41
41
  }
42
42
 
43
43
  @Override
44
- protected void onPushOpen(Context context, Bundle bundle, NetmeraPushObject netmeraPushObject) {
45
- sendForegroundEvent("onPushOpen", mergeMap(bundle, netmeraPushObject));
46
- sendBackgroundEvent(context, "onPushOpen", mergeMap(bundle, netmeraPushObject));
44
+ public void onPushOpen(Context context, Bundle bundle, NetmeraPushObject netmeraPushObject) {
45
+ sendEvent(context, "onPushOpen", mergeMap(bundle, netmeraPushObject));
47
46
  }
48
47
 
49
48
  @Override
50
- protected void onPushDismiss(Context context, Bundle bundle, NetmeraPushObject netmeraPushObject) {
49
+ public void onPushDismiss(Context context, Bundle bundle, NetmeraPushObject netmeraPushObject) {
51
50
  sendEvent(context, "onPushDismiss", mergeMap(bundle, netmeraPushObject));
52
51
  }
53
52
 
54
53
  @Override
55
- protected void onPushButtonClicked(Context context, Bundle bundle, NetmeraPushObject netmeraPushObject) {
54
+ public void onPushButtonClicked(Context context, Bundle bundle, NetmeraPushObject netmeraPushObject) {
56
55
  sendEvent(context, "onPushButtonClicked", mergeMap(bundle, netmeraPushObject));
57
56
  }
58
57
 
59
58
  private void sendEvent(Context context, String eventName, WritableMap map) {
60
- if (RNNetmeraUtil.isAppInForeground(context)) {
61
- sendForegroundEvent(eventName, map);
62
- return;
63
- }
64
- sendBackgroundEvent(context, eventName, map);
65
- }
66
-
67
- private WritableMap mergeMap(Bundle bundle, NetmeraPushObject netmeraPushObject) {
68
- WritableMap mapPushObject = RNNetmeraUtil.mapPushObject(netmeraPushObject);
69
- WritableMap mapBundle = bundle != null ? Arguments.fromBundle(bundle) : null;
70
- mapPushObject.merge(mapBundle);
71
- return mapPushObject;
72
- }
73
-
74
- private void sendForegroundEvent(String eventName, WritableMap map) {
75
- try {
76
- ReactContext reactContext = RNNetmeraModule.reactContext;
77
- reactContext
78
- .getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class)
79
- .emit(eventName, map);
80
- } catch (Exception e) {
81
- }
82
- }
83
-
84
- private void sendBackgroundEvent(Context context, String eventName, WritableMap map) {
85
59
  try {
86
60
  Intent backgroundIntent = new Intent(context, RNNetmeraPushHeadlessService.class);
87
61
  backgroundIntent.putExtra(TASK_KEY, eventName);
@@ -91,10 +65,14 @@ public class RNNetmeraPushBroadcastReceiver extends NetmeraPushBroadcastReceiver
91
65
  HeadlessJsTaskService.acquireWakeLockNow(context);
92
66
  }
93
67
  } catch (IllegalStateException ex) {
94
- Log.d(
95
- "RNNetmera Background",
96
- "RNNetmera Background Event Exception"
97
- );
68
+ Log.d("RNNetmera Background", "RNNetmera Background Event Exception");
98
69
  }
99
70
  }
71
+
72
+ private WritableMap mergeMap(Bundle bundle, NetmeraPushObject netmeraPushObject) {
73
+ WritableMap mapPushObject = RNNetmeraUtil.mapPushObject(netmeraPushObject);
74
+ WritableMap mapBundle = bundle != null ? Arguments.fromBundle(bundle) : null;
75
+ mapPushObject.merge(mapBundle);
76
+ return mapPushObject;
77
+ }
100
78
  }
@@ -1,4 +1,4 @@
1
- package com.reactlibrary;
1
+ package com.netmera.reactnativesdk;
2
2
 
3
3
  import android.content.Intent;
4
4
  import android.os.Bundle;
@@ -6,7 +6,7 @@
6
6
  // Copyright © 2019 Netmera. All rights reserved.
7
7
  //
8
8
 
9
- package com.reactlibrary;
9
+ package com.netmera.reactnativesdk;
10
10
 
11
11
  import com.google.gson.annotations.SerializedName;
12
12
  import com.netmera.NetmeraUser;
@@ -6,10 +6,11 @@
6
6
  // Copyright © 2019 Netmera. All rights reserved.
7
7
  //
8
8
 
9
- package com.reactlibrary;
9
+ package com.netmera.reactnativesdk;
10
10
 
11
11
  import android.app.ActivityManager;
12
12
  import android.content.Context;
13
+ import android.text.format.DateFormat;
13
14
 
14
15
  import androidx.annotation.Nullable;
15
16
 
@@ -24,6 +25,7 @@ import com.facebook.react.bridge.WritableMap;
24
25
  import com.facebook.react.bridge.WritableNativeArray;
25
26
  import com.facebook.react.bridge.WritableNativeMap;
26
27
  import com.facebook.react.common.LifecycleState;
28
+ import com.google.gson.Gson;
27
29
  import com.netmera.NetmeraPushObject;
28
30
 
29
31
  import org.json.JSONArray;
@@ -133,7 +135,7 @@ class RNNetmeraUtil {
133
135
  break;
134
136
  case Number:
135
137
  if (readableMap.getDouble(key) % 1 == 0) {
136
- map.put(key, (long)readableMap.getDouble(key));
138
+ map.put(key, (long) readableMap.getDouble(key));
137
139
  } else {
138
140
  map.put(key, readableMap.getDouble(key));
139
141
  }
@@ -168,7 +170,7 @@ class RNNetmeraUtil {
168
170
  break;
169
171
  case Number:
170
172
  if (readableArray.getDouble(i) % 1 == 0) {
171
- array[i] = (long)readableArray.getDouble(i);
173
+ array[i] = (long) readableArray.getDouble(i);
172
174
  } else {
173
175
  array[i] = readableArray.getDouble(i);
174
176
  }
@@ -197,70 +199,68 @@ class RNNetmeraUtil {
197
199
  }
198
200
 
199
201
  public static WritableMap mapPushObject(NetmeraPushObject pushObject) {
200
- WritableMap pushObjectMap = Arguments.createMap();
201
- pushObjectMap.putString("title", pushObject.getPushStyle().getContentTitle());
202
- pushObjectMap.putString("subtitle", pushObject.getPushStyle().getContentText());
203
- pushObjectMap.putString("body", pushObject.getPushStyle().getContentText());
204
- pushObjectMap.putInt("pushType", pushObject.getPushType());
205
- pushObjectMap.putString("pushId", pushObject.getPushId());
206
- pushObjectMap.putString("pushInstanceId", pushObject.getPushInstanceId());
207
- pushObjectMap.putString("sendDate", String.valueOf(pushObject.getSendDate()));
208
- pushObjectMap.putInt("inboxStatus", pushObject.getInboxStatus());
209
-
210
- try{
211
- if (pushObject.getDeepLink() != null) {
212
- pushObjectMap.putString("deepLink", String.valueOf(pushObject.getDeepLink()));
213
- }
214
- }catch (UnsupportedOperationException e){
215
-
216
- }
217
-
218
- if (pushObject.getExternalId() != null) {
219
- pushObjectMap.putString("externalId", pushObject.getExternalId());
220
- }
221
- if (pushObject.getCategories() != null && !pushObject.getCategories().isEmpty()) {
222
- pushObjectMap.putArray("categories", Arguments.fromList(pushObject.getCategories()));
223
- }
224
- if (pushObject.getPushStyle().getBigPicturePath() != null) {
225
- pushObjectMap.putString("mediaAttachmentURL", pushObject.getPushStyle().getBigPicturePath());
226
- }
227
- if (!pushObject.getCustomJson().isJsonNull() && pushObject.getCustomJson().size() > 0) {
228
- try {
229
- JSONObject jsonObject = new JSONObject(pushObject.getCustomJson().toString());
230
- pushObjectMap.putMap("customJson", jsonToWritableMap(jsonObject));
231
- } catch (Throwable e) {
232
- e.printStackTrace();
233
- }
234
- }
235
-
236
- return pushObjectMap;
237
- }
238
-
239
- public static boolean isAppInForeground(Context context) {
240
- ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
241
- if (activityManager == null) return false;
242
-
243
- List<ActivityManager.RunningAppProcessInfo> appProcesses = activityManager.getRunningAppProcesses();
244
- if (appProcesses == null) return false;
245
-
246
- final String packageName = context.getPackageName();
247
- for (ActivityManager.RunningAppProcessInfo appProcess : appProcesses) {
248
- if (
249
- appProcess.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND
250
- && appProcess.processName.equals(packageName)
251
- ) {
252
- ReactContext reactContext;
253
-
254
- try {
255
- reactContext = (ReactContext) context;
256
- } catch (ClassCastException exception) {
257
- return true;
258
- }
259
-
260
- return reactContext.getLifecycleState() == LifecycleState.RESUMED;
261
- }
262
- }
263
-
264
- return false;
265
- }
202
+ WritableMap pushObjectMap = Arguments.createMap();
203
+ pushObjectMap.putInt("pushType", pushObject.getPushType());
204
+ pushObjectMap.putString("pushId", pushObject.getPushId());
205
+ pushObjectMap.putString("pushInstanceId", pushObject.getPushInstanceId());
206
+ pushObjectMap.putString("sendDate", String.valueOf(pushObject.getSendDate()));
207
+ pushObjectMap.putInt("inboxStatus", pushObject.getInboxStatus());
208
+ pushObjectMap.putString("category", pushObject.getCategory());
209
+
210
+ try {
211
+ if (pushObject.getDeepLink() != null) {
212
+ pushObjectMap.putString("deepLink", String.valueOf(pushObject.getDeepLink()));
213
+ }
214
+ } catch (UnsupportedOperationException ignored) {
215
+ }
216
+
217
+ if (pushObject.getExternalId() != null) {
218
+ pushObjectMap.putString("externalId", pushObject.getExternalId());
219
+ }
220
+ if (pushObject.getCategories() != null && !pushObject.getCategories().isEmpty()) {
221
+ pushObjectMap.putArray("categories", Arguments.fromList(pushObject.getCategories()));
222
+ }
223
+ if (pushObject.getPushStyle().getBigPicturePath() != null) {
224
+ pushObjectMap.putString("mediaAttachmentURL", pushObject.getPushStyle().getBigPicturePath());
225
+ }
226
+ if (!pushObject.getCustomJson().isJsonNull() && pushObject.getCustomJson().size() > 0) {
227
+ try {
228
+ JSONObject jsonObject = new JSONObject(pushObject.getCustomJson().toString());
229
+ pushObjectMap.putMap("customJson", jsonToWritableMap(jsonObject));
230
+ } catch (Throwable e) {
231
+ e.printStackTrace();
232
+ }
233
+ }
234
+
235
+ if (pushObject.getPopupExpirationTime() != null) {
236
+ pushObjectMap.putString("expireTime", String.valueOf(DateFormat.format("yyyy-MM-dd HH:mm:ss", pushObject.getPopupExpirationTime())));
237
+ }
238
+
239
+ if (pushObject.getWebPageUrl() != null) {
240
+ pushObjectMap.putString("webPage", pushObject.getWebPageUrl());
241
+ }
242
+
243
+ if (pushObject.getInteractiveActions() != null && !pushObject.getInteractiveActions().isEmpty()) {
244
+ pushObjectMap.putString("interactiveActions", new Gson().toJson(pushObject.getInteractiveActions()));
245
+ }
246
+
247
+ /* Push Style */
248
+ if (pushObject.getPushStyle() != null) {
249
+ pushObjectMap.putString("title", pushObject.getPushStyle().getContentTitle());
250
+ pushObjectMap.putString("subtitle", pushObject.getPushStyle().getSubText());
251
+ pushObjectMap.putString("body", pushObject.getPushStyle().getContentText());
252
+ pushObjectMap.putString("mediaAttachmentURL", pushObject.getPushStyle().getBigPicturePath());
253
+ pushObjectMap.putString("carousel", new Gson().toJson(pushObject.getPushStyle().retrieveCarouselObjects()));
254
+ }
255
+
256
+ if (pushObject.getSendDate() != null) {
257
+ pushObjectMap.putString("sendDate", String.valueOf(DateFormat.format("yyyy-MM-dd HH:mm:ss", pushObject.getSendDate())));
258
+ }
259
+
260
+ if (pushObject.getPushAction() != null) {
261
+ pushObjectMap.putString("pushAction", new Gson().toJson(pushObject.getPushAction()));
262
+ }
263
+
264
+ return pushObjectMap;
265
+ }
266
266
  }
package/index.js CHANGED
@@ -1,9 +1,10 @@
1
- import {NativeModules, NativeEventEmitter, DeviceEventEmitter, Platform} from 'react-native'
1
+ import {AppRegistry, NativeEventEmitter, NativeModules, Platform} from 'react-native'
2
2
 
3
3
  const {RNNetmera, RNNetmeraRCTEventEmitter} = NativeModules;
4
4
 
5
5
  const netmeraRCTEventEmitter = new NativeEventEmitter(RNNetmeraRCTEventEmitter);
6
6
 
7
+
7
8
  class Netmera {
8
9
 
9
10
  static get PUSH_OBJECT_STATUS_READ() {
@@ -26,49 +27,69 @@ class Netmera {
26
27
  return 7
27
28
  }
28
29
 
29
- static addEventListener(type, handler) {
30
- if (Platform.OS === 'android') {
31
- DeviceEventEmitter.addListener(type, handler)
32
- } else if (Platform.OS === 'ios') {
33
- netmeraRCTEventEmitter.addListener(type, handler)
30
+ static initBroadcastReceiver(onPushRegister,
31
+ onPushReceive,
32
+ onPushOpen,
33
+ onPushDismiss,
34
+ onPushButtonClicked) {
35
+ if (onPushRegister) {
36
+ if (Platform.OS === 'android') {
37
+ AppRegistry.registerHeadlessTask("onPushRegister", () => onPushRegister);
38
+ } else {
39
+ netmeraRCTEventEmitter.addListener("onPushRegister", onPushRegister)
40
+ }
34
41
  }
35
- }
36
-
37
- static removeEventListener(type) {
38
- if (Platform.OS === 'android') {
39
- DeviceEventEmitter.removeListener(type)
40
- } else if (Platform.OS === 'ios') {
41
- netmeraRCTEventEmitter.removeListener(type)
42
+ if (onPushReceive) {
43
+ if (Platform.OS === 'android') {
44
+ AppRegistry.registerHeadlessTask("onPushReceive", () => onPushReceive);
45
+ } else {
46
+ netmeraRCTEventEmitter.addListener("onPushReceive", onPushReceive)
47
+ }
48
+ }
49
+ if (onPushOpen) {
50
+ if (Platform.OS === 'android') {
51
+ AppRegistry.registerHeadlessTask("onPushOpen", () => onPushOpen);
52
+ } else {
53
+ netmeraRCTEventEmitter.addListener("onPushOpen", onPushOpen)
54
+ }
55
+ }
56
+ if (onPushDismiss) {
57
+ if (Platform.OS === 'android') {
58
+ AppRegistry.registerHeadlessTask("onPushDismiss", () => onPushDismiss);
59
+ } else {
60
+ netmeraRCTEventEmitter.addListener("onPushDismiss", onPushDismiss)
61
+ }
62
+ }
63
+ if (onPushButtonClicked) {
64
+ if (Platform.OS === 'android') {
65
+ AppRegistry.registerHeadlessTask("onPushButtonClicked", () => onPushButtonClicked);
66
+ }
42
67
  }
43
68
  }
44
69
 
45
- static init(gcmSenderId = "", apiKey) {
46
- if (Platform.OS === "android") {
47
- RNNetmera.init(gcmSenderId, apiKey)
48
- } else if (Platform.OS === "ios") {
49
- RNNetmera.init(apiKey)
50
- }
70
+ static async currentExternalId(): Promise<string> {
71
+ return RNNetmera.currentExternalId()
51
72
  }
52
73
 
53
- static requestPushNotificationAuthorization() {
54
- if (Platform.OS === "ios") {
55
- RNNetmera.requestPushNotificationAuthorization()
56
- }
74
+ static logging(enabled: boolean) {
75
+ RNNetmera.logging(enabled)
57
76
  }
58
77
 
59
- static setBaseUrl(baseUrl) {
78
+ static setBaseUrl(baseUrl: string) {
60
79
  RNNetmera.setBaseUrl(baseUrl)
61
80
  }
62
81
 
63
- static logging(enabled) {
64
- RNNetmera.logging(enabled)
82
+ static requestPushNotificationAuthorization() {
83
+ if (Platform.OS === "ios") {
84
+ RNNetmera.requestPushNotificationAuthorization()
85
+ }
65
86
  }
66
87
 
67
88
  static requestPermissionsForLocation() {
68
89
  RNNetmera.requestPermissionsForLocation()
69
90
  }
70
91
 
71
- static setNetmeraMaxActiveRegions(maxActiveRegions) {
92
+ static setNetmeraMaxActiveRegions(maxActiveRegions: number) {
72
93
  RNNetmera.setNetmeraMaxActiveRegions(maxActiveRegions)
73
94
  }
74
95
 
@@ -80,7 +101,7 @@ class Netmera {
80
101
  RNNetmera.disablePopupPresentation()
81
102
  }
82
103
 
83
- static isPushEnabled() {
104
+ static async isPushEnabled(): Promise<boolean> {
84
105
  return RNNetmera.isPushEnabled()
85
106
  }
86
107
 
@@ -92,35 +113,67 @@ class Netmera {
92
113
  RNNetmera.disablePush()
93
114
  }
94
115
 
95
- static turnOffSendingEventAndUserUpdate(turnOff) {
116
+ static turnOffSendingEventAndUserUpdate(turnOff: boolean) {
96
117
  if (Platform.OS === 'android') {
97
118
  RNNetmera.turnOffSendingEventAndUserUpdate(turnOff)
98
119
  }
99
120
  }
100
121
 
101
- static fetchInbox(netmeraInboxFilter) {
122
+ static fetchInbox(netmeraInboxFilter: NetmeraInboxFilter): Promise<Array<NetmeraPushInbox>> {
102
123
  return RNNetmera.fetchInbox(netmeraInboxFilter)
103
124
  }
104
125
 
105
- static fetchNextPage() {
126
+ static fetchNextPage(): Promise<Array<NetmeraPushInbox>> {
106
127
  return RNNetmera.fetchNextPage();
107
128
  }
108
129
 
109
- static inboxUpdateStatus(fromIndex, toIndex, status = this.PUSH_OBJECT_STATUS_UNREAD) {
130
+ static countForStatus(status = this.PUSH_OBJECT_STATUS_UNREAD) {
131
+ return RNNetmera.countForStatus(status)
132
+ }
133
+
134
+ static inboxUpdateStatus(fromIndex: number, toIndex: number, status: number = this.PUSH_OBJECT_STATUS_UNREAD) {
110
135
  return RNNetmera.inboxUpdateStatus(fromIndex, toIndex, status)
111
136
  }
112
137
 
113
- static countForStatus(status = this.PUSH_OBJECT_STATUS_UNREAD) {
114
- return RNNetmera.countForStatus(status)
138
+ static fetchCategory(categoryFilter: NetmeraCategoryFilter): Promise<Array<NetmeraCategory>> {
139
+ return RNNetmera.fetchCategory(categoryFilter)
140
+ }
141
+
142
+ static fetchNextCategoryPage(): Promise<Array<NetmeraCategory>> {
143
+ return RNNetmera.fetchNextCategoryPage();
115
144
  }
116
145
 
117
146
  static sendEvent(event) {
118
147
  RNNetmera.sendEvent(event)
119
148
  }
120
149
 
121
- static updateUser(user) {
150
+ static updateUser(user: NetmeraUser) {
122
151
  RNNetmera.updateUser(user)
123
152
  }
153
+
154
+ static updateAll(inboxStatus: number) {
155
+ return RNNetmera.updateAll(inboxStatus)
156
+ }
157
+
158
+ static handlePushObject(pushId: string) {
159
+ RNNetmera.handlePushObject(pushId)
160
+ }
161
+
162
+ static handleInteractiveAction(pushId: string) {
163
+ RNNetmera.handleInteractiveAction(pushId)
164
+ }
165
+
166
+ static setApiKey(apiKey: string) {
167
+ RNNetmera.setApiKey(apiKey)
168
+ }
169
+
170
+ static handleLastMessage(categoryName: string) {
171
+ RNNetmera.handleLastMessage(categoryName)
172
+ }
173
+
174
+ static updateStatusByCategories(fromIndex: number, toIndex: number, status: number = this.PUSH_OBJECT_STATUS_UNREAD) {
175
+ return RNNetmera.updateStatusByCategories(fromIndex, toIndex, status)
176
+ }
124
177
  }
125
178
 
126
179
 
@@ -226,4 +279,42 @@ class NetmeraInboxFilter {
226
279
  }
227
280
  }
228
281
 
229
- module.exports = {Netmera, NetmeraUser, NetmeraInboxFilter};
282
+ class NetmeraCategoryFilter {
283
+ constructor() {
284
+ this.pageSize = undefined;
285
+ this.status = undefined;
286
+ this.includeExpiredObjects = false;
287
+ }
288
+ }
289
+
290
+ class NetmeraPushInbox {
291
+ title: string
292
+ subtitle: string
293
+ body: string
294
+ pushType: number
295
+ pushId: string
296
+ pushInstanceId: string
297
+ sendDate: string
298
+ inboxStatus: number
299
+ deepLink: string
300
+ webPage: string
301
+ externalId: string
302
+ customJson: any
303
+ pushAction: string
304
+ carousel: any
305
+ mediaAttachmentURL: string
306
+ category: string
307
+ categories: any
308
+ interactiveActions: string
309
+ expireTime: string
310
+ }
311
+
312
+ class NetmeraCategory {
313
+ categoryName: string
314
+ lastMessage: NetmeraPushInbox
315
+ readCount: number
316
+ deletedCount: number
317
+ unreadCount: number
318
+ }
319
+
320
+ module.exports = {Netmera, NetmeraUser, NetmeraInboxFilter, NetmeraCategoryFilter, NetmeraPushInbox, NetmeraCategory};
package/ios/RNNetmera.h CHANGED
@@ -20,7 +20,13 @@
20
20
 
21
21
  @interface RNNetmera : NSObject <RCTBridgeModule>
22
22
 
23
+ +(void)initNetmera:(nullable NSString *)apiKey;
24
+ +(void)logging:(BOOL)enabled;
25
+ +(void)setPushDelegate:(nonnull NSObject<NetmeraPushDelegate> *)delegate;
26
+ +(void)requestPushNotificationAuthorization;
27
+
23
28
  @property (nonatomic, strong) NetmeraInbox *netmeraInbox;
29
+ @property (nonatomic, strong) NetmeraInboxCategory *netmeraInboxCategory;
24
30
 
25
31
  @end
26
32