react-native-netmera 1.3.0 → 1.3.5

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 (140) hide show
  1. package/.idea/misc.xml +2 -1
  2. package/.idea/modules.xml +1 -1
  3. package/.idea/{netmera.iml → netmera-sdk-react-native.iml} +1 -1
  4. package/README.md +475 -17
  5. package/RNNetmera.podspec +4 -5
  6. package/android/.gradle/4.10.1/fileHashes/fileHashes.bin +0 -0
  7. package/android/.gradle/4.10.1/fileHashes/fileHashes.lock +0 -0
  8. package/android/.idea/gradle.xml +2 -0
  9. package/android/.idea/misc.xml +1 -1
  10. package/android/{android.iml → .idea/modules/android.iml} +5 -3
  11. package/android/.idea/modules.xml +1 -1
  12. package/android/.idea/vcs.xml +6 -0
  13. package/android/build/.transforms/07da1e78aa5e2a23e865850e1fa31195/classes/classes.dex +0 -0
  14. package/android/build/.transforms/07da1e78aa5e2a23e865850e1fa31195.bin +1 -0
  15. package/android/build/.transforms/1cc655d17744898d5287444bc3b54ccd/classes/classes.dex +0 -0
  16. package/android/build/.transforms/1cc655d17744898d5287444bc3b54ccd.bin +1 -0
  17. package/android/build/.transforms/1d7e2a596c5a01e1599ed8d99d8fed25/classes/classes.dex +0 -0
  18. package/android/build/.transforms/1d7e2a596c5a01e1599ed8d99d8fed25.bin +1 -0
  19. package/android/build/.transforms/61070ab087fd3e8aaad4987d1cd9aeb2/classes/classes.dex +0 -0
  20. package/android/build/.transforms/61070ab087fd3e8aaad4987d1cd9aeb2.bin +1 -0
  21. package/android/build/.transforms/6bd284ae922673d08694a1221c01809c/classes/classes.dex +0 -0
  22. package/android/build/.transforms/6bd284ae922673d08694a1221c01809c.bin +1 -0
  23. package/android/build/.transforms/a8f21d984467d686c5d11cdc3f508ab2/classes/classes.dex +0 -0
  24. package/android/build/.transforms/a8f21d984467d686c5d11cdc3f508ab2.bin +1 -0
  25. package/android/build/.transforms/ae3b3ad311ea4fe5b0c3652f1d5b8a07/classes/classes.dex +0 -0
  26. package/android/build/.transforms/ae3b3ad311ea4fe5b0c3652f1d5b8a07.bin +1 -0
  27. package/android/build/.transforms/cc45f1af54894b49e3ec8f6b5a05a8d7/classes/classes.dex +0 -0
  28. package/android/build/.transforms/cc45f1af54894b49e3ec8f6b5a05a8d7.bin +1 -0
  29. package/android/build/.transforms/f58e3ec11746c18253c1a7a566c2609f/classes/classes.dex +0 -0
  30. package/android/build/.transforms/f58e3ec11746c18253c1a7a566c2609f.bin +1 -0
  31. package/android/build/generated/source/buildConfig/debug/com/{reactlibrary → netmera/reactnativesdk}/BuildConfig.java +2 -3
  32. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/AndroidManifest.xml +15 -0
  33. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/output.json +27 -0
  34. package/android/build/intermediates/compile_library_classes_jar/debug/classes.jar +0 -0
  35. package/android/build/intermediates/compile_only_not_namespaced_r_class_jar/debug/R.jar +0 -0
  36. package/android/build/intermediates/compile_symbol_list/debug/R.txt +3524 -0
  37. package/android/build/intermediates/incremental/{debug-mergeJniLibs → debug-mergeNativeLibs}/merge-state +0 -0
  38. package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +1 -1
  39. package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +1 -1
  40. package/android/build/intermediates/incremental/packageDebugAssets/merger.xml +1 -1
  41. package/android/build/intermediates/incremental/packageDebugResources/compile-file-map.properties +1 -1
  42. package/android/build/intermediates/incremental/packageDebugResources/merger.xml +1 -1
  43. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/BuildConfig.class +0 -0
  44. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmera.class +0 -0
  45. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraCategoryObject.class +0 -0
  46. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraConfiguration$1.class +0 -0
  47. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraConfiguration$Builder.class +0 -0
  48. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraConfiguration.class +0 -0
  49. package/android/build/intermediates/javac/debug/{compileDebugJavaWithJavac/classes/com/reactlibrary → classes/com/netmera/reactnativesdk}/RNNetmeraEvent.class +0 -0
  50. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraModule$1.class +0 -0
  51. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraModule$2.class +0 -0
  52. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraModule$3.class +0 -0
  53. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraModule$4.class +0 -0
  54. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraModule$5.class +0 -0
  55. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraModule$6.class +0 -0
  56. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraModule$7.class +0 -0
  57. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraModule.class +0 -0
  58. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraPackage.class +0 -0
  59. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraPushBroadcastReceiver.class +0 -0
  60. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraPushHeadlessService.class +0 -0
  61. package/android/build/intermediates/javac/debug/{compileDebugJavaWithJavac/classes/com/reactlibrary → classes/com/netmera/reactnativesdk}/RNNetmeraUser.class +0 -0
  62. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraUtil$1.class +0 -0
  63. package/android/build/intermediates/javac/debug/classes/com/netmera/reactnativesdk/RNNetmeraUtil.class +0 -0
  64. package/android/build/intermediates/library_manifest/debug/AndroidManifest.xml +6 -2
  65. package/android/build/intermediates/local_only_symbol_list/debug/R-def.txt +2 -0
  66. package/android/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt +20 -0
  67. package/android/build/intermediates/merged_manifests/debug/output.json +27 -1
  68. package/android/build/intermediates/navigation_json/debug/navigation.json +1 -0
  69. package/android/build/intermediates/runtime_library_classes_jar/debug/classes.jar +0 -0
  70. package/android/build/intermediates/{res/symbol-table-with-package → symbol_list_with_package_name}/debug/package-aware-r.txt +756 -32
  71. package/android/build/outputs/logs/manifest-merger-debug-report.txt +34 -28
  72. package/android/build.gradle +4 -4
  73. package/android/local.properties +2 -2
  74. package/android/src/main/AndroidManifest.xml +1 -1
  75. package/android/src/main/java/com/netmera/reactnativesdk/RNNetmera.java +26 -0
  76. package/android/src/main/java/com/netmera/reactnativesdk/RNNetmeraCategoryObject.java +56 -0
  77. package/android/src/main/java/com/netmera/reactnativesdk/RNNetmeraConfiguration.java +128 -0
  78. package/android/src/main/java/com/{reactlibrary → netmera/reactnativesdk}/RNNetmeraEvent.java +1 -1
  79. package/android/src/main/java/com/{reactlibrary → netmera/reactnativesdk}/RNNetmeraModule.java +168 -31
  80. package/android/src/main/java/com/{reactlibrary → netmera/reactnativesdk}/RNNetmeraPackage.java +1 -1
  81. package/android/src/main/java/com/{reactlibrary → netmera/reactnativesdk}/RNNetmeraPushBroadcastReceiver.java +18 -41
  82. package/android/src/main/java/com/{reactlibrary → netmera/reactnativesdk}/RNNetmeraPushHeadlessService.java +4 -5
  83. package/android/src/main/java/com/{reactlibrary → netmera/reactnativesdk}/RNNetmeraUser.java +1 -1
  84. package/android/src/main/java/com/{reactlibrary → netmera/reactnativesdk}/RNNetmeraUtil.java +69 -69
  85. package/index.js +127 -36
  86. package/ios/RNNetmera.h +6 -0
  87. package/ios/RNNetmera.m +220 -92
  88. package/ios/RNNetmera.xcodeproj/project.pbxproj +35 -3
  89. package/ios/RNNetmera.xcodeproj/xcshareddata/xcschemes/RNNetmera.xcscheme +67 -0
  90. package/ios/RNNetmera.xcodeproj/xcuserdata/{huseyin.xcuserdatad → ensarbayhan.xcuserdatad}/xcschemes/xcschememanagement.plist +1 -1
  91. package/ios/RNNetmeraCategoryObject.h +16 -0
  92. package/ios/RNNetmeraCategoryObject.m +59 -0
  93. package/ios/RNNetmeraEvent.h +1 -1
  94. package/ios/RNNetmeraRCTEventEmitter.h +4 -3
  95. package/ios/RNNetmeraRCTEventEmitter.m +9 -5
  96. package/ios/RNNetmeraUser.h +1 -1
  97. package/ios/RNNetmeraUtils.h +1 -1
  98. package/ios/RNNetmeraUtils.m +45 -14
  99. package/package.json +1 -1
  100. package/.idea/encodings.xml +0 -4
  101. package/.idea/workspace.xml +0 -175
  102. package/android/.gradle/5.0/fileChanges/last-build.bin +0 -0
  103. package/android/.gradle/5.0/fileHashes/fileHashes.bin +0 -0
  104. package/android/.gradle/5.0/fileHashes/fileHashes.lock +0 -0
  105. package/android/.gradle/5.0/gc.properties +0 -0
  106. package/android/.idea/codeStyles/Project.xml +0 -29
  107. package/android/.idea/runConfigurations.xml +0 -12
  108. package/android/.idea/workspace.xml +0 -221
  109. package/android/build/generated/source/buildConfig/androidTest/debug/com/reactlibrary/test/BuildConfig.java +0 -13
  110. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +0 -11
  111. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output.json +0 -1
  112. package/android/build/intermediates/aapt_fr/304/261endly_merged_man/304/261fests/debug/aapt/AndroidManifest.xml +0 -11
  113. package/android/build/intermediates/aapt_fr/304/261endly_merged_man/304/261fests/debug/aapt/output.json +0 -1
  114. package/android/build/intermediates/annotat/304/261on_processor_l/304/261st/debug/annotationProcessors.json +0 -1
  115. package/android/build/intermediates/compile_only_not_namespaced_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
  116. package/android/build/intermediates/comp/304/261le_l/304/261brary_classes/debug/classes.jar +0 -0
  117. package/android/build/intermediates/comp/304/261le_only_not_namespaced_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
  118. package/android/build/intermediates/intermediate-jars/debug/classes.jar +0 -0
  119. package/android/build/intermediates/intermediate-jars/debug/res.jar +0 -0
  120. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/reactlibrary/BuildConfig.class +0 -0
  121. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/reactlibrary/RNNetmeraModule$1.class +0 -0
  122. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/reactlibrary/RNNetmeraModule$2.class +0 -0
  123. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/reactlibrary/RNNetmeraModule$3.class +0 -0
  124. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/reactlibrary/RNNetmeraModule.class +0 -0
  125. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/reactlibrary/RNNetmeraPackage.class +0 -0
  126. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/reactlibrary/RNNetmeraPushBroadcastReceiver.class +0 -0
  127. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/reactlibrary/RNNetmeraUtil$1.class +0 -0
  128. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/reactlibrary/RNNetmeraUtil.class +0 -0
  129. package/android/build/intermediates/l/304/261brary_java_res/debug/res.jar +0 -0
  130. package/android/build/intermediates/l/304/261brary_man/304/261fest/debug/AndroidManifest.xml +0 -11
  131. package/android/build/intermediates/merged_manifests/debugAndroidTest/AndroidManifest.xml +0 -225
  132. package/android/build/intermediates/merged_manifests/debugAndroidTest/output.json +0 -1
  133. package/android/build/intermediates/merged_man/304/261fests/debug/output.json +0 -1
  134. package/android/build/intermediates/runt/304/261me_l/304/261brary_classes/debug/classes.jar +0 -0
  135. package/android/build/intermediates/symbols/debug/R.txt +0 -1943
  136. package/android/build/intermediates/transforms/mergeJniLibs/debug/__content__.json +0 -1
  137. package/android/react-native-netmera.iml +0 -277
  138. package/ios/RNNetmera.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  139. package/ios/RNNetmera.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  140. package/ios/RNNetmera.xcodeproj/project.xcworkspace/xcuserdata/huseyin.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
