react-native-netmera 1.3.6 → 1.4.2

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 (86) hide show
  1. package/.idea/{netmera-sdk-react-native.iml → NetmeraSDKReactNative.iml} +0 -0
  2. package/.idea/modules.xml +1 -1
  3. package/README.md +277 -188
  4. package/RNNetmera.podspec +8 -6
  5. package/android/.gradle/4.10.1/fileHashes/fileHashes.bin +0 -0
  6. package/android/.gradle/4.10.1/fileHashes/fileHashes.lock +0 -0
  7. package/android/.idea/gradle.xml +0 -2
  8. package/android/build/generated/source/buildConfig/debug/com/netmera/reactnativesdk/BuildConfig.java +0 -2
  9. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/AndroidManifest.xml +1 -1
  10. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/output-metadata.json +16 -0
  11. package/android/build/intermediates/aar_metadata/debug/aar-metadata.properties +2 -0
  12. package/android/build/intermediates/compile_library_classes_jar/debug/classes.jar +0 -0
  13. package/android/build/intermediates/compile_r_class_jar/debug/R.jar +0 -0
  14. package/android/build/intermediates/compile_symbol_list/debug/R.txt +3610 -384
  15. package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +1 -1
  16. package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +1 -1
  17. package/android/build/intermediates/incremental/packageDebugAssets/merger.xml +1 -1
  18. package/android/build/intermediates/incremental/packageDebugResources/compile-file-map.properties +1 -1
  19. package/android/build/intermediates/incremental/packageDebugResources/merger.xml +1 -1
  20. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/BuildConfig.class +0 -0
  21. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmera.class +0 -0
  22. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraCategoryObject.class +0 -0
  23. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraConfiguration$Builder.class +0 -0
  24. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraConfiguration.class +0 -0
  25. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraModule$1.class +0 -0
  26. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraModule$10.class +0 -0
  27. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraModule$2.class +0 -0
  28. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraModule$3.class +0 -0
  29. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraModule$4.class +0 -0
  30. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraModule$5.class +0 -0
  31. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraModule$6.class +0 -0
  32. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraModule$7.class +0 -0
  33. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraModule$8.class +0 -0
  34. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraModule$9.class +0 -0
  35. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraModule.class +0 -0
  36. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraPushBroadcastReceiver.class +0 -0
  37. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraPushHeadlessService.class +0 -0
  38. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraUtil$1.class +0 -0
  39. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraUtil.class +0 -0
  40. package/android/build/intermediates/library_manifest/debug/AndroidManifest.xml +1 -1
  41. package/android/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt +6 -6
  42. package/android/build/intermediates/packaged_manifests/debug/output-metadata.json +16 -0
  43. package/android/build/intermediates/runtime_library_classes_jar/debug/classes.jar +0 -0
  44. package/android/build/intermediates/symbol_list_with_package_name/debug/package-aware-r.txt +2710 -12
  45. package/android/build/outputs/logs/manifest-merger-debug-report.txt +31 -31
  46. package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
  47. package/android/build.gradle +5 -3
  48. package/android/local.properties +2 -2
  49. package/android/src/main/java/com/netmera/reactnativesdk/RNNetmera.java +2 -6
  50. package/android/src/main/java/com/netmera/reactnativesdk/RNNetmeraConfiguration.java +0 -12
  51. package/android/src/main/java/com/netmera/reactnativesdk/RNNetmeraModule.java +116 -5
  52. package/android/src/main/java/com/netmera/reactnativesdk/RNNetmeraPushBroadcastReceiver.java +13 -5
  53. package/android/src/main/java/com/netmera/reactnativesdk/RNNetmeraUtil.java +52 -4
  54. package/index.js +19 -320
  55. package/ios/RNNetmera.h +2 -2
  56. package/ios/RNNetmera.m +64 -2
  57. package/ios/RNNetmeraUtils.h +4 -0
  58. package/ios/RNNetmeraUtils.m +38 -0
  59. package/package.json +1 -1
  60. package/src/Netmera.js +223 -0
  61. package/src/NetmeraInbox.js +95 -0
  62. package/src/NetmeraUser.js +92 -0
  63. package/.idea/misc.xml +0 -7
  64. package/android/build/.transforms/07da1e78aa5e2a23e865850e1fa31195/classes/classes.dex +0 -0
  65. package/android/build/.transforms/07da1e78aa5e2a23e865850e1fa31195.bin +0 -1
  66. package/android/build/.transforms/1cc655d17744898d5287444bc3b54ccd/classes/classes.dex +0 -0
  67. package/android/build/.transforms/1cc655d17744898d5287444bc3b54ccd.bin +0 -1
  68. package/android/build/.transforms/1d7e2a596c5a01e1599ed8d99d8fed25/classes/classes.dex +0 -0
  69. package/android/build/.transforms/1d7e2a596c5a01e1599ed8d99d8fed25.bin +0 -1
  70. package/android/build/.transforms/61070ab087fd3e8aaad4987d1cd9aeb2/classes/classes.dex +0 -0
  71. package/android/build/.transforms/61070ab087fd3e8aaad4987d1cd9aeb2.bin +0 -1
  72. package/android/build/.transforms/6bd284ae922673d08694a1221c01809c/classes/classes.dex +0 -0
  73. package/android/build/.transforms/6bd284ae922673d08694a1221c01809c.bin +0 -1
  74. package/android/build/.transforms/a8f21d984467d686c5d11cdc3f508ab2/classes/classes.dex +0 -0
  75. package/android/build/.transforms/a8f21d984467d686c5d11cdc3f508ab2.bin +0 -1
  76. package/android/build/.transforms/ae3b3ad311ea4fe5b0c3652f1d5b8a07/classes/classes.dex +0 -0
  77. package/android/build/.transforms/ae3b3ad311ea4fe5b0c3652f1d5b8a07.bin +0 -1
  78. package/android/build/.transforms/cc45f1af54894b49e3ec8f6b5a05a8d7/classes/classes.dex +0 -0
  79. package/android/build/.transforms/cc45f1af54894b49e3ec8f6b5a05a8d7.bin +0 -1
  80. package/android/build/.transforms/f58e3ec11746c18253c1a7a566c2609f/classes/classes.dex +0 -0
  81. package/android/build/.transforms/f58e3ec11746c18253c1a7a566c2609f.bin +0 -1
  82. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/output.json +0 -27
  83. package/android/build/intermediates/compile_only_not_namespaced_r_class_jar/debug/R.jar +0 -0
  84. package/android/build/intermediates/incremental/debug-mergeNativeLibs/merge-state +0 -0
  85. package/android/build/intermediates/merged_manifests/debug/output.json +0 -27
  86. package/ios/RNNetmera.xcodeproj/xcuserdata/ensarbayhan.xcuserdatad/xcschemes/xcschememanagement.plist +0 -14
