@datalyr/react-native 1.4.6 → 1.4.7

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.
@@ -11,49 +11,36 @@ public class DatalyrNativeModule: Module {
11
11
 
12
12
  AsyncFunction("initializeMetaSDK") { (appId: String, clientToken: String?, advertiserTrackingEnabled: Bool, promise: Promise) in
13
13
  DispatchQueue.main.async {
14
- let error = ObjCExceptionHelper.execute {
15
- Settings.shared.appID = appId
14
+ Settings.shared.appID = appId
16
15
 
17
- if let token = clientToken, !token.isEmpty {
18
- Settings.shared.clientToken = token
19
- }
20
-
21
- Settings.shared.isAdvertiserTrackingEnabled = advertiserTrackingEnabled
22
- Settings.shared.isAdvertiserIDCollectionEnabled = advertiserTrackingEnabled
23
-
24
- ApplicationDelegate.shared.application(
25
- UIApplication.shared,
26
- didFinishLaunchingWithOptions: nil
27
- )
16
+ if let token = clientToken, !token.isEmpty {
17
+ Settings.shared.clientToken = token
28
18
  }
29
19
 
30
- if let error = error {
31
- promise.reject("meta_init_exception", error.localizedDescription)
32
- return
33
- }
20
+ Settings.shared.isAdvertiserTrackingEnabled = advertiserTrackingEnabled
21
+ Settings.shared.isAdvertiserIDCollectionEnabled = advertiserTrackingEnabled
22
+
23
+ ApplicationDelegate.shared.application(
24
+ UIApplication.shared,
25
+ didFinishLaunchingWithOptions: nil
26
+ )
34
27
 
35
28
  promise.resolve(true)
36
29
  }
37
30
  }
38
31
 
39
32
  AsyncFunction("fetchDeferredAppLink") { (promise: Promise) in
40
- let error = ObjCExceptionHelper.execute {
41
- AppLinkUtility.fetchDeferredAppLink { url, error in
42
- if error != nil {
43
- promise.resolve(nil)
44
- return
45
- }
46
-
47
- if let url = url {
48
- promise.resolve(url.absoluteString)
49
- } else {
50
- promise.resolve(nil)
51
- }
33
+ AppLinkUtility.fetchDeferredAppLink { url, error in
34
+ if error != nil {
35
+ promise.resolve(nil)
36
+ return
52
37
  }
53
- }
54
38
 
55
- if error != nil {
56
- promise.resolve(nil)
39
+ if let url = url {
40
+ promise.resolve(url.absoluteString)
41
+ } else {
42
+ promise.resolve(nil)
43
+ }
57
44
  }
58
45
  }
59
46
 
@@ -66,19 +53,12 @@ public class DatalyrNativeModule: Module {
66
53
  }
67
54
  }
68
55
 
69
- let error = ObjCExceptionHelper.execute {
70
- if let value = valueToSum {
71
- AppEvents.shared.logEvent(AppEvents.Name(eventName), valueToSum: value, parameters: params)
72
- } else if params.isEmpty {
73
- AppEvents.shared.logEvent(AppEvents.Name(eventName))
74
- } else {
75
- AppEvents.shared.logEvent(AppEvents.Name(eventName), parameters: params)
76
- }
77
- }
78
-
79
- if let error = error {
80
- promise.reject("meta_exception", error.localizedDescription)
81
- return
56
+ if let value = valueToSum {
57
+ AppEvents.shared.logEvent(AppEvents.Name(eventName), valueToSum: value, parameters: params)
58
+ } else if params.isEmpty {
59
+ AppEvents.shared.logEvent(AppEvents.Name(eventName))
60
+ } else {
61
+ AppEvents.shared.logEvent(AppEvents.Name(eventName), parameters: params)
82
62
  }
83
63
 
84
64
  promise.resolve(true)
@@ -93,64 +73,33 @@ public class DatalyrNativeModule: Module {
93
73
  }
94
74
  }
95
75
 
96
- let error = ObjCExceptionHelper.execute {
97
- AppEvents.shared.logPurchase(amount: amount, currency: currency, parameters: params)
98
- }
99
-
100
- if let error = error {
101
- promise.reject("meta_exception", error.localizedDescription)
102
- return
103
- }
104
-
76
+ AppEvents.shared.logPurchase(amount: amount, currency: currency, parameters: params)
105
77
  promise.resolve(true)
106
78
  }
107
79
 
108
80
  AsyncFunction("setMetaUserData") { (userData: [String: Any], promise: Promise) in
109
- let error = ObjCExceptionHelper.execute {
110
- AppEvents.shared.setUserData(userData["email"] as? String, forType: .email)
111
- AppEvents.shared.setUserData(userData["firstName"] as? String, forType: .firstName)
112
- AppEvents.shared.setUserData(userData["lastName"] as? String, forType: .lastName)
113
- AppEvents.shared.setUserData(userData["phone"] as? String, forType: .phone)
114
- AppEvents.shared.setUserData(userData["dateOfBirth"] as? String, forType: .dateOfBirth)
115
- AppEvents.shared.setUserData(userData["gender"] as? String, forType: .gender)
116
- AppEvents.shared.setUserData(userData["city"] as? String, forType: .city)
117
- AppEvents.shared.setUserData(userData["state"] as? String, forType: .state)
118
- AppEvents.shared.setUserData(userData["zip"] as? String, forType: .zip)
119
- AppEvents.shared.setUserData(userData["country"] as? String, forType: .country)
120
- }
121
-
122
- if let error = error {
123
- promise.reject("meta_exception", error.localizedDescription)
124
- return
125
- }
81
+ AppEvents.shared.setUserData(userData["email"] as? String, forType: .email)
82
+ AppEvents.shared.setUserData(userData["firstName"] as? String, forType: .firstName)
83
+ AppEvents.shared.setUserData(userData["lastName"] as? String, forType: .lastName)
84
+ AppEvents.shared.setUserData(userData["phone"] as? String, forType: .phone)
85
+ AppEvents.shared.setUserData(userData["dateOfBirth"] as? String, forType: .dateOfBirth)
86
+ AppEvents.shared.setUserData(userData["gender"] as? String, forType: .gender)
87
+ AppEvents.shared.setUserData(userData["city"] as? String, forType: .city)
88
+ AppEvents.shared.setUserData(userData["state"] as? String, forType: .state)
89
+ AppEvents.shared.setUserData(userData["zip"] as? String, forType: .zip)
90
+ AppEvents.shared.setUserData(userData["country"] as? String, forType: .country)
126
91
 
127
92
  promise.resolve(true)
128
93
  }
129
94
 
130
95
  AsyncFunction("clearMetaUserData") { (promise: Promise) in
131
- let error = ObjCExceptionHelper.execute {
132
- AppEvents.shared.clearUserData()
133
- }
134
-
135
- if let error = error {
136
- promise.reject("meta_exception", error.localizedDescription)
137
- return
138
- }
139
-
96
+ AppEvents.shared.clearUserData()
140
97
  promise.resolve(true)
141
98
  }
142
99
 
143
100
  AsyncFunction("updateMetaTrackingAuthorization") { (enabled: Bool, promise: Promise) in
144
- let error = ObjCExceptionHelper.execute {
145
- Settings.shared.isAdvertiserTrackingEnabled = enabled
146
- Settings.shared.isAdvertiserIDCollectionEnabled = enabled
147
- }
148
-
149
- if let error = error {
150
- promise.reject("meta_exception", error.localizedDescription)
151
- return
152
- }
153
-
101
+ Settings.shared.isAdvertiserTrackingEnabled = enabled
102
+ Settings.shared.isAdvertiserIDCollectionEnabled = enabled
154
103
  promise.resolve(true)
155
104
  }
156
105
 
@@ -169,79 +118,46 @@ public class DatalyrNativeModule: Module {
169
118
  config?.setLogLevel(TikTokLogLevelDebug)
170
119
  }
171
120
 
172
- guard let validConfig = config else {
173
- promise.reject("tiktok_init_error", "Failed to create TikTok config")
174
- return
175
- }
176
-
177
- let error = ObjCExceptionHelper.execute {
121
+ if let validConfig = config {
178
122
  TikTokBusiness.initializeSdk(validConfig)
123
+ promise.resolve(true)
124
+ } else {
125
+ promise.reject("tiktok_init_error", "Failed to create TikTok config")
179
126
  }
180
-
181
- if let error = error {
182
- promise.reject("tiktok_init_exception", error.localizedDescription)
183
- return
184
- }
185
-
186
- promise.resolve(true)
187
127
  }
188
128
  }
189
129
 
190
130
  AsyncFunction("trackTikTokEvent") { (eventName: String, eventId: String?, properties: [String: Any]?, promise: Promise) in
191
- let error = ObjCExceptionHelper.execute {
192
- let event: TikTokBaseEvent
131
+ let event: TikTokBaseEvent
193
132
 
194
- if let eid = eventId, !eid.isEmpty {
195
- event = TikTokBaseEvent(eventName: eventName, eventId: eid)
196
- } else {
197
- event = TikTokBaseEvent(eventName: eventName)
198
- }
199
-
200
- if let dict = properties {
201
- for (key, value) in dict {
202
- event.addProperty(withKey: key, value: value)
203
- }
204
- }
205
-
206
- TikTokBusiness.trackTTEvent(event)
133
+ if let eid = eventId, !eid.isEmpty {
134
+ event = TikTokBaseEvent(eventName: eventName, eventId: eid)
135
+ } else {
136
+ event = TikTokBaseEvent(eventName: eventName)
207
137
  }
208
138
 
209
- if let error = error {
210
- promise.reject("tiktok_exception", error.localizedDescription)
211
- return
139
+ if let dict = properties {
140
+ for (key, value) in dict {
141
+ event.addProperty(withKey: key, value: value)
142
+ }
212
143
  }
213
144
 
145
+ TikTokBusiness.trackTTEvent(event)
214
146
  promise.resolve(true)
215
147
  }
216
148
 
217
149
  AsyncFunction("identifyTikTokUser") { (externalId: String, externalUserName: String, phoneNumber: String, email: String, promise: Promise) in
218
- let error = ObjCExceptionHelper.execute {
219
- TikTokBusiness.identify(
220
- withExternalID: externalId.isEmpty ? nil : externalId,
221
- externalUserName: externalUserName.isEmpty ? nil : externalUserName,
222
- phoneNumber: phoneNumber.isEmpty ? nil : phoneNumber,
223
- email: email.isEmpty ? nil : email
224
- )
225
- }
226
-
227
- if let error = error {
228
- promise.reject("tiktok_exception", error.localizedDescription)
229
- return
230
- }
231
-
150
+ TikTokBusiness.identify(
151
+ withExternalID: externalId.isEmpty ? nil : externalId,
152
+ externalUserName: externalUserName.isEmpty ? nil : externalUserName,
153
+ phoneNumber: phoneNumber.isEmpty ? nil : phoneNumber,
154
+ email: email.isEmpty ? nil : email
155
+ )
232
156
  promise.resolve(true)
233
157
  }
234
158
 
235
159
  AsyncFunction("logoutTikTok") { (promise: Promise) in
236
- let error = ObjCExceptionHelper.execute {
237
- TikTokBusiness.logout()
238
- }
239
-
240
- if let error = error {
241
- promise.reject("tiktok_exception", error.localizedDescription)
242
- return
243
- }
244
-
160
+ TikTokBusiness.logout()
245
161
  promise.resolve(true)
246
162
  }
247
163
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@datalyr/react-native",
3
- "version": "1.4.6",
3
+ "version": "1.4.7",
4
4
  "description": "Datalyr SDK for React Native & Expo - Server-side attribution tracking with bundled Meta and TikTok SDKs for iOS and Android",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -1,11 +0,0 @@
1
- #import <Foundation/Foundation.h>
2
-
3
- NS_ASSUME_NONNULL_BEGIN
4
-
5
- @interface ObjCExceptionHelper : NSObject
6
-
7
- + (nullable NSError *)execute:(void (NS_NOESCAPE ^)(void))block;
8
-
9
- @end
10
-
11
- NS_ASSUME_NONNULL_END
@@ -1,22 +0,0 @@
1
- #import "ObjCExceptionHelper.h"
2
-
3
- @implementation ObjCExceptionHelper
4
-
5
- + (nullable NSError *)execute:(void (NS_NOESCAPE ^)(void))block {
6
- @try {
7
- block();
8
- return nil;
9
- } @catch (NSException *exception) {
10
- NSMutableDictionary *userInfo = [NSMutableDictionary dictionary];
11
- userInfo[NSLocalizedDescriptionKey] = exception.reason ?: @"Unknown NSException";
12
- userInfo[@"ExceptionName"] = exception.name;
13
- if (exception.userInfo) {
14
- userInfo[@"ExceptionUserInfo"] = exception.userInfo;
15
- }
16
- return [NSError errorWithDomain:@"com.datalyr.exception"
17
- code:-1
18
- userInfo:userInfo];
19
- }
20
- }
21
-
22
- @end