@forstaglobal/react-native-mobilesdk 3.9.2-beta.0

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 (53) hide show
  1. package/LICENSE +13 -0
  2. package/README.md +158 -0
  3. package/android/build.gradle +110 -0
  4. package/android/gradle.properties +5 -0
  5. package/android/src/main/AndroidManifest.xml +3 -0
  6. package/android/src/main/AndroidManifestNew.xml +2 -0
  7. package/android/src/main/java/com/mobilesdk/MobileSdkModule.kt +283 -0
  8. package/android/src/main/java/com/mobilesdk/MobileSdkPackage.kt +17 -0
  9. package/android/src/main/java/com/mobilesdk/module/MobileBridge.kt +15 -0
  10. package/android/src/main/java/com/mobilesdk/module/TriggerCallback.kt +60 -0
  11. package/ios/MobileSdk-Bridging-Header.h +2 -0
  12. package/ios/MobileSdk.mm +118 -0
  13. package/ios/MobileSdk.swift +257 -0
  14. package/ios/Mobilesdk.xcodeproj/project.pbxproj +351 -0
  15. package/ios/Mobilesdk.xcodeproj/project.xcworkspace/contents.xcworkspacedata +4 -0
  16. package/ios/Mobilesdk.xcworkspace/contents.xcworkspacedata +10 -0
  17. package/ios/Mobilesdk.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  18. package/ios/Module/Exts.swift +16 -0
  19. package/ios/Module/MobileTriggerCallback.swift +49 -0
  20. package/ios/Module/SdkEmitter.mm +5 -0
  21. package/ios/Module/SdkEmitter.swift +26 -0
  22. package/ios/Podfile +7 -0
  23. package/ios/Podfile.lock +16 -0
  24. package/lib/commonjs/index.js +161 -0
  25. package/lib/commonjs/index.js.map +1 -0
  26. package/lib/commonjs/models/models.js +2 -0
  27. package/lib/commonjs/models/models.js.map +1 -0
  28. package/lib/commonjs/program/triggerCallback.js +38 -0
  29. package/lib/commonjs/program/triggerCallback.js.map +1 -0
  30. package/lib/commonjs/views/surveyWebView.js +60 -0
  31. package/lib/commonjs/views/surveyWebView.js.map +1 -0
  32. package/lib/module/index.js +116 -0
  33. package/lib/module/index.js.map +1 -0
  34. package/lib/module/models/models.js +2 -0
  35. package/lib/module/models/models.js.map +1 -0
  36. package/lib/module/program/triggerCallback.js +31 -0
  37. package/lib/module/program/triggerCallback.js.map +1 -0
  38. package/lib/module/views/surveyWebView.js +50 -0
  39. package/lib/module/views/surveyWebView.js.map +1 -0
  40. package/lib/typescript/index.d.ts +39 -0
  41. package/lib/typescript/index.d.ts.map +1 -0
  42. package/lib/typescript/models/models.d.ts +15 -0
  43. package/lib/typescript/models/models.d.ts.map +1 -0
  44. package/lib/typescript/program/triggerCallback.d.ts +20 -0
  45. package/lib/typescript/program/triggerCallback.d.ts.map +1 -0
  46. package/lib/typescript/views/surveyWebView.d.ts +17 -0
  47. package/lib/typescript/views/surveyWebView.d.ts.map +1 -0
  48. package/package.json +137 -0
  49. package/react-native-mobilesdk.podspec +43 -0
  50. package/src/index.tsx +202 -0
  51. package/src/models/models.ts +16 -0
  52. package/src/program/triggerCallback.ts +51 -0
  53. package/src/views/surveyWebView.tsx +69 -0
