react-native-marketap-sdk 0.1.0-beta.12 → 0.1.0-beta.13

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 (41) hide show
  1. package/android/build.gradle +1 -1
  2. package/android/src/main/AndroidManifest.xml +1 -10
  3. package/android/src/main/java/com/marketapsdk/MarketapSdkModule.kt +152 -74
  4. package/ios/MarketapSdk.m +16 -38
  5. package/ios/MarketapSdk.swift +64 -37
  6. package/lib/commonjs/MarketapWebBridge.js +17 -15
  7. package/lib/commonjs/MarketapWebBridge.js.map +1 -1
  8. package/lib/commonjs/core/MarketapCore.js +233 -0
  9. package/lib/commonjs/core/MarketapCore.js.map +1 -0
  10. package/lib/commonjs/index.js +19 -187
  11. package/lib/commonjs/index.js.map +1 -1
  12. package/lib/commonjs/internal/marketapCore.js +9 -0
  13. package/lib/commonjs/internal/marketapCore.js.map +1 -0
  14. package/lib/commonjs/internal/marketapPlugin.js +40 -0
  15. package/lib/commonjs/internal/marketapPlugin.js.map +1 -0
  16. package/lib/commonjs/version.js +1 -1
  17. package/lib/module/MarketapWebBridge.js +16 -15
  18. package/lib/module/MarketapWebBridge.js.map +1 -1
  19. package/lib/module/core/MarketapCore.js +226 -0
  20. package/lib/module/core/MarketapCore.js.map +1 -0
  21. package/lib/module/index.js +19 -187
  22. package/lib/module/index.js.map +1 -1
  23. package/lib/module/internal/marketapCore.js +3 -0
  24. package/lib/module/internal/marketapCore.js.map +1 -0
  25. package/lib/module/internal/marketapPlugin.js +35 -0
  26. package/lib/module/internal/marketapPlugin.js.map +1 -0
  27. package/lib/module/version.js +1 -1
  28. package/lib/typescript/MarketapWebBridge.d.ts.map +1 -1
  29. package/lib/typescript/core/MarketapCore.d.ts +54 -0
  30. package/lib/typescript/core/MarketapCore.d.ts.map +1 -0
  31. package/lib/typescript/index.d.ts +2 -47
  32. package/lib/typescript/index.d.ts.map +1 -1
  33. package/lib/typescript/internal/marketapCore.d.ts +3 -0
  34. package/lib/typescript/internal/marketapCore.d.ts.map +1 -0
  35. package/lib/typescript/internal/marketapPlugin.d.ts +10 -0
  36. package/lib/typescript/internal/marketapPlugin.d.ts.map +1 -0
  37. package/lib/typescript/types.d.ts +1 -7
  38. package/lib/typescript/types.d.ts.map +1 -1
  39. package/lib/typescript/version.d.ts +1 -1
  40. package/package.json +1 -1
  41. package/react-native-marketap-sdk.podspec +1 -1