package/ios/RNNetmera.m CHANGED
@@ -10,58 +10,51 @@
10
10
  #import "RNNetmeraEvent.h"
11
11
  #import "RNNetmeraUser.h"
12
12
  #import "RNNetmeraUtils.h"
13
+ #import "RNNetmeraCategoryObject.h"
13
14
  #import <Netmera/Netmera.h>
14
15
 
15
-
16
16
  NSString *const ERROR_CODE_INBOX = @"2016";
17
17
  NSString *const ERROR_MESSAGE_INBOX = @"There was a problem fetching inbox";
18
18
  NSString *const ERROR_CODE_NOT_NEXT_PAGE = @"2018";
19
19
  NSString *const ERROR_MESSAGE_NOT_NEXT_PAGE = @"Not next page";
20
20
  NSString *const ERROR_CODE_UPDATE_STATUS = @"2019";
21
21
  NSString *const ERROR_MESSAGE_UPDATE_STATUS = @"There was a problem updating status";
22
+ NSString *const ERROR_CODE_NULL_CATEGORY = @"2020";
23
+ NSString *const ERROR_MESSAGE_NULL_CATEGORY = @"Must call fetchCategory method first";
24
+ NSString *const ERROR_CODE_INVALID_PUSH_OBJECT = @"2021";
25
+ NSString *const ERROR_MESSAGE_INVALID_PUSH_OBJECT = @"Received NetmeraPushObject was not valid.";
22
26
 