@@ -1,43 +1,43 @@
1
1
  -- Merging decision tree log ---
2
2
  manifest
3
- ADDED from /Users/ensarbayhan/Projects/react-native/netmera-sdk-react-native/android/src/main/AndroidManifest.xml:2:1-7:12
4
- INJECTED from /Users/ensarbayhan/Projects/react-native/netmera-sdk-react-native/android/src/main/AndroidManifest.xml:2:1-7:12
5
- INJECTED from /Users/ensarbayhan/Projects/react-native/netmera-sdk-react-native/android/src/main/AndroidManifest.xml:2:1-7:12
6
- INJECTED from /Users/ensarbayhan/Projects/react-native/netmera-sdk-react-native/android/src/main/AndroidManifest.xml:2:1-7:12
7
- INJECTED from /Users/ensarbayhan/Projects/react-native/netmera-sdk-react-native/android/src/main/AndroidManifest.xml:2:1-7:12
8
- INJECTED from /Users/ensarbayhan/Projects/react-native/netmera-sdk-react-native/android/src/main/AndroidManifest.xml:2:1-7:12
9
- INJECTED from /Users/ensarbayhan/Projects/react-native/netmera-sdk-react-native/android/src/main/AndroidManifest.xml:2:1-7:12
3
+ ADDED from /Users/gunesbaki/Projects/Netmera/NetmeraSDKReactNative/android/src/main/AndroidManifest.xml:2:1-7:12
4
+ INJECTED from /Users/gunesbaki/Projects/Netmera/NetmeraSDKReactNative/android/src/main/AndroidManifest.xml:2:1-7:12
5
+ INJECTED from /Users/gunesbaki/Projects/Netmera/NetmeraSDKReactNative/android/src/main/AndroidManifest.xml:2:1-7:12
6
+ INJECTED from /Users/gunesbaki/Projects/Netmera/NetmeraSDKReactNative/android/src/main/AndroidManifest.xml:2:1-7:12
7
+ INJECTED from /Users/gunesbaki/Projects/Netmera/NetmeraSDKReactNative/android/src/main/AndroidManifest.xml:2:1-7:12
8
+ INJECTED from /Users/gunesbaki/Projects/Netmera/NetmeraSDKReactNative/android/src/main/AndroidManifest.xml:2:1-7:12
9
+ INJECTED from /Users/gunesbaki/Projects/Netmera/NetmeraSDKReactNative/android/src/main/AndroidManifest.xml:2:1-7:12
10
10
  package