@@ -0,0 +1,118 @@
1
+ #import <React/RCTBridgeModule.h>
2
+
3
+ @interface RCT_EXTERN_MODULE(MobileSdk, NSObject)
4
+
5
+ RCT_EXTERN_METHOD(injectWebView)
6
+
7
+ // Confirmit
8
+ RCT_EXTERN_METHOD(initSdk)
9
+
10
+ RCT_EXTERN_METHOD(enableLog:(BOOL)eanble)
11
+
12
+ // program
13
+ RCT_EXTERN_METHOD(triggerDownload:(NSString)serverId
14
+ withProgramKey:(NSString)programKey
15
+ withResolver:(RCTPromiseResolveBlock)resolve
16
+ withRejecter:(RCTPromiseRejectBlock)reject)
17
+
18
+ RCT_EXTERN_METHOD(deleteProgram:(NSString)serverId
19
+ withProgramKey:(NSString)programKey
20
+ withDeleteCustomData:(BOOL)deleteCustomData
21
+ withResolver:(RCTPromiseResolveBlock)resolve
22
+ withRejecter:(RCTPromiseRejectBlock)reject)
23
+
24
+ RCT_EXTERN_METHOD(deleteAll:(BOOL)deleteCustomData
25
+ withResolver:(RCTPromiseResolveBlock)resolve
26
+ withRejecter:(RCTPromiseRejectBlock)reject)
27
+
28
+ RCT_EXTERN_METHOD(setCallback:(NSString)serverId
29
+ withProgramKey:(NSString)programKey)
30
+
31
+ RCT_EXTERN_METHOD(removeCallback:(NSString)serverId
32
+ withProgramKey:(NSString)programKey)
33
+
34
+ RCT_EXTERN_METHOD(notifyEvent:(NSString)event)
35
+
36
+ RCT_EXTERN_METHOD(notifyAppForeground:(NSDictionary)data)
37
+
38
+ RCT_EXTERN_METHOD(notifyEventWithData:(NSString)event
39
+ withData:(NSDictionary)data)
40
+
41
+ // servers
42
+ RCT_EXTERN_METHOD(getUs:(RCTPromiseResolveBlock)resolve
43
+ withRejecter:(RCTPromiseRejectBlock)reject)
44
+
45
+ RCT_EXTERN_METHOD(getUk:(RCTPromiseResolveBlock)resolve
46
+ withRejecter:(RCTPromiseRejectBlock)reject)
47
+
48
+ RCT_EXTERN_METHOD(getAustralia:(RCTPromiseResolveBlock)resolve
49
+ withRejecter:(RCTPromiseRejectBlock)reject)
50
+
51
+ RCT_EXTERN_METHOD(getCanada:(RCTPromiseResolveBlock)resolve
52
+ withRejecter:(RCTPromiseRejectBlock)reject)
53
+
54
+ RCT_EXTERN_METHOD(getGermany:(RCTPromiseResolveBlock)resolve
55
+ withRejecter:(RCTPromiseRejectBlock)reject)
56
+
57
+ RCT_EXTERN_METHOD(getHxPlatform:(RCTPromiseResolveBlock)resolve
58
+ withRejecter:(RCTPromiseRejectBlock)reject)
59
+
60
+ RCT_EXTERN_METHOD(getHxAustralia:(RCTPromiseResolveBlock)resolve
61
+ withRejecter:(RCTPromiseRejectBlock)reject)
62
+
63
+ RCT_EXTERN_METHOD(configureUs:(NSString)clientId
64
+ withClientSecret:(NSString)clientSecret
65
+ withResolver:(RCTPromiseResolveBlock)resolve
66
+ withRejecter:(RCTPromiseRejectBlock)reject)
67
+
68
+ RCT_EXTERN_METHOD(configureUk:(NSString)clientId
69
+ withClientSecret:(NSString)clientSecret
70
+ withResolver:(RCTPromiseResolveBlock)resolve
71
+ withRejecter:(RCTPromiseRejectBlock)reject)
72
+
73
+ RCT_EXTERN_METHOD(configureAustralia:(NSString)clientId
74
+ withClientSecret:(NSString)clientSecret
75
+ withResolver:(RCTPromiseResolveBlock)resolve
76
+ withRejecter:(RCTPromiseRejectBlock)reject)
77
+
78
+ RCT_EXTERN_METHOD(configureCanada:(NSString)clientId
79
+ withClientSecret:(NSString)clientSecret
80
+ withResolver:(RCTPromiseResolveBlock)resolve
81
+ withRejecter:(RCTPromiseRejectBlock)reject)
82
+
83
+ RCT_EXTERN_METHOD(configureGermany:(NSString)clientId
84
+ withClientSecret:(NSString)clientSecret
85
+ withResolver:(RCTPromiseResolveBlock)resolve
86
+ withRejecter:(RCTPromiseRejectBlock)reject)
87
+
88
+ RCT_EXTERN_METHOD(configureHxPlatform:(NSString)clientId
89
+ withClientSecret:(NSString)clientSecret
90
+ withResolver:(RCTPromiseResolveBlock)resolve
91
+ withRejecter:(RCTPromiseRejectBlock)reject)
92
+
93
+ RCT_EXTERN_METHOD(configureHxAustralia:(NSString)clientId
94
+ withClientSecret:(NSString)clientSecret
95
+ withResolver:(RCTPromiseResolveBlock)resolve
96
+ withRejecter:(RCTPromiseRejectBlock)reject)
97
+
98
+ RCT_EXTERN_METHOD(configureServer:(NSString)name
99
+ withHost:(NSString)host
100
+ withClientId:(NSString)clientId
101
+ withClientSecret:(NSString)clientSecret
102
+ withResolver:(RCTPromiseResolveBlock)resolve
103
+ withRejecter:(RCTPromiseRejectBlock)reject)
104
+
105
+ RCT_EXTERN_METHOD(getServer:(NSString)serverId
106
+ withResolver:(RCTPromiseResolveBlock)resolve
107
+ withRejecter:(RCTPromiseRejectBlock)reject)
108
+
109
+ RCT_EXTERN_METHOD(getServers:(RCTPromiseResolveBlock)resolve
110
+ withRejecter:(RCTPromiseRejectBlock)reject)
111
+
112
+
113
+ + (BOOL)requiresMainQueueSetup
114
+ {
115
+ return NO;
116
+ }
117
+
118
+ @end
@@ -0,0 +1,257 @@
1
+ import ConfirmitMobileSDK
2
+ import Foundation
3
+
4
+ @objc(MobileSdk)
5
+ class MobileSdk: NSObject {
6
+ @objc(injectWebView)
7
+ func injectWebView() {
8
+ // placeholder so it is identical to Android
9
+ }
10
+
11
+ // Confirmit
12
+ @objc(initSdk)
13
+ func initSdk() {
14
+ ConfirmitSDK.Setup().configure()
15
+ }
16
+
17
+ @objc(enableLog:)
18
+ func enableLog(enable: Bool) {
19
+ ConfirmitSDK.enableLog(enable: true)
20
+ }
21
+
22
+ // Trigger
23
+ @objc(triggerDownload:withProgramKey:withResolver:withRejecter:)
24
+ func triggerDownload(serverId: String, programKey: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
25
+ TriggerSDK.download(serverId: serverId, programKey: programKey) { result, error in
26
+ if result {
27
+ resolve(result)
28
+ } else {
29
+ reject("trigger", "failed to download program", error)
30
+ }
31
+ }
32
+ }
33
+
34
+ @objc(deleteProgram:withProgramKey:withDeleteCustomData:withResolver:withRejecter:)
35
+ func deleteProgram(serverId: String, programKey: String, deleteCustomData: Bool, resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) {
36
+ do {
37
+ try TriggerSDK.deleteProgram(serverId: serverId, programKey: programKey, deleteCustomData: deleteCustomData)
38
+ } catch {
39
+ reject("trigger", "failed to delete program \(programKey)", error)
40
+ }
41
+ }
42
+
43
+ @objc(deleteAll:withResolver:withRejecter:)
44
+ func deleteAll(deleteCustomData: Bool, resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) {
45
+ do {
46
+ try TriggerSDK.deleteAll(deleteCustomData: deleteCustomData)
47
+ } catch {
48
+ reject("trigger", "failed to delete all programs", error)
49
+ }
50
+ }
51
+
52
+ @objc(setCallback:withProgramKey:)
53
+ func setCallback(serverId: String, programKey: String) {
54
+ TriggerSDK.setCallback(serverId: serverId, programKey: programKey, callback: MobileTriggerCallback(serverId: serverId, programKey: programKey))
55
+ }
56
+
57
+ @objc(removeCallback:withProgramKey:)
58
+ func removeCallback(serverId: String, programKey: String) {
59
+ TriggerSDK.removeCallback(serverId: serverId, programKey: programKey)
60
+ }
61
+
62
+ @objc(notifyEventWithData:withData:)
63
+ func notifyEventWithData(event: String, data: NSDictionary) {
64
+ DispatchQueue.main.async {
65
+ TriggerSDK.notifyEvent(event: event, data: data.swiftDictionary)
66
+ }
67
+ }
68
+
69
+ @objc(notifyEvent:)
70
+ func notifyEvent(event: String) {
71
+ DispatchQueue.main.async {
72
+ TriggerSDK.notifyEvent(event: event)
73
+ }
74
+ }
75
+
76
+ @objc(notifyAppForeground:)
77
+ func notifyAppForeground(data: NSDictionary) {
78
+ TriggerSDK.notifyAppForeground(data: data.swiftDictionary)
79
+ }
80
+
81
+ // Servers
82
+ @objc(getUs:withRejecter:)
83
+ func getUs(resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) {
84
+ guard let server = ConfirmitServer.us else {
85
+ reject("server", "US is not configured", nil)
86
+ return
87
+ }
88
+ resolve(transformServer(server: server))
89
+ }
90
+
91
+ @objc(getUk:withRejecter:)
92
+ func getUk(resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) {
93
+ guard let server = ConfirmitServer.uk else {
94
+ reject("server", "UK is not configured", nil)
95
+ return
96
+ }
97
+ resolve(transformServer(server: server))
98
+ }
99
+
100
+ @objc(getAustralia:withRejecter:)
101
+ func getAustralia(resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) {
102
+ guard let server = ConfirmitServer.australia else {
103
+ reject("server", "Australia is not configured", nil)
104
+ return
105
+ }
106
+ resolve(transformServer(server: server))
107
+ }
108
+
109
+ @objc(getCanada:withRejecter:)
110
+ func getCanada(resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) {
111
+ guard let server = ConfirmitServer.canada else {
112
+ reject("server", "Canada is not configured", nil)
113
+ return
114
+ }
115
+ resolve(transformServer(server: server))
116
+ }
117
+
118
+ @objc(getGermany:withRejecter:)
119
+ func getGermany(resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) {
120
+ guard let server = ConfirmitServer.germany else {
121
+ reject("server", "Germany is not configured", nil)
122
+ return
123
+ }
124
+ resolve(transformServer(server: server))
125
+ }
126
+
127
+ @objc(getHxPlatform:withRejecter:)
128
+ func getHxPlatform(resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) {
129
+ guard let server = ConfirmitServer.hxPlatform else {
130
+ reject("server", "HX Platform is not configured", nil)
131
+ return
132
+ }
133
+ resolve(transformServer(server: server))
134
+ }
135
+
136
+ @objc(getHxAustralia:withRejecter:)
137
+ func getHxAustralia(resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) {
138
+ guard let server = ConfirmitServer.hxAustralia else {
139
+ reject("server", "HX Australia is not configured", nil)
140
+ return
141
+ }
142
+ resolve(transformServer(server: server))
143
+ }
144
+
145
+ @objc(configureUs:withClientSecret:withResolver:withRejecter:)
146
+ func configureUs(clientId: String, clientSecret: String, resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) {
147
+ do {
148
+ try ConfirmitServer.configureUS(clientId: clientId, clientSecret: clientSecret)
149
+ resolve(nil)
150
+ } catch {
151
+ reject("server", "Failed to configure US", error)
152
+ }
153
+ }
154
+
155
+ @objc(configureUk:withClientSecret:withResolver:withRejecter:)
156
+ func configureUk(clientId: String, clientSecret: String, resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) {
157
+ do {
158
+ try ConfirmitServer.configureUK(clientId: clientId, clientSecret: clientSecret)
159
+ resolve(nil)
160
+ } catch {
161
+ reject("server", "Failed to configure UK", error)
162
+ }
163
+ }
164
+
165
+ @objc(configureAustralia:withClientSecret:withResolver:withRejecter:)
166
+ func configureAustralia(clientId: String, clientSecret: String, resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) {
167
+ do {
168
+ try ConfirmitServer.configureAustralia(clientId: clientId, clientSecret: clientSecret)
169
+ resolve(nil)
170
+ } catch {
171
+ reject("server", "Failed to configure Australia", error)
172
+ }
173
+ }
174
+
175
+ @objc(configureCanada:withClientSecret:withResolver:withRejecter:)
176
+ func configureCanada(clientId: String, clientSecret: String, resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) {
177
+ do {
178
+ try ConfirmitServer.configureCanada(clientId: clientId, clientSecret: clientSecret)
179
+ resolve(nil)
180
+ } catch {
181
+ reject("server", "Failed to configure Canada", error)
182
+ }
183
+ }
184
+
185
+ @objc(configureGermany:withClientSecret:withResolver:withRejecter:)
186
+ func configureGermany(clientId: String, clientSecret: String, resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) {
187
+ do {
188
+ try ConfirmitServer.configureGermany(clientId: clientId, clientSecret: clientSecret)
189
+ resolve(nil)
190
+ } catch {
191
+ reject("server", "Failed to configure Germany", error)
192
+ }
193
+ }
194
+
195
+ @objc(configureHxPlatform:withClientSecret:withResolver:withRejecter:)
196
+ func configureHxPlatform(clientId: String, clientSecret: String, resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) {
197
+ do {
198
+ try ConfirmitServer.configureHxPlatform(clientId: clientId, clientSecret: clientSecret)
199
+ resolve(nil)
200
+ } catch {
201
+ reject("server", "Failed to configure Hx Platform", error)
202
+ }
203
+ }
204
+
205
+ @objc(configureHxAustralia:withClientSecret:withResolver:withRejecter:)
206
+ func configureHxAustralia(clientId: String, clientSecret: String, resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) {
207
+ do {
208
+ try ConfirmitServer.configureHxAustralia(clientId: clientId, clientSecret: clientSecret)
209
+ resolve(nil)
210
+ } catch {
211
+ reject("server", "Failed to configure Hx Australia", error)
212
+ }
213
+ }
214
+
215
+ @objc(configureServer:withHost:withClientId:withClientSecret:withResolver:withRejecter:)
216
+ func configureServer(name: String, host: String, clientId: String, clientSecret: String, resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) {
217
+ do {
218
+ let server = try ConfirmitServer.configure(name: name, host: host, clientId: clientId, clientSecret: clientSecret)
219
+ resolve(transformServer(server: server))
220
+ } catch {
221
+ reject("server", "failed to configure srvers", error)
222
+ }
223
+ }
224
+
225
+ @objc(getServer:withResolver:withRejecter:)
226
+ func getServer(serverId: String, resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) {
227
+ do {
228
+ if let server = try ConfirmitServer.getServer(serverId: serverId) {
229
+ resolve(transformServer(server: server))
230
+ }
231
+ } catch {
232
+ reject("server", "failed to get servers", error)
233
+ }
234
+ }
235
+
236
+ @objc(getServers:withRejecter:)
237
+ func getServers(resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) {
238
+ do {
239
+ let servers = try ConfirmitServer.getServers()
240
+ var result: [[String: String]] = []
241
+ for server in servers {
242
+ result.append(transformServer(server: server))
243
+ }
244
+ resolve(result)
245
+ } catch {
246
+ reject("server", "failed to get servers", error)
247
+ }
248
+ }
249
+
250
+ private func transformServer(server: Server) -> [String: String] {
251
+ return [
252
+ "host": server.host,
253
+ "name": server.name,
254
+ "serverId": server.serverId
255
+ ]
256
+ }
257
+ }