@@ -99,7 +99,7 @@ dependencies {
99
99
  implementation "com.facebook.react:react-native:+"
100
100
 
101
101
  // MarketapSDK dependency with forced version constraints
102
- implementation('com.github.marketap-dev:marketap-android-sdk:1.2.0') {
102
+ implementation('com.github.marketap-dev:marketap-android-sdk:1.3.2') {
103
103
  exclude group: 'androidx.appcompat', module: 'appcompat'
104
104
  exclude group: 'androidx.core', module: 'core-ktx'
105
105
  }
@@ -1,12 +1,3 @@
1
1
  <manifest xmlns:android="http://schemas.android.com/apk/res/android"
2
2
  package="com.marketapsdk">
3
- <application>
4
- <service
5
- android:name="com.marketap.sdk.client.push.MarketapFirebaseMessagingService"
6
- android:exported="false">
7
- <intent-filter>
8
- <action android:name="com.google.firebase.MESSAGING_EVENT" />
9
- </intent-filter>
10
- </service>
11
- </application>
12
- </manifest>
3
+ </manifest>
@@ -60,8 +60,9 @@ class MarketapSdkModule(reactContext: ReactApplicationContext) :
60
60
  get() = isModuleActive && hasListeners && isReactInstanceReady()
61
61
 
62
62
  @ReactMethod
63
- fun initialize(projectId: String, promise: Promise) {
63
+ fun initialize(payload: ReadableMap?, promise: Promise) {
64
64
  try {
65
+ val projectId = payload?.getString("projectId") ?: ""
65
66
  if (!isMainProcess()) {
66
67
  promise.resolve(null)
67
68
  return
@@ -91,7 +92,13 @@ class MarketapSdkModule(reactContext: ReactApplicationContext) :
91
92
  }
92
93
 
93
94
  @ReactMethod
94
- fun setLogLevel(logLevel: Int) {
95
+ fun setLogLevel(payload: ReadableMap?) {
96
+ val logLevel =
97
+ if (payload != null && payload.hasKey("logLevel") && !payload.isNull("logLevel")) {
98
+ payload.getInt("logLevel")
99
+ } else {
100
+ 0
101
+ }
95
102
  val resolvedLevel = MarketapLogLevel.values().firstOrNull { level ->
96
103
  level.value == logLevel
97
104
  } ?: MarketapLogLevel.NONE
@@ -104,16 +111,29 @@ class MarketapSdkModule(reactContext: ReactApplicationContext) :
104
111
  }
105
112
 
106
113
  @ReactMethod
107
- fun signup(
108
- userId: String,
109
- userProperties: ReadableMap?,
110
- eventProperties: ReadableMap?,
111
- persistUser: Boolean?,
112
- promise: Promise
113
- ) {
114
+ fun signup(payload: ReadableMap?, promise: Promise) {
114
115
  try {
116
+ val userId = payload?.getString("userId") ?: ""
117
+ val userProperties =
118
+ if (payload != null && payload.hasKey("userProperties") && !payload.isNull("userProperties")) {
119
+ payload.getMap("userProperties")
120
+ } else {
121
+ null
122
+ }
123
+ val eventProperties =
124
+ if (payload != null && payload.hasKey("eventProperties") && !payload.isNull("eventProperties")) {
125
+ payload.getMap("eventProperties")
126
+ } else {
127
+ null
128
+ }
129
+ val persistUser =
130
+ if (payload != null && payload.hasKey("persistUser") && !payload.isNull("persistUser")) {
131
+ payload.getBoolean("persistUser")
132
+ } else {
133
+ true
134
+ }
115
135
  // Call MarketapSDK signup method
116
- Marketap.signup(userId, userProperties.toNonNullableMap(), eventProperties.toNonNullableMap(), persistUser ?: true)
136
+ Marketap.signup(userId, userProperties.toNonNullableMap(), eventProperties.toNonNullableMap(), persistUser)
117
137
  promise.resolve(null)
118
138
  } catch (e: Exception) {
119
139
  promise.reject("SIGNUP_ERROR", e.message, e)
@@ -121,13 +141,21 @@ class MarketapSdkModule(reactContext: ReactApplicationContext) :
121
141
  }
122
142
 
123
143
  @ReactMethod
124
- fun login(
125
- userId: String,
126
- userProperties: ReadableMap?,
127
- eventProperties: ReadableMap?,
128
- promise: Promise
129
- ) {
144
+ fun login(payload: ReadableMap?, promise: Promise) {
130
145
  try {
146
+ val userId = payload?.getString("userId") ?: ""
147
+ val userProperties =
148
+ if (payload != null && payload.hasKey("userProperties") && !payload.isNull("userProperties")) {
149
+ payload.getMap("userProperties")
150
+ } else {
151
+ null
152
+ }
153
+ val eventProperties =
154
+ if (payload != null && payload.hasKey("eventProperties") && !payload.isNull("eventProperties")) {
155
+ payload.getMap("eventProperties")
156
+ } else {
157
+ null
158
+ }
131
159
  // Call MarketapSDK login method
132
160
  Marketap.login(userId, userProperties.toNonNullableMap(), eventProperties.toNonNullableMap())
133
161
  promise.resolve(null)
@@ -137,8 +165,14 @@ class MarketapSdkModule(reactContext: ReactApplicationContext) :
137
165
  }
138
166
 
139
167
  @ReactMethod
140
- fun logout(eventProperties: ReadableMap?, promise: Promise) {
168
+ fun logout(payload: ReadableMap?, promise: Promise) {
141
169
  try {
170
+ val eventProperties =
171
+ if (payload != null && payload.hasKey("eventProperties") && !payload.isNull("eventProperties")) {
172
+ payload.getMap("eventProperties")
173
+ } else {
174
+ null
175
+ }
142
176
  // Call MarketapSDK logout method
143
177
  Marketap.logout(eventProperties.toNonNullableMap())
144
178
  promise.resolve(null)
@@ -148,8 +182,15 @@ class MarketapSdkModule(reactContext: ReactApplicationContext) :
148
182
  }
149
183
 
150
184
  @ReactMethod
151
- fun track(eventName: String, eventProperties: ReadableMap?, promise: Promise) {
185
+ fun track(payload: ReadableMap?, promise: Promise) {
152
186
  try {
187
+ val eventName = payload?.getString("eventName") ?: ""
188
+ val eventProperties =
189
+ if (payload != null && payload.hasKey("eventProperties") && !payload.isNull("eventProperties")) {
190
+ payload.getMap("eventProperties")
191
+ } else {
192
+ null
193
+ }
153
194
  // Call MarketapSDK track method
154
195
  Marketap.track(eventName, eventProperties.toNonNullableMap())
155
196
  promise.resolve(null)
@@ -159,8 +200,20 @@ class MarketapSdkModule(reactContext: ReactApplicationContext) :
159
200
  }
160
201
 
161
202
  @ReactMethod
162
- fun trackPurchase(revenue: Double, eventProperties: ReadableMap?, promise: Promise) {
203
+ fun trackPurchase(payload: ReadableMap?, promise: Promise) {
163
204
  try {
205
+ val revenue =
206
+ if (payload != null && payload.hasKey("revenue") && !payload.isNull("revenue")) {
207
+ payload.getDouble("revenue")
208
+ } else {
209
+ 0.0
210
+ }
211
+ val eventProperties =
212
+ if (payload != null && payload.hasKey("eventProperties") && !payload.isNull("eventProperties")) {
213
+ payload.getMap("eventProperties")
214
+ } else {
215
+ null
216
+ }
164
217
  // Call MarketapSDK trackPurchase method
165
218
  Marketap.trackPurchase(revenue, eventProperties.toNonNullableMap())
166
219
  promise.resolve(null)
@@ -170,13 +223,21 @@ class MarketapSdkModule(reactContext: ReactApplicationContext) :
170
223
  }
171
224
 
172
225
  @ReactMethod
173
- fun trackRevenue(
174
- eventName: String,
175
- revenue: Double,
176
- eventProperties: ReadableMap?,
177
- promise: Promise
178
- ) {
226
+ fun trackRevenue(payload: ReadableMap?, promise: Promise) {
179
227
  try {
228
+ val eventName = payload?.getString("eventName") ?: ""
229
+ val revenue =
230
+ if (payload != null && payload.hasKey("revenue") && !payload.isNull("revenue")) {
231
+ payload.getDouble("revenue")
232
+ } else {
233
+ 0.0
234
+ }
235
+ val eventProperties =
236
+ if (payload != null && payload.hasKey("eventProperties") && !payload.isNull("eventProperties")) {
237
+ payload.getMap("eventProperties")
238
+ } else {
239
+ null
240
+ }
180
241
  // Call MarketapSDK trackRevenue method
181
242
  Marketap.trackRevenue(eventName, revenue, eventProperties.toNonNullableMap())
182
243
  promise.resolve(null)
@@ -186,8 +247,14 @@ class MarketapSdkModule(reactContext: ReactApplicationContext) :
186
247
  }
187
248
 
188
249
  @ReactMethod
189
- fun trackPageView(eventProperties: ReadableMap?, promise: Promise) {
250
+ fun trackPageView(payload: ReadableMap?, promise: Promise) {
190
251
  try {
252
+ val eventProperties =
253
+ if (payload != null && payload.hasKey("eventProperties") && !payload.isNull("eventProperties")) {
254
+ payload.getMap("eventProperties")
255
+ } else {
256
+ null
257
+ }
191
258
  // Call MarketapSDK trackPageView method
192
259
  Marketap.trackPageView(eventProperties.toNonNullableMap())
193
260
  promise.resolve(null)
@@ -197,8 +264,15 @@ class MarketapSdkModule(reactContext: ReactApplicationContext) :
197
264
  }
198
265
 
199
266
  @ReactMethod
200
- fun identify(userId: String, userProperties: ReadableMap?, promise: Promise) {
267
+ fun identify(payload: ReadableMap?, promise: Promise) {
201
268
  try {
269
+ val userId = payload?.getString("userId") ?: ""
270
+ val userProperties =
271
+ if (payload != null && payload.hasKey("userProperties") && !payload.isNull("userProperties")) {
272
+ payload.getMap("userProperties")
273
+ } else {
274
+ null
275
+ }
202
276
  // Call MarketapSDK identify method
203
277
  Marketap.identify(userId, userProperties.toNonNullableMap())
204
278
  promise.resolve(null)
@@ -249,39 +323,23 @@ class MarketapSdkModule(reactContext: ReactApplicationContext) :
249
323
  }
250
324
  }
251
325
 
252
- @ReactMethod
253
- fun setPushToken(token: String, promise: Promise) {
254
- try {
255
- // Android: setPushToken not available - MarketapFirebaseMessagingService handles tokens automatically
256
- promise.resolve(null)
257
- } catch (e: Exception) {
258
- promise.reject("PUSH_TOKEN_ERROR", e.message, e)
259
- }
260
- }
261
-
262
- @ReactMethod
263
- fun getInitialNotification(promise: Promise) {
264
- try {
265
- val pendingEvent = ReactNativeBridgeRegistry.popPendingClick()
266
- if (pendingEvent != null) {
267
- promise.resolve(pendingEvent)
268
- } else {
269
- promise.resolve(null)
270
- }
271
- } catch (e: Exception) {
272
- promise.reject("GET_INITIAL_NOTIFICATION_ERROR", e.message, e)
273
- }
274
- }
275
-
276
326
  // 웹브릿지 인앱 메시지 관련 메서드
277
327
  @ReactMethod
278
- fun trackFromWebBridge(
279
- eventName: String,
280
- eventProperties: ReadableMap?,
281
- handleInAppInReactNative: Boolean,
282
- promise: Promise
283
- ) {
328
+ fun trackFromWebBridge(payload: ReadableMap?, promise: Promise) {
284
329
  try {
330
+ val eventName = payload?.getString("eventName") ?: ""
331
+ val eventProperties =
332
+ if (payload != null && payload.hasKey("eventProperties") && !payload.isNull("eventProperties")) {
333
+ payload.getMap("eventProperties")
334
+ } else {
335
+ null
336
+ }
337
+ val handleInAppInReactNative =
338
+ if (payload != null && payload.hasKey("handleInAppInReactNative") && !payload.isNull("handleInAppInReactNative")) {
339
+ payload.getBoolean("handleInAppInReactNative")
340
+ } else {
341
+ false
342
+ }
285
343
  if (handleInAppInReactNative) {
286
344
  ReactNativeBridgeRegistry.setWebBridgeSourceTarget(this)
287
345
  MarketapWebBridge.setExternalWebBridgeActive(true)
@@ -292,13 +350,19 @@ class MarketapSdkModule(reactContext: ReactApplicationContext) :
292
350
  MarketapPlugin.trackEvent(eventName, eventProperties.toNonNullableMap())
293
351
  promise.resolve(null)
294
352
  } catch (e: Exception) {
295
- promise.reject("TRACK_REVENUE_ERROR", e.message, e)
353
+ promise.reject("TRACK_FROM_WEB_BRIDGE_ERROR", e.message, e)
296
354
  }
297
355
  }
298
356
 
299
357
  @ReactMethod
300
- fun setUserProperties(userProperties: ReadableMap?, promise: Promise) {
358
+ fun setUserProperties(payload: ReadableMap?, promise: Promise) {
301
359
  try {
360
+ val userProperties =
361
+ if (payload != null && payload.hasKey("userProperties") && !payload.isNull("userProperties")) {
362
+ payload.getMap("userProperties")
363
+ } else {
364
+ null
365
+ }
302
366
  val props = userProperties.toNonNullableMap()
303
367
  if (props == null) {
304
368
  promise.reject("ARG_ERROR", "Missing userProperties", null)
@@ -312,13 +376,11 @@ class MarketapSdkModule(reactContext: ReactApplicationContext) :
312
376
  }
313
377
 
314
378
  @ReactMethod
315
- fun trackInAppImpression(
316
- campaignId: String?,
317
- messageId: String?,
318
- layoutSubType: String?,
319
- promise: Promise
320
- ) {
379
+ fun trackInAppImpression(payload: ReadableMap?, promise: Promise) {
321
380
  try {
381
+ val campaignId = payload?.getString("campaignId")
382
+ val messageId = payload?.getString("messageId")
383
+ val layoutSubType = payload?.getString("layoutSubType")
322
384
  if (campaignId == null || messageId == null) {
323
385
  android.util.Log.w(
324
386
  NAME,
@@ -335,15 +397,13 @@ class MarketapSdkModule(reactContext: ReactApplicationContext) :
335
397
  }
336
398
 
337
399
  @ReactMethod
338
- fun trackInAppClick(
339
- campaignId: String?,
340
- messageId: String?,
341
- locationId: String?,
342
- url: String?,
343
- layoutSubType: String?,
344
- promise: Promise
345
- ) {
400
+ fun trackInAppClick(payload: ReadableMap?, promise: Promise) {
346
401
  try {
402
+ val campaignId = payload?.getString("campaignId")
403
+ val messageId = payload?.getString("messageId")
404
+ val locationId = payload?.getString("locationId")
405
+ val url = payload?.getString("url")
406
+ val layoutSubType = payload?.getString("layoutSubType")
347
407
  if (campaignId == null || messageId == null || locationId == null) {
348
408
  android.util.Log.w(
349
409
  NAME,
@@ -360,8 +420,10 @@ class MarketapSdkModule(reactContext: ReactApplicationContext) :
360
420
  }
361
421
 
362
422
  @ReactMethod
363
- fun hideCampaign(campaignId: String?, hideType: String?, promise: Promise) {
423
+ fun hideCampaign(payload: ReadableMap?, promise: Promise) {
364
424
  try {
425
+ val campaignId = payload?.getString("campaignId")
426
+ val hideType = payload?.getString("hideType")
365
427
  if (campaignId == null) {
366
428
  android.util.Log.w(NAME, "hideCampaign: missing campaignId")
367
429
  promise.resolve(null)
@@ -374,6 +436,22 @@ class MarketapSdkModule(reactContext: ReactApplicationContext) :
374
436
  }
375
437
  }
376
438
 
439
+ @ReactMethod
440
+ fun setDeviceOptIn(payload: ReadableMap?, promise: Promise) {
441
+ try {
442
+ val optIn: Boolean? =
443
+ if (payload != null && payload.hasKey("optIn") && !payload.isNull("optIn")) {
444
+ payload.getBoolean("optIn")
445
+ } else {
446
+ null
447
+ }
448
+ Marketap.setDeviceOptIn(optIn)
449
+ promise.resolve(null)
450
+ } catch (e: Exception) {
451
+ promise.reject("SET_DEVICE_OPT_IN_ERROR", e.message, e)
452
+ }
453
+ }
454
+
377
455
  @ReactMethod
378
456
  fun addListener(eventName: String) {
379
457
  hasListeners = true
package/ios/MarketapSdk.m CHANGED
@@ -8,51 +8,41 @@
8
8
  return YES;
9
9
  }
10
10
 
11
- RCT_EXTERN_METHOD(initialize:(nonnull NSString *)projectId
11
+ RCT_EXTERN_METHOD(initialize:(nullable NSDictionary *)payload
12
12
  withResolver:(RCTPromiseResolveBlock)resolve
13
13
  withRejecter:(RCTPromiseRejectBlock)reject)
14
14
 
15
- RCT_EXTERN_METHOD(setLogLevel:(nonnull NSNumber *)logLevel)
15
+ RCT_EXTERN_METHOD(setLogLevel:(nullable NSDictionary *)payload)
16
16
 
17
- RCT_EXTERN_METHOD(signup:(nonnull NSString *)userId
18
- userProperties:(nullable NSDictionary *)userProperties
19
- eventProperties:(nullable NSDictionary *)eventProperties
20
- persistUser:(nullable NSNumber *)persistUser
17
+ RCT_EXTERN_METHOD(signup:(nullable NSDictionary *)payload
21
18
  withResolver:(RCTPromiseResolveBlock)resolve
22
19
  withRejecter:(RCTPromiseRejectBlock)reject)
23
20
 
24
- RCT_EXTERN_METHOD(login:(nonnull NSString *)userId
25
- userProperties:(nullable NSDictionary *)userProperties
26
- eventProperties:(nullable NSDictionary *)eventProperties
21
+ RCT_EXTERN_METHOD(login:(nullable NSDictionary *)payload
27
22
  withResolver:(RCTPromiseResolveBlock)resolve
28
23
  withRejecter:(RCTPromiseRejectBlock)reject)
29
24
 
30
- RCT_EXTERN_METHOD(logout:(nullable NSDictionary *)eventProperties
25
+ RCT_EXTERN_METHOD(logout:(nullable NSDictionary *)payload
31
26
  withResolver:(RCTPromiseResolveBlock)resolve
32
27
  withRejecter:(RCTPromiseRejectBlock)reject)
33
28
 
34
- RCT_EXTERN_METHOD(track:(nonnull NSString *)eventName
35
- eventProperties:(nullable NSDictionary *)eventProperties
29
+ RCT_EXTERN_METHOD(track:(nullable NSDictionary *)payload
36
30
  withResolver:(RCTPromiseResolveBlock)resolve
37
31
  withRejecter:(RCTPromiseRejectBlock)reject)
38
32
 
39
- RCT_EXTERN_METHOD(trackPurchase:(nonnull NSNumber *)revenue
40
- eventProperties:(nullable NSDictionary *)eventProperties
33
+ RCT_EXTERN_METHOD(trackPurchase:(nullable NSDictionary *)payload
41
34
  withResolver:(RCTPromiseResolveBlock)resolve
42
35
  withRejecter:(RCTPromiseRejectBlock)reject)
43
36
 
44
- RCT_EXTERN_METHOD(trackRevenue:(nonnull NSString *)eventName
45
- revenue:(nonnull NSNumber *)revenue
46
- eventProperties:(nullable NSDictionary *)eventProperties
37
+ RCT_EXTERN_METHOD(trackRevenue:(nullable NSDictionary *)payload
47
38
  withResolver:(RCTPromiseResolveBlock)resolve
48
39
  withRejecter:(RCTPromiseRejectBlock)reject)
49
40
 
50
- RCT_EXTERN_METHOD(trackPageView:(nullable NSDictionary *)eventProperties
41
+ RCT_EXTERN_METHOD(trackPageView:(nullable NSDictionary *)payload
51
42
  withResolver:(RCTPromiseResolveBlock)resolve
52
43
  withRejecter:(RCTPromiseRejectBlock)reject)
53
44
 
54
- RCT_EXTERN_METHOD(identify:(nonnull NSString *)userId
55
- userProperties:(nullable NSDictionary *)userProperties
45
+ RCT_EXTERN_METHOD(identify:(nullable NSDictionary *)payload
56
46
  withResolver:(RCTPromiseResolveBlock)resolve
57
47
  withRejecter:(RCTPromiseRejectBlock)reject)
58
48
 
@@ -65,39 +55,27 @@ RCT_EXTERN_METHOD(setClickHandler:(RCTPromiseResolveBlock)resolve
65
55
  RCT_EXTERN_METHOD(requestAuthorizationForPushNotifications:(RCTPromiseResolveBlock)resolve
66
56
  withRejecter:(RCTPromiseRejectBlock)reject)
67
57
 
68
- RCT_EXTERN_METHOD(setPushToken:(nonnull NSString *)token
58
+ RCT_EXTERN_METHOD(trackFromWebBridge:(nullable NSDictionary *)payload
69
59
  withResolver:(RCTPromiseResolveBlock)resolve
70
60
  withRejecter:(RCTPromiseRejectBlock)reject)
71
61
 
72
- RCT_EXTERN_METHOD(getInitialNotification:(RCTPromiseResolveBlock)resolve
73
- withRejecter:(RCTPromiseRejectBlock)reject)
74
-
75
- RCT_EXTERN_METHOD(trackFromWebBridge:(nonnull NSString *)eventName
76
- eventProperties:(nullable NSDictionary *)eventProperties
77
- handleInAppInReactNative:(nonnull NSNumber *)handleInAppInReactNative
62
+ RCT_EXTERN_METHOD(setUserProperties:(nullable NSDictionary *)payload
78
63
  withResolver:(RCTPromiseResolveBlock)resolve
79
64
  withRejecter:(RCTPromiseRejectBlock)reject)
80
65
 
81
- RCT_EXTERN_METHOD(setUserProperties:(nullable NSDictionary *)userProperties
66
+ RCT_EXTERN_METHOD(trackInAppImpression:(nullable NSDictionary *)payload
82
67
  withResolver:(RCTPromiseResolveBlock)resolve
83
68
  withRejecter:(RCTPromiseRejectBlock)reject)
84
69
 
85
- RCT_EXTERN_METHOD(trackInAppImpression:(nullable NSString *)campaignId
86
- messageId:(nullable NSString *)messageId
87
- layoutSubType:(nullable NSString *)layoutSubType
70
+ RCT_EXTERN_METHOD(trackInAppClick:(nullable NSDictionary *)payload
88
71
  withResolver:(RCTPromiseResolveBlock)resolve
89
72
  withRejecter:(RCTPromiseRejectBlock)reject)
90
73
 
91
- RCT_EXTERN_METHOD(trackInAppClick:(nullable NSString *)campaignId
92
- messageId:(nullable NSString *)messageId
93
- locationId:(nullable NSString *)locationId
94
- url:(nullable NSString *)url
95
- layoutSubType:(nullable NSString *)layoutSubType
74
+ RCT_EXTERN_METHOD(setDeviceOptIn:(nullable NSDictionary *)payload
96
75
  withResolver:(RCTPromiseResolveBlock)resolve
97
76
  withRejecter:(RCTPromiseRejectBlock)reject)
98
77
 
99
- RCT_EXTERN_METHOD(hideCampaign:(nullable NSString *)campaignId
100
- hideType:(nullable NSString *)hideType
78
+ RCT_EXTERN_METHOD(hideCampaign:(nullable NSDictionary *)payload
101
79
  withResolver:(RCTPromiseResolveBlock)resolve
102
80
  withRejecter:(RCTPromiseRejectBlock)reject)
103
81