11
- ADDED from /Users/ensarbayhan/Projects/react-native/netmera-sdk-react-native/android/src/main/AndroidManifest.xml:3:11-47
12
- INJECTED from /Users/ensarbayhan/Projects/react-native/netmera-sdk-react-native/android/src/main/AndroidManifest.xml
13
- INJECTED from /Users/ensarbayhan/Projects/react-native/netmera-sdk-react-native/android/src/main/AndroidManifest.xml
11
+ ADDED from /Users/gunesbaki/Projects/Netmera/NetmeraSDKReactNative/android/src/main/AndroidManifest.xml:3:11-47
12
+ INJECTED from /Users/gunesbaki/Projects/Netmera/NetmeraSDKReactNative/android/src/main/AndroidManifest.xml
13
+ INJECTED from /Users/gunesbaki/Projects/Netmera/NetmeraSDKReactNative/android/src/main/AndroidManifest.xml
14
14
  android:versionName
15
- INJECTED from /Users/ensarbayhan/Projects/react-native/netmera-sdk-react-native/android/src/main/AndroidManifest.xml
16
- ADDED from /Users/ensarbayhan/Projects/react-native/netmera-sdk-react-native/android/src/main/AndroidManifest.xml:2:1-7:12
17
- INJECTED from /Users/ensarbayhan/Projects/react-native/netmera-sdk-react-native/android/src/main/AndroidManifest.xml
15
+ INJECTED from /Users/gunesbaki/Projects/Netmera/NetmeraSDKReactNative/android/src/main/AndroidManifest.xml
16
+ ADDED from /Users/gunesbaki/Projects/Netmera/NetmeraSDKReactNative/android/src/main/AndroidManifest.xml:2:1-7:12
17
+ INJECTED from /Users/gunesbaki/Projects/Netmera/NetmeraSDKReactNative/android/src/main/AndroidManifest.xml
18
18
  android:versionCode
19
- INJECTED from /Users/ensarbayhan/Projects/react-native/netmera-sdk-react-native/android/src/main/AndroidManifest.xml
20
- ADDED from /Users/ensarbayhan/Projects/react-native/netmera-sdk-react-native/android/src/main/AndroidManifest.xml:2:1-7:12
21
- INJECTED from /Users/ensarbayhan/Projects/react-native/netmera-sdk-react-native/android/src/main/AndroidManifest.xml
19
+ INJECTED from /Users/gunesbaki/Projects/Netmera/NetmeraSDKReactNative/android/src/main/AndroidManifest.xml
20
+ ADDED from /Users/gunesbaki/Projects/Netmera/NetmeraSDKReactNative/android/src/main/AndroidManifest.xml:2:1-7:12
21
+ INJECTED from /Users/gunesbaki/Projects/Netmera/NetmeraSDKReactNative/android/src/main/AndroidManifest.xml
22
22
  xmlns:android
23
- ADDED from /Users/ensarbayhan/Projects/react-native/netmera-sdk-react-native/android/src/main/AndroidManifest.xml:2:11-69
23
+ ADDED from /Users/gunesbaki/Projects/Netmera/NetmeraSDKReactNative/android/src/main/AndroidManifest.xml:2:11-69
24
24
  application
25
- ADDED from /Users/ensarbayhan/Projects/react-native/netmera-sdk-react-native/android/src/main/AndroidManifest.xml:4:5-6:19
25
+ ADDED from /Users/gunesbaki/Projects/Netmera/NetmeraSDKReactNative/android/src/main/AndroidManifest.xml:4:5-6:19
26
26
  service#com.netmera.reactnativesdk.RNNetmeraPushHeadlessService
27
- ADDED from /Users/ensarbayhan/Projects/react-native/netmera-sdk-react-native/android/src/main/AndroidManifest.xml:5:9-65
27
+ ADDED from /Users/gunesbaki/Projects/Netmera/NetmeraSDKReactNative/android/src/main/AndroidManifest.xml:5:9-65
28
28
  android:name
29
- ADDED from /Users/ensarbayhan/Projects/react-native/netmera-sdk-react-native/android/src/main/AndroidManifest.xml:5:18-62
29
+ ADDED from /Users/gunesbaki/Projects/Netmera/NetmeraSDKReactNative/android/src/main/AndroidManifest.xml:5:18-62
30
30
  uses-sdk
