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.
- package/.idea/misc.xml +2 -1
- package/.idea/modules.xml +1 -1
- package/.idea/{netmera.iml → netmera-sdk-react-native.iml} +1 -1
- package/README.md +475 -17
- package/RNNetmera.podspec +4 -5
- 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 +2 -0
- package/android/.idea/misc.xml +1 -1
- package/android/{android.iml → .idea/modules/android.iml} +5 -3
- package/android/.idea/modules.xml +1 -1
- package/android/.idea/vcs.xml +6 -0
- package/android/build/.transforms/07da1e78aa5e2a23e865850e1fa31195/classes/classes.dex +0 -0
- package/android/build/.transforms/07da1e78aa5e2a23e865850e1fa31195.bin +1 -0
- package/android/build/.transforms/1cc655d17744898d5287444bc3b54ccd/classes/classes.dex +0 -0
- package/android/build/.transforms/1cc655d17744898d5287444bc3b54ccd.bin +1 -0
- package/android/build/.transforms/1d7e2a596c5a01e1599ed8d99d8fed25/classes/classes.dex +0 -0
- package/android/build/.transforms/1d7e2a596c5a01e1599ed8d99d8fed25.bin +1 -0
- package/android/build/.transforms/61070ab087fd3e8aaad4987d1cd9aeb2/classes/classes.dex +0 -0
- package/android/build/.transforms/61070ab087fd3e8aaad4987d1cd9aeb2.bin +1 -0
- package/android/build/.transforms/6bd284ae922673d08694a1221c01809c/classes/classes.dex +0 -0
- package/android/build/.transforms/6bd284ae922673d08694a1221c01809c.bin +1 -0
- package/android/build/.transforms/a8f21d984467d686c5d11cdc3f508ab2/classes/classes.dex +0 -0
- package/android/build/.transforms/a8f21d984467d686c5d11cdc3f508ab2.bin +1 -0
- package/android/build/.transforms/ae3b3ad311ea4fe5b0c3652f1d5b8a07/classes/classes.dex +0 -0
- package/android/build/.transforms/ae3b3ad311ea4fe5b0c3652f1d5b8a07.bin +1 -0
- package/android/build/.transforms/cc45f1af54894b49e3ec8f6b5a05a8d7/classes/classes.dex +0 -0
- package/android/build/.transforms/cc45f1af54894b49e3ec8f6b5a05a8d7.bin +1 -0
- package/android/build/.transforms/f58e3ec11746c18253c1a7a566c2609f/classes/classes.dex +0 -0
- package/android/build/.transforms/f58e3ec11746c18253c1a7a566c2609f.bin +1 -0
- package/android/build/generated/source/buildConfig/debug/com/{reactlibrary → netmera/reactnativesdk}/BuildConfig.java +2 -3
- package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/AndroidManifest.xml +15 -0
- package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/output.json +27 -0
- package/android/build/intermediates/compile_library_classes_jar/debug/classes.jar +0 -0
- package/android/build/intermediates/compile_only_not_namespaced_r_class_jar/debug/R.jar +0 -0
- package/android/build/intermediates/compile_symbol_list/debug/R.txt +3524 -0
- package/android/build/intermediates/incremental/{debug-mergeJniLibs → debug-mergeNativeLibs}/merge-state +0 -0
- 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$1.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/{compileDebugJavaWithJavac/classes/com/reactlibrary → classes/com/netmera/reactnativesdk}/RNNetmeraEvent.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$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.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraPackage.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/{compileDebugJavaWithJavac/classes/com/reactlibrary → classes/com/netmera/reactnativesdk}/RNNetmeraUser.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 +6 -2
- package/android/build/intermediates/local_only_symbol_list/debug/R-def.txt +2 -0
- package/android/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt +20 -0
- package/android/build/intermediates/merged_manifests/debug/output.json +27 -1
- package/android/build/intermediates/navigation_json/debug/navigation.json +1 -0
- package/android/build/intermediates/runtime_library_classes_jar/debug/classes.jar +0 -0
- package/android/build/intermediates/{res/symbol-table-with-package → symbol_list_with_package_name}/debug/package-aware-r.txt +756 -32
- package/android/build/outputs/logs/manifest-merger-debug-report.txt +34 -28
- package/android/build.gradle +4 -4
- package/android/local.properties +2 -2
- package/android/src/main/AndroidManifest.xml +1 -1
- package/android/src/main/java/com/netmera/reactnativesdk/RNNetmera.java +26 -0
- package/android/src/main/java/com/netmera/reactnativesdk/RNNetmeraCategoryObject.java +56 -0
- package/android/src/main/java/com/netmera/reactnativesdk/RNNetmeraConfiguration.java +128 -0
- package/android/src/main/java/com/{reactlibrary → netmera/reactnativesdk}/RNNetmeraEvent.java +1 -1
- package/android/src/main/java/com/{reactlibrary → netmera/reactnativesdk}/RNNetmeraModule.java +168 -31
- package/android/src/main/java/com/{reactlibrary → netmera/reactnativesdk}/RNNetmeraPackage.java +1 -1
- package/android/src/main/java/com/{reactlibrary → netmera/reactnativesdk}/RNNetmeraPushBroadcastReceiver.java +19 -41
- package/android/src/main/java/com/{reactlibrary → netmera/reactnativesdk}/RNNetmeraPushHeadlessService.java +1 -1
- package/android/src/main/java/com/{reactlibrary → netmera/reactnativesdk}/RNNetmeraUser.java +1 -1
- package/android/src/main/java/com/{reactlibrary → netmera/reactnativesdk}/RNNetmeraUtil.java +69 -69
- package/index.js +127 -36
- package/ios/RNNetmera.h +6 -0
- package/ios/RNNetmera.m +220 -92
- package/ios/RNNetmera.xcodeproj/project.pbxproj +35 -3
- package/ios/RNNetmera.xcodeproj/xcshareddata/xcschemes/RNNetmera.xcscheme +67 -0
- package/ios/RNNetmera.xcodeproj/xcuserdata/{huseyin.xcuserdatad → ensarbayhan.xcuserdatad}/xcschemes/xcschememanagement.plist +1 -1
- package/ios/RNNetmeraCategoryObject.h +16 -0
- package/ios/RNNetmeraCategoryObject.m +59 -0
- package/ios/RNNetmeraEvent.h +1 -1
- package/ios/RNNetmeraEvent.m +5 -1
- package/ios/RNNetmeraRCTEventEmitter.h +4 -3
- package/ios/RNNetmeraRCTEventEmitter.m +9 -5
- package/ios/RNNetmeraUser.h +1 -1
- package/ios/RNNetmeraUtils.h +1 -1
- package/ios/RNNetmeraUtils.m +45 -14
- package/package.json +1 -1
- package/.idea/encodings.xml +0 -4
- package/.idea/workspace.xml +0 -188
- package/android/.gradle/5.0/fileChanges/last-build.bin +0 -0
- package/android/.gradle/5.0/fileHashes/fileHashes.bin +0 -0
- package/android/.gradle/5.0/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/5.0/gc.properties +0 -0
- package/android/.idea/codeStyles/Project.xml +0 -29
- package/android/.idea/runConfigurations.xml +0 -12
- package/android/.idea/workspace.xml +0 -221
- package/android/build/generated/source/buildConfig/androidTest/debug/com/reactlibrary/test/BuildConfig.java +0 -13
- package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +0 -11
- package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output.json +0 -1
- package/android/build/intermediates/aapt_fr/304/261endly_merged_man/304/261fests/debug/aapt/AndroidManifest.xml +0 -11
- package/android/build/intermediates/aapt_fr/304/261endly_merged_man/304/261fests/debug/aapt/output.json +0 -1
- package/android/build/intermediates/annotat/304/261on_processor_l/304/261st/debug/annotationProcessors.json +0 -1
- package/android/build/intermediates/compile_only_not_namespaced_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
- package/android/build/intermediates/comp/304/261le_l/304/261brary_classes/debug/classes.jar +0 -0
- package/android/build/intermediates/comp/304/261le_only_not_namespaced_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
- package/android/build/intermediates/intermediate-jars/debug/classes.jar +0 -0
- package/android/build/intermediates/intermediate-jars/debug/res.jar +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/reactlibrary/BuildConfig.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/reactlibrary/RNNetmeraModule$1.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/reactlibrary/RNNetmeraModule$2.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/reactlibrary/RNNetmeraModule$3.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/reactlibrary/RNNetmeraModule.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/reactlibrary/RNNetmeraPackage.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/reactlibrary/RNNetmeraPushBroadcastReceiver.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/reactlibrary/RNNetmeraUtil$1.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/reactlibrary/RNNetmeraUtil.class +0 -0
- package/android/build/intermediates/l/304/261brary_java_res/debug/res.jar +0 -0
- package/android/build/intermediates/l/304/261brary_man/304/261fest/debug/AndroidManifest.xml +0 -11
- package/android/build/intermediates/merged_manifests/debugAndroidTest/AndroidManifest.xml +0 -225
- package/android/build/intermediates/merged_manifests/debugAndroidTest/output.json +0 -1
- package/android/build/intermediates/merged_man/304/261fests/debug/output.json +0 -1
- package/android/build/intermediates/runt/304/261me_l/304/261brary_classes/debug/classes.jar +0 -0
- package/android/build/intermediates/symbols/debug/R.txt +0 -1943
- package/android/build/intermediates/transforms/mergeJniLibs/debug/__content__.json +0 -1
- package/android/react-native-netmera.iml +0 -277
- package/ios/RNNetmera.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
- package/ios/RNNetmera.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
- 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.
|
|
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.
|
|
26
|
-
import static com.
|
|
25
|
+
import static com.netmera.reactnativesdk.RNNetmeraPushHeadlessService.TASK_KEY;
|
|
26
|
+
import static com.netmera.reactnativesdk.RNNetmeraPushHeadlessService.TASK_MESSAGE;
|
|
27
27
|
|
|
28
|
-
public class RNNetmeraPushBroadcastReceiver
|
|
28
|
+
public class RNNetmeraPushBroadcastReceiver implements NMPushActionCallbacks {
|
|
29
29
|
|
|
30
30
|
@Override
|
|
31
|
-
|
|
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
|
-
|
|
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
|
-
|
|
45
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
}
|
package/android/src/main/java/com/{reactlibrary → netmera/reactnativesdk}/RNNetmeraUtil.java
RENAMED
|
@@ -6,10 +6,11 @@
|
|
|
6
6
|
// Copyright © 2019 Netmera. All rights reserved.
|
|
7
7
|
//
|
|
8
8
|
|
|
9
|
-
package com.
|
|
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
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
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 {
|
|
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
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
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
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
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
|
|
46
|
-
|
|
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
|
|
54
|
-
|
|
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
|
|
64
|
-
|
|
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
|
|
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
|
|
114
|
-
return RNNetmera.
|
|
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
|
-
|
|
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
|
|