23
27
 
24
28
  @implementation RNNetmera
25
29
 
26
- - (instancetype)init
27
- {
28
- if (self = [super init]) {
29
- [Netmera setFrameworkVersion:@"1.3.0"];
30
- [Netmera setFramework:@"react"];
31
- }
30
+ - (instancetype)init {
32
31
  return self;
33
32
  }
34
33
 
35
- + (BOOL)requiresMainQueueSetup
36
- {
37
- return NO;
34
+ + (void)initNetmera:(NSString *)apiKey {
35
+ [Netmera start];
36
+ [Netmera setAPIKey:apiKey];
37
+ [self setNetmeraHeaders];
38
38
  }
39
39
 
40
- - (dispatch_queue_t)methodQueue
41
- {
42
- return dispatch_get_main_queue();
40
+ + (void)setNetmeraHeaders {
41
+ [Netmera setFramework:@"react"];
42
+ [Netmera setFrameworkVersion:@"1.3.5"];
43
43
  }
44
44
 
45
- RCT_EXPORT_MODULE()
46
-
47
- RCT_EXPORT_METHOD(init:(NSString *)apiKey)
48
- {
49
- [Netmera start];
50
- [Netmera setAPIKey:apiKey];
45
+ + (void)setPushDelegate:(NSObject<NetmeraPushDelegate> *)delegate {
46
+ [Netmera setPushDelegate:delegate];
51
47
  }
52
48
 
53
- RCT_EXPORT_METHOD(requestPushNotificationAuthorization)
54
- {
55
- [Netmera requestPushNotificationAuthorizationForTypes:UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound];
49
+ + (void)requestPushNotificationAuthorization {
50
+ [Netmera requestPushNotificationAuthorizationForTypes:UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound];
56
51
  }
57
52
 
58
- RCT_EXPORT_METHOD(setBaseUrl:(NSString *)baseUrl)
59
- {
60
- [Netmera setBaseURL:baseUrl];
53
+ + (BOOL)requiresMainQueueSetup {
54
+ return NO;
61
55
  }
62
56
 
63
- RCT_EXPORT_METHOD(logging:(BOOL *)enabled)
64
- {
57
+ + (void)logging: (BOOL) enabled {
65
58
  if(enabled){
66
59
  [Netmera setLogLevel:(NetmeraLogLevelDebug)];
67
60
  }else{
@@ -69,47 +62,61 @@ RCT_EXPORT_METHOD(logging:(BOOL *)enabled)
69
62
  }
70
63
  }
71
64
 
72
- RCT_EXPORT_METHOD(requestPermissionsForLocation)
73
- {
65
+ - (dispatch_queue_t)methodQueue {
66
+ return dispatch_get_main_queue();
67
+ }
68
+
69
+ RCT_EXPORT_MODULE()
70
+
71
+ RCT_EXPORT_METHOD(currentExternalId:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) {
72
+ resolve([Netmera getCurrentExternalId]);
73
+ }
74
+
75
+ RCT_EXPORT_METHOD(logging:(BOOL *)enabled) {
76
+ [RNNetmera logging:enabled];
77
+ }
78
+
79
+ RCT_EXPORT_METHOD(setBaseUrl:(NSString *)baseUrl) {
80
+ [Netmera setBaseURL:baseUrl];
81
+ }
82
+
83
+ RCT_EXPORT_METHOD(requestPushNotificationAuthorization) {
84
+ [Netmera requestPushNotificationAuthorizationForTypes:UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound];
85
+ }
86
+
87
+ RCT_EXPORT_METHOD(requestPermissionsForLocation) {
74
88
  [Netmera requestLocationAuthorization];
75
89
  }
76
90
 
77
- RCT_EXPORT_METHOD(setNetmeraMaxActiveRegions :(NSInteger)maxActiveRegions)
78
- {
91
+ RCT_EXPORT_METHOD(setNetmeraMaxActiveRegions :(NSInteger)maxActiveRegions) {
79
92
  [Netmera setNetmeraMaxActiveRegions:maxActiveRegions];
80
93
  }
81
94
 
82
- RCT_EXPORT_METHOD(enablePopupPresentation)
83
- {
95
+ RCT_EXPORT_METHOD(enablePopupPresentation) {
84
96
  [Netmera setEnabledPopupPresentation:true];
85
97
  }
86
98
 
87
- RCT_EXPORT_METHOD(disablePopupPresentation)
88
- {
99
+ RCT_EXPORT_METHOD(disablePopupPresentation) {
89
100
  [Netmera setEnabledPopupPresentation:false];
90
101
  }
91
102
 
92
- RCT_EXPORT_METHOD(isPushEnabled:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
93
- {
103
+ RCT_EXPORT_METHOD(isPushEnabled:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) {
94
104
  resolve(@([Netmera isEnabledReceivingPushNotifications]));
95
105
  }
96
106
 
97
- RCT_EXPORT_METHOD(enablePush)
98
- {
107
+ RCT_EXPORT_METHOD(enablePush) {
99
108
  [Netmera setEnabledReceivingPushNotifications:true];
100
109
  }
101
110
 
102
- RCT_EXPORT_METHOD(disablePush)
103
- {
111
+ RCT_EXPORT_METHOD(disablePush) {
104
112
  [Netmera setEnabledReceivingPushNotifications:false];
105
113
  }
106
114
 
107
115
  RCT_EXPORT_METHOD(fetchInbox:(NSDictionary *)inboxDictionary
108
116
  resolver: (RCTPromiseResolveBlock)resolve
109
- rejecter:(RCTPromiseRejectBlock)reject)
110
- {
117
+ rejecter:(RCTPromiseRejectBlock)reject) {
111
118
  NetmeraInboxFilter *filter = [[NetmeraInboxFilter alloc] init];
112
-
119
+
113
120
  if(inboxDictionary[@"status"]){
114
121
  NetmeraInboxStatus netmeraInboxStatus =[inboxDictionary[@"status"] integerValue];
115
122
  filter.status = netmeraInboxStatus;
@@ -129,70 +136,86 @@ RCT_EXPORT_METHOD(fetchInbox:(NSDictionary *)inboxDictionary
129
136
 
130
137
  [Netmera fetchInboxUsingFilter:filter
131
138
  completion:^(NetmeraInbox *inbox, NSError *error) {
132
- if(error) {
133
- reject(ERROR_CODE_INBOX, ERROR_MESSAGE_INBOX, nil);
134
- }else{
135
- self.netmeraInbox = inbox;
136
- NSMutableArray *array = [[NSMutableArray alloc]init];
137
- for(NetmeraPushObject *object in self.netmeraInbox.objects){
138
- [array addObject:[[RNNetmeraUtils shared] dictionaryFromPushObject:object]];
139
- }
140
- resolve(array);
141
- }
142
- }];
143
- }
144
-
145
- RCT_REMAP_METHOD(fetchNextPage, resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
146
- {
139
+ if(error) {
140
+ reject(ERROR_CODE_INBOX, ERROR_MESSAGE_INBOX, nil);
141
+ }else{
142
+ self.netmeraInbox = inbox;
143
+ NSMutableArray *array = [[NSMutableArray alloc]init];
144
+ for(NetmeraPushObject *object in self.netmeraInbox.objects){
145
+ [array addObject:[[RNNetmeraUtils shared] dictionaryFromPushObject:object]];
146
+ }
147
+ resolve(array);
148
+ }
149
+ }];
150
+ }
151
+
152
+ RCT_REMAP_METHOD(fetchNextPage, resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) {
147
153
  [self.netmeraInbox fetchNextPageWithCompletionBlock:^(NSError *error) {
148
154
  if(error) {
149
155
  reject(ERROR_CODE_NOT_NEXT_PAGE, ERROR_MESSAGE_NOT_NEXT_PAGE, nil);
150
156
  }else{
151
157
  NSMutableArray *array = [[NSMutableArray alloc]init];
152
158
  for(NetmeraPushObject *object in self.netmeraInbox.objects){
153
- [array addObject:[[RNNetmeraUtils shared] dictionaryFromPushObject:object]];
159
+ [array addObject:[[RNNetmeraUtils shared] dictionaryFromPushObject:object]];
154
160
  }
155
161
  resolve(array);
156
162
  }
157
163
  }];
158
164
  }
159
165
 
166
+ RCT_EXPORT_METHOD(countForStatus:(NSInteger *)status
167
+ resolver: (RCTPromiseResolveBlock)resolve
168
+ rejecter:(RCTPromiseRejectBlock)reject) {
169
+ NetmeraInboxStatus netmeraInboxStatus = status;
170
+ NSInteger numOfReadOrUnread = [self.netmeraInbox countForStatus:netmeraInboxStatus];
171
+ resolve([@(numOfReadOrUnread) stringValue]);
172
+ }
173
+
160
174
  RCT_EXPORT_METHOD(inboxUpdateStatus:(NSInteger)fromIndex
161
175
  toIndex:(NSInteger)toIndex
162
176
  status:(NSInteger)status
163
177
  resolver: (RCTPromiseResolveBlock)resolve
164
- rejecter:(RCTPromiseRejectBlock)reject)
165
- {
166
- @try {
167
- NSIndexSet *set = [NSIndexSet indexSetWithIndexesInRange:NSMakeRange(fromIndex, toIndex-fromIndex)];
168
- NetmeraInboxStatus netmeraInboxStatus = status;
169
- NSArray *pushObjects = [self.netmeraInbox.objects objectsAtIndexes:set];
170
- [self.netmeraInbox updateStatus:netmeraInboxStatus
171
- forPushObjects:pushObjects
172
- completion:^(NSError *error) {
173
- if(error) {
174
- reject(ERROR_CODE_UPDATE_STATUS, ERROR_MESSAGE_UPDATE_STATUS, nil);
175
- }else{
176
- resolve(nil);
177
- }
178
- }];
179
-
180
- }@catch (NSException *exception) {
181
- reject(ERROR_CODE_UPDATE_STATUS, ERROR_MESSAGE_UPDATE_STATUS, nil);
182
- }
178
+ rejecter:(RCTPromiseRejectBlock)reject) {
179
+ @try {
180
+ NSIndexSet *set = [NSIndexSet indexSetWithIndexesInRange:NSMakeRange(fromIndex, toIndex-fromIndex)];
181
+ NetmeraInboxStatus netmeraInboxStatus = status;
182
+ NSArray *pushObjects = [self.netmeraInbox.objects objectsAtIndexes:set];
183
+ [self.netmeraInbox updateStatus:netmeraInboxStatus
184
+ forPushObjects:pushObjects
185
+ completion:^(NSError *error) {
186
+ if(error) {
187
+ reject(ERROR_CODE_UPDATE_STATUS, ERROR_MESSAGE_UPDATE_STATUS, nil);
188
+ }else{
189
+ resolve(nil);
190
+ }
191
+ }];
192
+
193
+ } @catch (NSException *exception) {
194
+ reject(ERROR_CODE_UPDATE_STATUS, ERROR_MESSAGE_UPDATE_STATUS, nil);
195
+ }
183
196
  }
184
197
 
185
- RCT_EXPORT_METHOD(countForStatus:(NSInteger *)status
198
+ RCT_EXPORT_METHOD(fetchCategory:(NSDictionary *)inboxDictionary
186
199
  resolver: (RCTPromiseResolveBlock)resolve
187
- rejecter:(RCTPromiseRejectBlock)reject)
188
- {
189
- NetmeraInboxStatus netmeraInboxStatus = status;
190
- NSInteger numOfReadOrUnread = [self.netmeraInbox countForStatus:netmeraInboxStatus];
191
- resolve([@(numOfReadOrUnread) stringValue]);
200
+ rejecter:(RCTPromiseRejectBlock)reject) {
201
+ NetmeraInboxCategoryFilter *filter = [RNNetmeraCategoryObject getCategoryObject: inboxDictionary];
202
+
203
+ [Netmera fetchInboxCategoryUsingFilter:filter completion:^(NetmeraInboxCategory *inbox, NSError *error) {
204
+ [self setCategory:inbox error:error resolver:resolve rejecter:reject];
205
+ }];
206
+ }
207
+
208
+ RCT_EXPORT_METHOD(fetchNextCategoryPage: (RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) {
209
+ if (self.netmeraInboxCategory == nil) {
210
+ reject(ERROR_CODE_NULL_CATEGORY, ERROR_MESSAGE_NULL_CATEGORY, nil);
211
+ }
212
+
213
+ [self.netmeraInboxCategory fetchNextPageWithCompletionBlock:^(NSError * _Nonnull error) {
214
+ [self setCategory:self.netmeraInboxCategory error:error resolver:resolve rejecter:reject];
215
+ }];
192
216
  }
193
217
 
194
- RCT_EXPORT_METHOD(sendEvent:(NSDictionary *)eventDictionary)
195
- {
218
+ RCT_EXPORT_METHOD(sendEvent:(NSDictionary *)eventDictionary) {
196
219
  NSMutableDictionary *mutableEventDictionary = [eventDictionary mutableCopy];
197
220
  RNNetmeraEvent *event = [RNNetmeraEvent event];
198
221
  event.netmeraEventKey = mutableEventDictionary[@"code"];
@@ -201,12 +224,11 @@ RCT_EXPORT_METHOD(sendEvent:(NSDictionary *)eventDictionary)
201
224
  [Netmera sendEvent:event];
202
225
  }
203
226
 
204
- RCT_EXPORT_METHOD(updateUser:(NSDictionary *)userDictionary)
205
- {
227
+ RCT_EXPORT_METHOD(updateUser:(NSDictionary *)userDictionary) {
206
228
  NSMutableDictionary *userMutableDictionary = [userDictionary mutableCopy];
207
229
  NSArray *keysForNullValues = [userMutableDictionary allKeysForObject:[NSNull null]];
208
230
  [userMutableDictionary removeObjectsForKeys:keysForNullValues];
209
-
231
+
210
232
  RNNetmeraUser *user = [[RNNetmeraUser alloc] init];
211
233
  user.userId=[userMutableDictionary objectForKey:@"userId"];
212
234
  user.MSISDN=[userMutableDictionary objectForKey:@"msisdn"];
@@ -214,11 +236,117 @@ RCT_EXPORT_METHOD(updateUser:(NSDictionary *)userDictionary)
214
236
  [userMutableDictionary removeObjectForKey:@"userId"];
215
237
  [userMutableDictionary removeObjectForKey:@"email"];
216
238
  [userMutableDictionary removeObjectForKey:@"msisdn"];
217
-
239
+
218
240
  user.userParameters = userMutableDictionary;
219
241
  [Netmera updateUser:user];
220
242
  }
221
243
 
244
+ RCT_EXPORT_METHOD(setApiKey:(NSString *)apiKey) {
245
+ [Netmera setAPIKey:apiKey];
246
+ }
247
+
248
+ RCT_EXPORT_METHOD(handlePushObject:(NSString *)pushId) {
249
+ if (self.netmeraInbox == nil) {
250
+ return;
251
+ }
252
+
253
+ for (int i = 0; i < [self.netmeraInbox.objects count]; i++) {
254
+ if ([pushId isEqualToString: self.netmeraInbox.objects[i].pushId]) {
255
+ [Netmera handlePushObject: self.netmeraInbox.objects[i]];
256
+ }
257
+ }
258
+ }
259
+
260
+ RCT_EXPORT_METHOD(handleInteractiveAction:(NSString *)interactiveActionId) {
261
+ if (self.netmeraInbox == nil) {
262
+ return;
263
+ }
264
+
265
+ for (int i = 0; i < [self.netmeraInbox.objects count]; i++) {
266
+ if (self.netmeraInbox.objects[i].interactiveActions != nil) {
267
+ for (int j = 0; j < [self.netmeraInbox.objects[i].interactiveActions count]; j++) {
268
+ NetmeraUserNotificationAction *action = self.netmeraInbox.objects[i].interactiveActions[j];
269
+ if (action != nil && [interactiveActionId isEqualToString: action.interactiveAction.identifier]) {
270
+ [Netmera handleInteractiveAction:action forPushObject:nil];
271
+ return;
272
+ }
273
+ }
274
+ }
275
+ }
276
+ }
277
+
278
+ RCT_EXPORT_METHOD(handleLastMessage: (NSString*) categoryName resolver: (RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) {
279
+ if (self.netmeraInboxCategory == nil) {
280
+ reject(ERROR_CODE_NULL_CATEGORY, ERROR_MESSAGE_NULL_CATEGORY, nil);
281
+ }
282
+
283
+ if (categoryName == nil || [categoryName isEqualToString:@""]) {
284
+ reject(ERROR_CODE_INVALID_PUSH_OBJECT, ERROR_MESSAGE_INVALID_PUSH_OBJECT, nil);
285
+ }
222
286
 
223
- @end
224
287
 
288
+ for(NetmeraInboxCategoryObject *category in self.netmeraInboxCategory.objects){
289
+ if([categoryName isEqualToString: category.categoryName]){
290
+ [Netmera handlePushObject:category.lastMessage];
291
+ break;
292
+ }
293
+ }
294
+ }
295
+
296
+ RCT_EXPORT_METHOD(updateStatusByCategories:(NSInteger)fromIndex
297
+ toIndex:(NSInteger)toIndex
298
+ status:(NSInteger)status
299
+ resolver: (RCTPromiseResolveBlock)resolve
300
+ rejecter:(RCTPromiseRejectBlock)reject) {
301
+ @try {
302
+ NSIndexSet *set = [NSIndexSet indexSetWithIndexesInRange:NSMakeRange(fromIndex, toIndex - fromIndex)];
303
+ NSArray *categories = [self.netmeraInboxCategory objects];
304
+
305
+ NSMutableArray *categoryList = [NSMutableArray array];
306
+ for (int i = 0; i < [categories objectsAtIndexes:set].count; i++) {
307
+ [categoryList addObject:[[categories objectAtIndex:i] categoryName]];
308
+ }
309
+ NSArray *categoryNames = [NSArray arrayWithArray:categoryList];
310
+
311
+ NetmeraInboxStatus netmeraInboxStatus = status;
312
+
313
+ [Netmera updateStatus:netmeraInboxStatus
314
+ byCategories:categoryNames
315
+ completion:^(NSError *error) {
316
+ if(error) {
317
+ reject(ERROR_CODE_UPDATE_STATUS, ERROR_MESSAGE_UPDATE_STATUS, nil);
318
+ }else{
319
+ resolve(nil);
320
+ }
321
+ }];
322
+
323
+ } @catch (NSException *exception) {
324
+ reject(ERROR_CODE_UPDATE_STATUS, ERROR_MESSAGE_UPDATE_STATUS, nil);
325
+ }
326
+ }
327
+
328
+ RCT_EXPORT_METHOD(updateAll:(NSInteger)inboxStatus
329
+ resolver: (RCTPromiseResolveBlock)resolve
330
+ rejecter:(RCTPromiseRejectBlock)reject) {
331
+ [Netmera updateStatus:inboxStatus forAllWithCompletion: ^(NSError *error) {
332
+ if (error != nil) {
333
+ reject(ERROR_CODE_UPDATE_STATUS, ERROR_MESSAGE_UPDATE_STATUS, nil);
334
+ } else {
335
+ resolve(@(YES));
336
+ }
337
+ }];
338
+ }
339
+
340
+ - (void) setCategory: (NetmeraInboxCategory*)category
341
+ error: (NSError*)error
342
+ resolver: (RCTPromiseResolveBlock)resolve
343
+ rejecter: (RCTPromiseRejectBlock)reject {
344
+ if(error) {
345
+ reject(ERROR_CODE_NULL_CATEGORY, ERROR_MESSAGE_NULL_CATEGORY, nil);
346
+ } else {
347
+ self.netmeraInboxCategory = category;
348
+ resolve([RNNetmeraCategoryObject mapCategoryObjects: self.netmeraInboxCategory.objects]);
349
+ }
350
+ }
351
+
352
+ @end
@@ -36,6 +36,7 @@
36
36
  1D3CCF992269F935004A06A1 /* RNNetmeraUser.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RNNetmeraUser.m; sourceTree = "<group>"; };
37
37
  1DC61EEF225A424F00FEB171 /* RNNetmeraEvent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RNNetmeraEvent.h; sourceTree = "<group>"; };
38
38
  1DC61EF0225A424F00FEB171 /* RNNetmeraEvent.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RNNetmeraEvent.m; sourceTree = "<group>"; };
39
+ 1DEEC2DE2546E33B00142C61 /* libRNNetmera.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libRNNetmera.a; sourceTree = BUILT_PRODUCTS_DIR; };
39
40
  B3E7B5881CC2AC0600A0062D /* RNNetmera.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RNNetmera.h; sourceTree = "<group>"; };
40
41
  B3E7B5891CC2AC0600A0062D /* RNNetmera.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RNNetmera.m; sourceTree = "<group>"; };
41
42
  /* End PBXFileReference section */
@@ -59,6 +60,14 @@
59
60
  name = Products;
60
61
  sourceTree = "<group>";
61
62
  };
63
+ 1DEEC2DD2546E33B00142C61 /* Frameworks */ = {
64
+ isa = PBXGroup;
65
+ children = (
66
+ 1DEEC2DE2546E33B00142C61 /* libRNNetmera.a */,
67
+ );
68
+ name = Frameworks;
69
+ sourceTree = "<group>";
70
+ };
62
71
  58B511D21A9E6C8500147676 = {
63
72
  isa = PBXGroup;
64
73
  children = (
@@ -73,6 +82,7 @@
73
82
  B3E7B5881CC2AC0600A0062D /* RNNetmera.h */,
74
83
  B3E7B5891CC2AC0600A0062D /* RNNetmera.m */,
75
84
  134814211AA4EA7D00B7C361 /* Products */,
85
+ 1DEEC2DD2546E33B00142C61 /* Frameworks */,
76
86
  );
77
87
  sourceTree = "<group>";
78
88
  };
@@ -102,7 +112,7 @@
102
112
  58B511D31A9E6C8500147676 /* Project object */ = {
103
113
  isa = PBXProject;
104
114
  attributes = {
105
- LastUpgradeCheck = 0830;
115
+ LastUpgradeCheck = 1140;
106
116
  ORGANIZATIONNAME = Facebook;
107
117
  TargetAttributes = {
108
118
  58B511DA1A9E6C8500147676 = {
@@ -148,18 +158,27 @@
148
158
  isa = XCBuildConfiguration;
149
159
  buildSettings = {
150
160
  ALWAYS_SEARCH_USER_PATHS = NO;
161
+ CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
151
162
  CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
152
163
  CLANG_CXX_LIBRARY = "libc++";
153
164
  CLANG_ENABLE_MODULES = YES;
154
165
  CLANG_ENABLE_OBJC_ARC = YES;
166
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
155
167
  CLANG_WARN_BOOL_CONVERSION = YES;
168
+ CLANG_WARN_COMMA = YES;
156
169
  CLANG_WARN_CONSTANT_CONVERSION = YES;
170
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
157
171
  CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
158
172
  CLANG_WARN_EMPTY_BODY = YES;
159
173
  CLANG_WARN_ENUM_CONVERSION = YES;
160
174
  CLANG_WARN_INFINITE_RECURSION = YES;
161
175
  CLANG_WARN_INT_CONVERSION = YES;
176
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
177
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
178
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
162
179
  CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
180
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
181
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
163
182
  CLANG_WARN_SUSPICIOUS_MOVE = YES;
164
183
  CLANG_WARN_UNREACHABLE_CODE = YES;
165
184
  CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
@@ -192,18 +211,27 @@
192
211
  isa = XCBuildConfiguration;
193
212
  buildSettings = {
194
213
  ALWAYS_SEARCH_USER_PATHS = NO;
214
+ CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
195
215
  CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
196
216
  CLANG_CXX_LIBRARY = "libc++";
197
217
  CLANG_ENABLE_MODULES = YES;
198
218
  CLANG_ENABLE_OBJC_ARC = YES;
219
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
199
220
  CLANG_WARN_BOOL_CONVERSION = YES;
221
+ CLANG_WARN_COMMA = YES;
200
222
  CLANG_WARN_CONSTANT_CONVERSION = YES;
223
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
201
224
  CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
202
225
  CLANG_WARN_EMPTY_BODY = YES;
203
226
  CLANG_WARN_ENUM_CONVERSION = YES;
204
227
  CLANG_WARN_INFINITE_RECURSION = YES;
205
228
  CLANG_WARN_INT_CONVERSION = YES;
229
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
230
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
231
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
206
232
  CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
233
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
234
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
207
235
  CLANG_WARN_SUSPICIOUS_MOVE = YES;
208
236
  CLANG_WARN_UNREACHABLE_CODE = YES;
209
237
  CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
@@ -229,11 +257,13 @@
229
257
  isa = XCBuildConfiguration;
230
258
  buildSettings = {
231
259
  HEADER_SEARCH_PATHS = (
232
- "$(inherited)",
260
+ "$(inherited)/**",
233
261
  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
234
262
  "$(SRCROOT)/../../../React/**",
235
263
  "$(SRCROOT)/../../react-native/React/**",
236
264
  );
265
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
266
+ LD_RUNPATH_SEARCH_PATHS = "$executable_path/Frameworks $(inherited)";
237
267
  LIBRARY_SEARCH_PATHS = "$(inherited)";
238
268
  OTHER_LDFLAGS = "-ObjC";
239
269
  PRODUCT_NAME = RNNetmera;
@@ -245,11 +275,13 @@
245
275
  isa = XCBuildConfiguration;
246
276
  buildSettings = {
247
277
  HEADER_SEARCH_PATHS = (
248
- "$(inherited)",
278
+ "$(inherited)/**",
249
279
  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
250
280
  "$(SRCROOT)/../../../React/**",
251
281
  "$(SRCROOT)/../../react-native/React/**",
252
282
  );
283
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
284
+ LD_RUNPATH_SEARCH_PATHS = "$executable_path/Frameworks $(inherited)";
253
285
  LIBRARY_SEARCH_PATHS = "$(inherited)";
254
286
  OTHER_LDFLAGS = "-ObjC";
255
287
  PRODUCT_NAME = RNNetmera;
@@ -0,0 +1,67 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <Scheme
3
+ LastUpgradeVersion = "1140"
4
+ version = "1.3">
5
+ <BuildAction
6
+ parallelizeBuildables = "YES"
7
+ buildImplicitDependencies = "YES">
8
+ <BuildActionEntries>
9
+ <BuildActionEntry
10
+ buildForTesting = "YES"
11
+ buildForRunning = "YES"
12
+ buildForProfiling = "YES"
13
+ buildForArchiving = "YES"
14
+ buildForAnalyzing = "YES">
15
+ <BuildableReference
16
+ BuildableIdentifier = "primary"
17
+ BlueprintIdentifier = "58B511DA1A9E6C8500147676"
18
+ BuildableName = "libRNNetmera.a"
19
+ BlueprintName = "RNNetmera"
20
+ ReferencedContainer = "container:RNNetmera.xcodeproj">
21
+ </BuildableReference>
22
+ </BuildActionEntry>
23
+ </BuildActionEntries>
24
+ </BuildAction>
25
+ <TestAction
26
+ buildConfiguration = "Debug"
27
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
28
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
29
+ shouldUseLaunchSchemeArgsEnv = "YES">
30
+ <Testables>
31
+ </Testables>
32
+ </TestAction>
33
+ <LaunchAction
34
+ buildConfiguration = "Debug"
35
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
36
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
37
+ launchStyle = "0"
38
+ useCustomWorkingDirectory = "NO"
39
+ ignoresPersistentStateOnLaunch = "NO"
40
+ debugDocumentVersioning = "YES"
41
+ debugServiceExtension = "internal"
42
+ allowLocationSimulation = "YES">
43
+ </LaunchAction>
44
+ <ProfileAction
45
+ buildConfiguration = "Release"
46
+ shouldUseLaunchSchemeArgsEnv = "YES"
47
+ savedToolIdentifier = ""
48
+ useCustomWorkingDirectory = "NO"
49
+ debugDocumentVersioning = "YES">
50
+ <MacroExpansion>
51
+ <BuildableReference
52
+ BuildableIdentifier = "primary"
53
+ BlueprintIdentifier = "58B511DA1A9E6C8500147676"
54
+ BuildableName = "libRNNetmera.a"
55
+ BlueprintName = "RNNetmera"
56
+ ReferencedContainer = "container:RNNetmera.xcodeproj">
57
+ </BuildableReference>
58
+ </MacroExpansion>
59
+ </ProfileAction>
60
+ <AnalyzeAction
61
+ buildConfiguration = "Debug">
62
+ </AnalyzeAction>
63
+ <ArchiveAction
64
+ buildConfiguration = "Release"
65
+ revealArchiveInOrganizer = "YES">
66
+ </ArchiveAction>
67
+ </Scheme>
@@ -7,7 +7,7 @@
7
7
  <key>RNNetmera.xcscheme_^#shared#^_</key>
8
8
  <dict>
9
9
  <key>orderHint</key>
10
- <integer>29</integer>
10
+ <integer>1</integer>
11
11
  </dict>
12
12
  </dict>
13
13
  </dict>
@@ -0,0 +1,16 @@
1
+ //
2
+ // RNNetmeraCategoryObject.h
3
+ // Netmera SDK
4
+ //
5
+ // Created by Ensar Bayhan on 06.01.2022.
6
+ // Copyright © 2022 Netmera. All rights reserved.
7
+ //
8
+
9
+ #import <Netmera/Netmera.h>
10
+
11
+ @interface RNNetmeraCategoryObject : NSObject
12
+
13
+ +(NSArray<NSDictionary*>*) mapCategoryObjects: (NSMutableArray<NetmeraInboxCategoryObject *>*) categoryObjects;
14
+ +(NetmeraInboxCategoryFilter*) getCategoryObject: (NSDictionary*) inboxDictionary;
15
+
16
+ @end