31
- INJECTED from /Users/ensarbayhan/Projects/react-native/netmera-sdk-react-native/android/src/main/AndroidManifest.xml reason: use-sdk injection requested
32
- INJECTED from /Users/ensarbayhan/Projects/react-native/netmera-sdk-react-native/android/src/main/AndroidManifest.xml
33
- INJECTED from /Users/ensarbayhan/Projects/react-native/netmera-sdk-react-native/android/src/main/AndroidManifest.xml
34
- INJECTED from /Users/ensarbayhan/Projects/react-native/netmera-sdk-react-native/android/src/main/AndroidManifest.xml
35
- INJECTED from /Users/ensarbayhan/Projects/react-native/netmera-sdk-react-native/android/src/main/AndroidManifest.xml
31
+ INJECTED from /Users/gunesbaki/Projects/Netmera/NetmeraSDKReactNative/android/src/main/AndroidManifest.xml reason: use-sdk injection requested
32
+ INJECTED from /Users/gunesbaki/Projects/Netmera/NetmeraSDKReactNative/android/src/main/AndroidManifest.xml
33
+ INJECTED from /Users/gunesbaki/Projects/Netmera/NetmeraSDKReactNative/android/src/main/AndroidManifest.xml
34
+ INJECTED from /Users/gunesbaki/Projects/Netmera/NetmeraSDKReactNative/android/src/main/AndroidManifest.xml
35
+ INJECTED from /Users/gunesbaki/Projects/Netmera/NetmeraSDKReactNative/android/src/main/AndroidManifest.xml
36
36
  android:targetSdkVersion
37
- INJECTED from /Users/ensarbayhan/Projects/react-native/netmera-sdk-react-native/android/src/main/AndroidManifest.xml
38
- ADDED from /Users/ensarbayhan/Projects/react-native/netmera-sdk-react-native/android/src/main/AndroidManifest.xml
39
- INJECTED from /Users/ensarbayhan/Projects/react-native/netmera-sdk-react-native/android/src/main/AndroidManifest.xml
37
+ INJECTED from /Users/gunesbaki/Projects/Netmera/NetmeraSDKReactNative/android/src/main/AndroidManifest.xml
38
+ ADDED from /Users/gunesbaki/Projects/Netmera/NetmeraSDKReactNative/android/src/main/AndroidManifest.xml
39
+ INJECTED from /Users/gunesbaki/Projects/Netmera/NetmeraSDKReactNative/android/src/main/AndroidManifest.xml
40
40
  android:minSdkVersion
41
- INJECTED from /Users/ensarbayhan/Projects/react-native/netmera-sdk-react-native/android/src/main/AndroidManifest.xml
42
- ADDED from /Users/ensarbayhan/Projects/react-native/netmera-sdk-react-native/android/src/main/AndroidManifest.xml
43
- INJECTED from /Users/ensarbayhan/Projects/react-native/netmera-sdk-react-native/android/src/main/AndroidManifest.xml
41
+ INJECTED from /Users/gunesbaki/Projects/Netmera/NetmeraSDKReactNative/android/src/main/AndroidManifest.xml
42
+ ADDED from /Users/gunesbaki/Projects/Netmera/NetmeraSDKReactNative/android/src/main/AndroidManifest.xml
43
+ INJECTED from /Users/gunesbaki/Projects/Netmera/NetmeraSDKReactNative/android/src/main/AndroidManifest.xml
@@ -1,12 +1,12 @@
1
1
  apply plugin: 'com.android.library'
2
2
 
