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.
- package/.idea/{netmera-sdk-react-native.iml → NetmeraSDKReactNative.iml} +0 -0
- package/.idea/modules.xml +1 -1
- package/README.md +277 -188
- package/RNNetmera.podspec +8 -6
- package/android/.gradle/4.10.1/fileHashes/fileHashes.bin +0 -0
- package/android/.gradle/4.10.1/fileHashes/fileHashes.lock +0 -0
- package/android/.idea/gradle.xml +0 -2
- package/android/build/generated/source/buildConfig/debug/com/netmera/reactnativesdk/BuildConfig.java +0 -2
- package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/AndroidManifest.xml +1 -1
- package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/output-metadata.json +16 -0
- package/android/build/intermediates/aar_metadata/debug/aar-metadata.properties +2 -0
- package/android/build/intermediates/compile_library_classes_jar/debug/classes.jar +0 -0
- package/android/build/intermediates/compile_r_class_jar/debug/R.jar +0 -0
- package/android/build/intermediates/compile_symbol_list/debug/R.txt +3610 -384
- package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +1 -1
- package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +1 -1
- package/android/build/intermediates/incremental/packageDebugAssets/merger.xml +1 -1
- package/android/build/intermediates/incremental/packageDebugResources/compile-file-map.properties +1 -1
- package/android/build/intermediates/incremental/packageDebugResources/merger.xml +1 -1
- package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/BuildConfig.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmera.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraCategoryObject.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraConfiguration$Builder.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraConfiguration.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraModule$1.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraModule$10.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraModule$2.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraModule$3.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraModule$4.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraModule$5.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraModule$6.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraModule$7.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraModule$8.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraModule$9.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraModule.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraPushBroadcastReceiver.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraPushHeadlessService.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraUtil$1.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraUtil.class +0 -0
- package/android/build/intermediates/library_manifest/debug/AndroidManifest.xml +1 -1
- package/android/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt +6 -6
- package/android/build/intermediates/packaged_manifests/debug/output-metadata.json +16 -0
- package/android/build/intermediates/runtime_library_classes_jar/debug/classes.jar +0 -0
- package/android/build/intermediates/symbol_list_with_package_name/debug/package-aware-r.txt +2710 -12
- package/android/build/outputs/logs/manifest-merger-debug-report.txt +31 -31
- package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
- package/android/build.gradle +5 -3
- package/android/local.properties +2 -2
- package/android/src/main/java/com/netmera/reactnativesdk/RNNetmera.java +2 -6
- package/android/src/main/java/com/netmera/reactnativesdk/RNNetmeraConfiguration.java +0 -12
- package/android/src/main/java/com/netmera/reactnativesdk/RNNetmeraModule.java +116 -5
- package/android/src/main/java/com/netmera/reactnativesdk/RNNetmeraPushBroadcastReceiver.java +13 -5
- package/android/src/main/java/com/netmera/reactnativesdk/RNNetmeraUtil.java +52 -4
- package/index.js +19 -320
- package/ios/RNNetmera.h +2 -2
- package/ios/RNNetmera.m +64 -2
- package/ios/RNNetmeraUtils.h +4 -0
- package/ios/RNNetmeraUtils.m +38 -0
- package/package.json +1 -1
- package/src/Netmera.js +223 -0
- package/src/NetmeraInbox.js +95 -0
- package/src/NetmeraUser.js +92 -0
- package/.idea/misc.xml +0 -7
- package/android/build/.transforms/07da1e78aa5e2a23e865850e1fa31195/classes/classes.dex +0 -0
- package/android/build/.transforms/07da1e78aa5e2a23e865850e1fa31195.bin +0 -1
- package/android/build/.transforms/1cc655d17744898d5287444bc3b54ccd/classes/classes.dex +0 -0
- package/android/build/.transforms/1cc655d17744898d5287444bc3b54ccd.bin +0 -1
- package/android/build/.transforms/1d7e2a596c5a01e1599ed8d99d8fed25/classes/classes.dex +0 -0
- package/android/build/.transforms/1d7e2a596c5a01e1599ed8d99d8fed25.bin +0 -1
- package/android/build/.transforms/61070ab087fd3e8aaad4987d1cd9aeb2/classes/classes.dex +0 -0
- package/android/build/.transforms/61070ab087fd3e8aaad4987d1cd9aeb2.bin +0 -1
- package/android/build/.transforms/6bd284ae922673d08694a1221c01809c/classes/classes.dex +0 -0
- package/android/build/.transforms/6bd284ae922673d08694a1221c01809c.bin +0 -1
- package/android/build/.transforms/a8f21d984467d686c5d11cdc3f508ab2/classes/classes.dex +0 -0
- package/android/build/.transforms/a8f21d984467d686c5d11cdc3f508ab2.bin +0 -1
- package/android/build/.transforms/ae3b3ad311ea4fe5b0c3652f1d5b8a07/classes/classes.dex +0 -0
- package/android/build/.transforms/ae3b3ad311ea4fe5b0c3652f1d5b8a07.bin +0 -1
- package/android/build/.transforms/cc45f1af54894b49e3ec8f6b5a05a8d7/classes/classes.dex +0 -0
- package/android/build/.transforms/cc45f1af54894b49e3ec8f6b5a05a8d7.bin +0 -1
- package/android/build/.transforms/f58e3ec11746c18253c1a7a566c2609f/classes/classes.dex +0 -0
- package/android/build/.transforms/f58e3ec11746c18253c1a7a566c2609f.bin +0 -1
- package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/output.json +0 -27
- package/android/build/intermediates/compile_only_not_namespaced_r_class_jar/debug/R.jar +0 -0
- package/android/build/intermediates/incremental/debug-mergeNativeLibs/merge-state +0 -0
- package/android/build/intermediates/merged_manifests/debug/output.json +0 -27
- 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/
|
|
4
|
-
INJECTED from /Users/
|
|
5
|
-
INJECTED from /Users/
|
|
6
|
-
INJECTED from /Users/
|
|
7
|
-
INJECTED from /Users/
|
|
8
|
-
INJECTED from /Users/
|
|
9
|
-
INJECTED from /Users/
|
|
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/
|
|
12
|
-
INJECTED from /Users/
|
|
13
|
-
INJECTED from /Users/
|
|
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/
|
|
16
|
-
ADDED from /Users/
|
|
17
|
-
INJECTED from /Users/
|
|
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/
|
|
20
|
-
ADDED from /Users/
|
|
21
|
-
INJECTED from /Users/
|
|
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/
|
|
23
|
+
ADDED from /Users/gunesbaki/Projects/Netmera/NetmeraSDKReactNative/android/src/main/AndroidManifest.xml:2:11-69
|
|
24
24
|
application
|
|
25
|
-
ADDED from /Users/
|
|
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/
|
|
27
|
+
ADDED from /Users/gunesbaki/Projects/Netmera/NetmeraSDKReactNative/android/src/main/AndroidManifest.xml:5:9-65
|
|
28
28
|
android:name
|
|
29
|
-
ADDED from /Users/
|
|
29
|
+
ADDED from /Users/gunesbaki/Projects/Netmera/NetmeraSDKReactNative/android/src/main/AndroidManifest.xml:5:18-62
|
|
30
30
|
uses-sdk
|
|
31
|
-
INJECTED from /Users/
|
|
32
|
-
INJECTED from /Users/
|
|
33
|
-
INJECTED from /Users/
|
|
34
|
-
INJECTED from /Users/
|
|
35
|
-
INJECTED from /Users/
|
|
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/
|
|
38
|
-
ADDED from /Users/
|
|
39
|
-
INJECTED from /Users/
|
|
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/
|
|
42
|
-
ADDED from /Users/
|
|
43
|
-
INJECTED from /Users/
|
|
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
|
package/android/build.gradle
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
apply plugin: 'com.android.library'
|
|
2
2
|
|
|
3
3
|
android {
|
|
4
|
-
compileSdkVersion
|
|
4
|
+
compileSdkVersion 32
|
|
5
5
|
buildToolsVersion "29.0.2"
|
|
6
6
|
|
|
7
7
|
defaultConfig {
|
|
8
8
|
minSdkVersion 16
|
|
9
|
-
targetSdkVersion
|
|
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:
|
|
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
|
}
|
package/android/local.properties
CHANGED
|
@@ -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
|
-
#
|
|
8
|
-
sdk.dir=/Users/
|
|
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.
|
|
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
|
}
|
package/android/src/main/java/com/netmera/reactnativesdk/RNNetmeraPushBroadcastReceiver.java
CHANGED
|
@@ -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.
|
|
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
|
}
|