3
3
  android {
4
- compileSdkVersion 29
4
+ compileSdkVersion 32
5
5
  buildToolsVersion "29.0.2"
6
6
 
7
7
  defaultConfig {
8
8
  minSdkVersion 16
9
- targetSdkVersion 29
9
+ targetSdkVersion 32
10
10
  versionCode 1
11
11
  versionName "1.0"
12
12
  }
@@ -16,6 +16,8 @@ android {
16
16
  }
17
17
 
18
18
  dependencies {
19
- implementation 'com.netmera:netmera:3.8.21'
19
+ implementation 'com.netmera:nmcore:3.9.5'
20
+ implementation 'com.netmera:nmfcm:3.9.3'
21
+ implementation 'com.netmera:nmhms:3.9.4'
20
22
  implementation 'com.facebook.react:react-native:+'
21
23
  }
@@ -4,5 +4,5 @@
4
4
  # Location of the SDK. This is only used by Gradle.
5
5
  # For customization when using a Version Control System, please read the
6
6
  # header note.
7
- #Fri Oct 29 14:59:58 TRT 2021
8
- sdk.dir=/Users/ensarbayhan/Library/Android/sdk
7
+ #Wed Jul 27 13:22:31 TRT 2022
8
+ sdk.dir=/Users/gunesbaki/Library/Android/sdk
@@ -16,11 +16,7 @@ public class RNNetmera {
16
16
  static void setNetmeraHeaders() {
17
17
  ContentValues headerValues = new ContentValues();
18
18
  headerValues.put("X-netmera-framework", "react");
19
- headerValues.put("X-netmera-frameworkV", "1.3.6");
19
+ headerValues.put("X-netmera-frameworkV", "1.4.2");
20
20
  Netmera.setNetmeraHeaders(headerValues);
21
21
  }
22
-
23
- public static void logging(boolean enabled) {
24
- Netmera.logging(enabled);
25
- }
26
- }
22
+ }
@@ -13,7 +13,6 @@ public class RNNetmeraConfiguration {
13
13
  NMPushActionCallbacks nmPushActionCallbacks;
14
14
  Context context;
15
15
  String baseUrl;
16
- FirebaseApp firebaseApp;
17
16
  String huaweiSenderId;
18
17
  String apiKey;
19
18
  String firebaseSenderId;
@@ -24,7 +23,6 @@ public class RNNetmeraConfiguration {
24
23
  this.nmPushActionCallbacks = builder.nmPushActionCallbacks;
25
24
  this.context = builder.context;
26
25
  this.baseUrl = builder.baseUrl;
27
- this.firebaseApp = builder.firebaseApp;
28
26
  this.huaweiSenderId = builder.huaweiSenderId;
29
27
  this.apiKey = builder.apiKey;
30
28
  this.firebaseSenderId = builder.firebaseSenderId;
@@ -55,10 +53,6 @@ public class RNNetmeraConfiguration {
55
53
  builder.baseUrl(baseUrl);
56
54
  }
57
55
 
58
- if (firebaseApp != null) {
59
- builder.firebaseApp(firebaseApp);
60
- }
61
-
62
56
  if (nmInAppMessageActionCallbacks != null) {
63
57
  builder.nmInAppMessageActionCallbacks(nmInAppMessageActionCallbacks);
64
58
  }
@@ -74,7 +68,6 @@ public class RNNetmeraConfiguration {
74
68
  private NMPushActionCallbacks nmPushActionCallbacks;
75
69
  private Context context;
76
70
  private String baseUrl;
77
- private FirebaseApp firebaseApp;
78
71
  private String huaweiSenderId;
79
72
  private String apiKey;
80
73
  private String firebaseSenderId;
@@ -95,11 +88,6 @@ public class RNNetmeraConfiguration {
95
88
  return this;
96
89
  }
97
90
 
98
- public Builder firebaseApp(FirebaseApp firebaseApp) {
99
- this.firebaseApp = firebaseApp;
100
- return this;
101
- }
102
-
103
91
  public Builder huaweiSenderId(String huaweiSenderId) {
104
92
  this.huaweiSenderId = huaweiSenderId;
105
93
  return this;
@@ -8,6 +8,11 @@
8
8
 
9
9
  package com.netmera.reactnativesdk;
10
10
 
11
+ import android.os.Bundle;
12
+
13
+ import androidx.annotation.NonNull;
14
+ import androidx.annotation.Nullable;
15
+
11
16
  import com.facebook.react.bridge.Promise;
12
17
  import com.facebook.react.bridge.ReactApplicationContext;
13
18
  import com.facebook.react.bridge.ReactContextBaseJavaModule;
@@ -21,9 +26,16 @@ import com.netmera.NetmeraInboxCategory;
21
26
  import com.netmera.NetmeraInboxFilter;
22
27
  import com.netmera.NetmeraInteractiveAction;
23
28
  import com.netmera.NetmeraPushObject;
29
+ import com.netmera.callbacks.NMCategoryPreferenceFetchCallback;
30
+ import com.netmera.callbacks.NMCategoryPreferenceSetCallback;
31
+ import com.netmera.callbacks.NMInboxCountResultListener;
32
+ import com.netmera.data.NMCategoryPreference;
33
+ import com.netmera.data.NMInboxStatusCount;
34
+ import com.netmera.data.NMInboxStatusCountFilter;
24
35
 
25
36
  import java.util.ArrayList;
26
37
  import java.util.Collections;
38
+ import java.util.HashMap;
27
39
  import java.util.List;
28
40
  import java.util.Map;
29
41
 
@@ -46,6 +58,14 @@ public class RNNetmeraModule extends ReactContextBaseJavaModule {
46
58
  private static final String ERROR_MESSAGE_NULL_CATEGORY = "Must call fetchCategory method first";
47
59
  private static final String ERROR_CODE_INVALID_PUSH_OBJECT = "2021";
48
60
  private static final String ERROR_MESSAGE_INVALID_PUSH_OBJECT = "Received NetmeraPushObject was not valid.";
61
+ private static final String ERROR_CODE_NULL_INBOX_STATUS = "2022";
62
+ private static final String ERROR_MESSAGE_NULL_INBOX_STATUS = "Inbox status can't be null.";
63
+ private static final String ERROR_CODE_INBOX_STATUS = "2023";
64
+ private static final String ERROR_MESSAGE_INBOX_STATUS = "Error occurred while fetching inbox count for status.";
65
+ private static final String ERROR_CODE_CATEGORY_PREFERENCE = "2024";
66
+ private static final String ERROR_MESSAGE_CATEGORY_PREFERENCE = "Error occurred while fetching user category preference list.";
67
+ private static final String ERROR_CODE_SET_CATEGORY_PREFERENCE = "2025";
68
+ private static final String ERROR_MESSAGE_SET_CATEGORY_PREFERENCE = "Error occurred while setting user category preference list.";
49
69
 
50
70
  public static ReactApplicationContext reactContext;
51
71
  private NetmeraInbox netmeraInbox;
@@ -56,6 +76,7 @@ public class RNNetmeraModule extends ReactContextBaseJavaModule {
56
76
  RNNetmeraModule.reactContext = reactContext;
57
77
  }
58
78
 
79
+ @NonNull
59
80
  @Override
60
81
  public String getName() {
61
82
  return "RNNetmera";
@@ -66,11 +87,6 @@ public class RNNetmeraModule extends ReactContextBaseJavaModule {
66
87
  promise.resolve(Netmera.getCurrentExternalId());
67
88
  }
68
89
 
69
- @ReactMethod
70
- public void logging(final Boolean enabled) {
71
- RNNetmera.logging(enabled);
72
- }
73
-
74
90
  @ReactMethod
75
91
  public void setBaseUrl(final String baseUrl) {
76
92
  Netmera.setBaseUrl(baseUrl);
@@ -391,6 +407,101 @@ public class RNNetmeraModule extends ReactContextBaseJavaModule {
391
407
  promise.resolve(RNNetmeraCategoryObject.mapCategoryObjects(netmeraInboxCategory.categories()));
392
408
  }
393
409
 
410
+ @ReactMethod
411
+ public void getInboxCountForStatus(ReadableMap readableMap, final Promise promise) {
412
+ NMInboxStatusCountFilter.Builder builder = new NMInboxStatusCountFilter.Builder();
413
+
414
+ if (hasKey(readableMap, CATEGORIES)) {
415
+ Object categories = readableMap.toHashMap().get(CATEGORIES);
416
+ List<Integer> categoryList = new ArrayList<>();
417
+ if (categories instanceof Integer) {
418
+ categoryList.add((Integer) categories);
419
+ } else if (categories instanceof List) {
420
+ categoryList = (List<Integer>) categories;
421
+ }
422
+ builder.setCategoryList(categoryList.toArray(new Integer[0]));
423
+ }
424
+
425
+ if (hasKey(readableMap, STATUS)) {
426
+ builder.setInboxStatus(RNNetmeraUtil.getInboxStatus(readableMap.getInt(STATUS)));
427
+ } else {
428
+ promise.reject(ERROR_CODE_NULL_INBOX_STATUS, ERROR_MESSAGE_NULL_INBOX_STATUS);
429
+ return;
430
+ }
431
+
432
+ if (hasKey(readableMap, INCLUDE_EXPIRED_OBJECTS)) {
433
+ builder.setIncludeExpired(readableMap.getBoolean(INCLUDE_EXPIRED_OBJECTS));
434
+ }
435
+
436
+ NMInboxStatusCountFilter filter = builder.build();
437
+
438
+ Netmera.getInboxCountForStatus(filter, new NMInboxCountResultListener() {
439
+ @Override
440
+ public void onSuccess(@NonNull NMInboxStatusCount nmInboxStatusCount) {
441
+ promise.resolve(RNNetmeraUtil.parseInboxCountForStatusToMap(nmInboxStatusCount));
442
+ }
443
+
444
+ @Override
445
+ public void onFailure(@Nullable String s) {
446
+ promise.reject(ERROR_CODE_INBOX_STATUS, ERROR_MESSAGE_INBOX_STATUS);
447
+ }
448
+ });
449
+ }
450
+
451
+ @ReactMethod
452
+ public void getUserCategoryPreferenceList(final Promise promise) {
453
+ Netmera.getUserCategoryPreferenceList(new NMCategoryPreferenceFetchCallback() {
454
+ @Override
455
+ public void onSuccess(List<NMCategoryPreference> list) {
456
+ promise.resolve(RNNetmeraUtil.parseUserCategoryPreferenceListToMap(list));
457
+ }
458
+
459
+ @Override
460
+ public void onFailure(@Nullable String s) {
461
+ promise.reject(ERROR_CODE_CATEGORY_PREFERENCE, ERROR_MESSAGE_CATEGORY_PREFERENCE);
462
+ }
463
+ });
464
+ }
465
+
466
+ @ReactMethod
467
+ public void setUserCategoryPreference(int categoryId, boolean categoryEnabled, final Promise promise) {
468
+ Netmera.setUserCategoryPreference(categoryId, categoryEnabled, new NMCategoryPreferenceSetCallback() {
469
+ @Override
470
+ public void onSuccess() {
471
+ promise.resolve(true);
472
+ }
473
+
474
+ @Override
475
+ public void onFailure(@Nullable String s) {
476
+ promise.reject(ERROR_CODE_SET_CATEGORY_PREFERENCE, ERROR_MESSAGE_SET_CATEGORY_PREFERENCE);
477
+ }
478
+ });
479
+ }
480
+
481
+ @ReactMethod
482
+ public static void onNetmeraPushMessageReceived(ReadableMap map) {
483
+ Map<String, String> data = new HashMap<>();
484
+
485
+ Bundle bundle = new Bundle();
486
+ for (String key : map.toHashMap().keySet()) {
487
+ data.put(key, map.getString(key));
488
+ bundle.putString(key, map.getString(key));
489
+ }
490
+
491
+ if (data.containsKey("google.c.sender.id")) {
492
+ Netmera.onNetmeraPushMessageReceived(new com.google.firebase.messaging.RemoteMessage(bundle));
493
+ } else {
494
+ com.huawei.hms.push.RemoteMessage.Builder builder = new com.huawei.hms.push.RemoteMessage.Builder("to");
495
+ builder.setData(data);
496
+ Netmera.onNetmeraPushMessageReceived(builder.build());
497
+ }
498
+ }
499
+
500
+ @ReactMethod
501
+ public static void onNetmeraNewToken(String pushToken) {
502
+ Netmera.onNetmeraNewToken(pushToken);
503
+ }
504
+
394
505
  private boolean hasKey(Map map, String key) {
395
506
  return map.containsKey(key) && map.get(key) != null;
396
507
  }
@@ -8,6 +8,9 @@
8
8
 
9
9
  package com.netmera.reactnativesdk;
10
10
 
11
+ import static com.netmera.reactnativesdk.RNNetmeraPushHeadlessService.TASK_KEY;
12
+ import static com.netmera.reactnativesdk.RNNetmeraPushHeadlessService.TASK_MESSAGE;
13
+
11
14
  import android.content.ComponentName;
12
15
  import android.content.Context;
13
16
  import android.content.Intent;
@@ -16,15 +19,11 @@ import android.util.Log;
16
19
 
17
20
  import com.facebook.react.HeadlessJsTaskService;
18
21
  import com.facebook.react.bridge.Arguments;
19
- import com.facebook.react.bridge.ReactContext;
20
22
  import com.facebook.react.bridge.WritableMap;
21
- import com.facebook.react.modules.core.DeviceEventManagerModule;
23
+ import com.netmera.NetmeraCarouselObject;
22
24
  import com.netmera.NetmeraPushObject;
23
25
  import com.netmera.callbacks.NMPushActionCallbacks;
24
26
 
25
- import static com.netmera.reactnativesdk.RNNetmeraPushHeadlessService.TASK_KEY;
26
- import static com.netmera.reactnativesdk.RNNetmeraPushHeadlessService.TASK_MESSAGE;
27
-
28
27
  public class RNNetmeraPushBroadcastReceiver implements NMPushActionCallbacks {
29
28
 
30
29
  @Override
@@ -55,6 +54,15 @@ public class RNNetmeraPushBroadcastReceiver implements NMPushActionCallbacks {
55
54
  sendEvent(context, "onPushButtonClicked", mergeMap(bundle, netmeraPushObject));
56
55
  }
57
56
 
57
+ @Override
58
+ public void onCarouselObjectSelected(Context context, Bundle bundle, NetmeraPushObject netmeraPushObject,
59
+ int selectedIndex, NetmeraCarouselObject netmeraCarouselObject) {
60
+ bundle.putInt("selectedIndex", selectedIndex);
61
+ WritableMap map = RNNetmeraUtil.mapCarouselObject(netmeraCarouselObject);
62
+ map.merge(mergeMap(bundle, netmeraPushObject));
63
+ sendEvent(context, "onCarouselObjectSelected", map);
64
+ }
65
+
58
66
  private void sendEvent(Context context, String eventName, WritableMap map) {
59
67
  try {
60
68
  Intent backgroundIntent = new Intent(context, RNNetmeraPushHeadlessService.class);
@@ -8,14 +8,11 @@
8
8
 
9
9
  package com.netmera.reactnativesdk;
10
10
 
11
- import android.app.ActivityManager;
12
- import android.content.Context;
13
11
  import android.text.format.DateFormat;
14
12
 
15
13
  import androidx.annotation.Nullable;
16
14
 
17
15
  import com.facebook.react.bridge.Arguments;
18
- import com.facebook.react.bridge.ReactContext;
19
16
  import com.facebook.react.bridge.ReadableArray;
20
17
  import com.facebook.react.bridge.ReadableMap;
21
18
  import com.facebook.react.bridge.ReadableMapKeySetIterator;
@@ -24,9 +21,12 @@ import com.facebook.react.bridge.WritableArray;
24
21
  import com.facebook.react.bridge.WritableMap;
25
22
  import com.facebook.react.bridge.WritableNativeArray;
26
23
  import com.facebook.react.bridge.WritableNativeMap;
27
- import com.facebook.react.common.LifecycleState;
28
24
  import com.google.gson.Gson;
25
+ import com.netmera.NetmeraCarouselObject;
29
26
  import com.netmera.NetmeraPushObject;
27
+ import com.netmera.data.NMCategoryPreference;
28
+ import com.netmera.data.NMInboxStatus;
29
+ import com.netmera.data.NMInboxStatusCount;
30
30
 
31
31
  import org.json.JSONArray;
32
32
  import org.json.JSONException;
@@ -263,4 +263,52 @@ class RNNetmeraUtil {
263
263
 
264
264
  return pushObjectMap;
265
265
  }
266
+
267
+ public static WritableMap mapCarouselObject(NetmeraCarouselObject carouselObject) {
268
+ WritableMap pushObjectMap = Arguments.createMap();
269
+ pushObjectMap.putString("id", carouselObject.getId());
270
+ pushObjectMap.putString("action", new Gson().toJson(carouselObject.getAction()));
271
+ pushObjectMap.putString("picturePath", carouselObject.getPicturePath());
272
+ return pushObjectMap;
273
+ }
274
+
275
+ public static NMInboxStatus getInboxStatus(int code) {
276
+ for (NMInboxStatus value : NMInboxStatus.values()) {
277
+ if (value.getCode() == code) {
278
+ return value;
279
+ }
280
+ }
281
+ return NMInboxStatus.STATUS_ALL;
282
+ }
283
+
284
+ public static WritableMap parseInboxCountForStatusToMap(NMInboxStatusCount nmInboxStatusCount) {
285
+ Integer allCount = nmInboxStatusCount.getCountForStatus(NMInboxStatus.STATUS_ALL);
286
+ Integer deletedCount = nmInboxStatusCount.getCountForStatus(NMInboxStatus.STATUS_DELETED);
287
+ Integer readCount = nmInboxStatusCount.getCountForStatus(NMInboxStatus.STATUS_READ);
288
+ Integer unreadCount = nmInboxStatusCount.getCountForStatus(NMInboxStatus.STATUS_UNREAD);
289
+
290
+ if (allCount == null) allCount = 0;
291
+ if (deletedCount == null) deletedCount = 0;
292
+ if (readCount == null) readCount = 0;
293
+ if (unreadCount == null) unreadCount = 0;
294
+
295
+ WritableMap map = Arguments.createMap();
296
+ map.putInt(String.valueOf(NMInboxStatus.STATUS_ALL.getCode()), allCount);
297
+ map.putInt(String.valueOf(NMInboxStatus.STATUS_DELETED.getCode()), deletedCount);
298
+ map.putInt(String.valueOf(NMInboxStatus.STATUS_READ.getCode()), readCount);
299
+ map.putInt(String.valueOf(NMInboxStatus.STATUS_UNREAD.getCode()), unreadCount);
300
+ return map;
301
+ }
302
+
303
+ public static WritableArray parseUserCategoryPreferenceListToMap(List<NMCategoryPreference> preferences) {
304
+ WritableArray pushObjectList = Arguments.createArray();
305
+ for (NMCategoryPreference preference : preferences) {
306
+ WritableMap preferenceMap = Arguments.createMap();
307
+ preferenceMap.putInt("categoryId", preference.getCategoryId());
308
+ preferenceMap.putString("categoryName", preference.getCategoryName());
309
+ preferenceMap.putBoolean("optInStatus", preference.getOptInStatus());
310
+ pushObjectList.pushMap(preferenceMap);
311
+ }
312
+ return pushObjectList;
313
+ }
266
314
  }