affise-attribution-lib 1.0.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 (108) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +549 -0
  3. package/affise-attribution-native.podspec +37 -0
  4. package/android/build.gradle +87 -0
  5. package/android/gradle.properties +5 -0
  6. package/android/libs/attribution-release.aar +0 -0
  7. package/android/libs/oaid_sdk_1.0.26.aar +0 -0
  8. package/android/src/main/AndroidManifest.xml +4 -0
  9. package/android/src/main/java/com/affise/attribution/react/AffiseAttributionNativeModule.kt +147 -0
  10. package/android/src/main/java/com/affise/attribution/react/AffiseAttributionNativePackage.kt +17 -0
  11. package/android/src/main/java/com/affise/attribution/react/ext/AffiseInitPropertiesExt.kt +29 -0
  12. package/android/src/main/java/com/affise/attribution/react/ext/AutoCatchingTypeExt.kt +15 -0
  13. package/android/src/main/java/com/affise/attribution/react/ext/JSONObjectExt.kt +15 -0
  14. package/android/src/main/java/com/affise/attribution/react/ext/PredefinedParametersExt.kt +82 -0
  15. package/android/src/main/java/com/affise/attribution/react/ext/TouchTypeExt.kt +12 -0
  16. package/android/src/main/java/com/affise/attribution/react/factories/AffiseBaseEvensFactory.kt +97 -0
  17. package/android/src/main/java/com/affise/attribution/react/factories/AffiseEvensFactory.kt +781 -0
  18. package/android/src/main/java/com/affise/attribution/react/factories/AffiseSubtypeEventsFactory.kt +266 -0
  19. package/ios/AffiseAttributionNative-Bridging-Header.h +3 -0
  20. package/ios/AffiseAttributionNative.m +90 -0
  21. package/ios/AffiseAttributionNative.swift +148 -0
  22. package/ios/AffiseAttributionNative.xcodeproj/project.pbxproj +305 -0
  23. package/ios/extensions/AffiseInitPropertiesExt.swift +29 -0
  24. package/ios/extensions/PredefinedParametersExt.swift +83 -0
  25. package/ios/extensions/TouchTypeExt.swift +13 -0
  26. package/ios/factories/AffiseBaseEvensFactory.swift +110 -0
  27. package/ios/factories/AffiseEvensFactory.swift +782 -0
  28. package/ios/factories/AffiseSubtypeEventsFactory.swift +261 -0
  29. package/ios/log/Log.swift +19 -0
  30. package/ios/log/RCTSwiftLog.h +16 -0
  31. package/ios/log/RCTSwiftLog.m +32 -0
  32. package/package.json +162 -0
  33. package/src/AffiseInitProperties.ts +32 -0
  34. package/src/Export.ts +73 -0
  35. package/src/events/AutoCatchingType.ts +9 -0
  36. package/src/events/PredefinedParameters.ts +75 -0
  37. package/src/events/TouchType.ts +5 -0
  38. package/src/events/base/AffiseEvent.ts +60 -0
  39. package/src/events/base/NativeEvent.ts +9 -0
  40. package/src/events/custom/CustomId01Event.ts +21 -0
  41. package/src/events/custom/CustomId02Event.ts +21 -0
  42. package/src/events/custom/CustomId03Event.ts +21 -0
  43. package/src/events/custom/CustomId04Event.ts +21 -0
  44. package/src/events/custom/CustomId05Event.ts +21 -0
  45. package/src/events/custom/CustomId06Event.ts +21 -0
  46. package/src/events/custom/CustomId07Event.ts +21 -0
  47. package/src/events/custom/CustomId08Event.ts +21 -0
  48. package/src/events/custom/CustomId09Event.ts +21 -0
  49. package/src/events/custom/CustomId10Event.ts +21 -0
  50. package/src/events/predefined/AchieveLevelEvent.ts +14 -0
  51. package/src/events/predefined/AddPaymentInfoEvent.ts +14 -0
  52. package/src/events/predefined/AddToCartEvent.ts +14 -0
  53. package/src/events/predefined/AddToWishlistEvent.ts +14 -0
  54. package/src/events/predefined/ClickAdvEvent.ts +14 -0
  55. package/src/events/predefined/CompleteRegistrationEvent.ts +14 -0
  56. package/src/events/predefined/CompleteStreamEvent.ts +14 -0
  57. package/src/events/predefined/CompleteTrialEvent.ts +14 -0
  58. package/src/events/predefined/CompleteTutorialEvent.ts +14 -0
  59. package/src/events/predefined/ContentItemsViewEvent.ts +13 -0
  60. package/src/events/predefined/DeepLinkedEvent.ts +13 -0
  61. package/src/events/predefined/InitiatePurchaseEvent.ts +14 -0
  62. package/src/events/predefined/InitiateStreamEvent.ts +14 -0
  63. package/src/events/predefined/InviteEvent.ts +14 -0
  64. package/src/events/predefined/LastAttributedTouchEvent.ts +15 -0
  65. package/src/events/predefined/ListViewEvent.ts +13 -0
  66. package/src/events/predefined/LoginEvent.ts +14 -0
  67. package/src/events/predefined/OpenedFromPushNotificationEvent.ts +13 -0
  68. package/src/events/predefined/PurchaseEvent.ts +14 -0
  69. package/src/events/predefined/RateEvent.ts +14 -0
  70. package/src/events/predefined/ReEngageEvent.ts +13 -0
  71. package/src/events/predefined/ReserveEvent.ts +14 -0
  72. package/src/events/predefined/SearchEvent.ts +14 -0
  73. package/src/events/predefined/ShareEvent.ts +14 -0
  74. package/src/events/predefined/SpendCreditsEvent.ts +14 -0
  75. package/src/events/predefined/StartRegistrationEvent.ts +14 -0
  76. package/src/events/predefined/StartTrialEvent.ts +14 -0
  77. package/src/events/predefined/StartTutorialEvent.ts +14 -0
  78. package/src/events/predefined/SubscribeEvent.ts +14 -0
  79. package/src/events/predefined/TravelBookingEvent.ts +13 -0
  80. package/src/events/predefined/UnlockAchievementEvent.ts +14 -0
  81. package/src/events/predefined/UnsubscribeEvent.ts +14 -0
  82. package/src/events/predefined/UpdateEvent.ts +13 -0
  83. package/src/events/predefined/ViewAdvEvent.ts +14 -0
  84. package/src/events/predefined/ViewCartEvent.ts +13 -0
  85. package/src/events/predefined/ViewItemEvent.ts +13 -0
  86. package/src/events/predefined/ViewItemsEvent.ts +13 -0
  87. package/src/events/subscription/BaseSubscriptionEvent.ts +32 -0
  88. package/src/events/subscription/ConvertedOfferEvent.ts +13 -0
  89. package/src/events/subscription/ConvertedOfferFromRetryEvent.ts +14 -0
  90. package/src/events/subscription/ConvertedTrialEvent.ts +13 -0
  91. package/src/events/subscription/ConvertedTrialFromRetryEvent.ts +13 -0
  92. package/src/events/subscription/FailedOfferFromRetryEvent.ts +13 -0
  93. package/src/events/subscription/FailedOfferiseEvent.ts +13 -0
  94. package/src/events/subscription/FailedSubscriptionEvent.ts +13 -0
  95. package/src/events/subscription/FailedSubscriptionFromRetryEvent.ts +13 -0
  96. package/src/events/subscription/FailedTrialEvent.ts +13 -0
  97. package/src/events/subscription/FailedTrialFromRetryEvent.ts +13 -0
  98. package/src/events/subscription/InitialOfferEvent.ts +13 -0
  99. package/src/events/subscription/InitialSubscriptionEvent.ts +13 -0
  100. package/src/events/subscription/InitialTrialEvent.ts +13 -0
  101. package/src/events/subscription/OfferInRetryEvent.ts +13 -0
  102. package/src/events/subscription/ReactivatedSubscriptionEvent.ts +13 -0
  103. package/src/events/subscription/RenewedSubscriptionEvent.ts +13 -0
  104. package/src/events/subscription/RenewedSubscriptionFromRetryEvent.ts +13 -0
  105. package/src/events/subscription/SubscriptionInRetryEvent.ts +13 -0
  106. package/src/events/subscription/SubscriptionParameters.ts +36 -0
  107. package/src/events/subscription/TrialInRetryEvent.ts +13 -0
  108. package/src/index.tsx +172 -0
@@ -0,0 +1,782 @@
1
+ import AffiseAttributionLib
2
+
3
+ internal class AffiseEvensFactory: AffiseBaseEvensFactory, AffiseBaseEvens {
4
+
5
+ private let subscriptionEventsFactory = AffiseSubtypeEventsFactory();
6
+
7
+ func event(_ map: [String: Any?]?) -> Event? {
8
+ let name = map?["name"] as? String?
9
+
10
+ switch name {
11
+ case "AchieveLevel": return eventAchieveLevelEvent(map)
12
+ case "AddPaymentInfo": return eventAddPaymentInfoEvent(map)
13
+ case "AddToCart": return eventAddToCartEvent(map)
14
+ case "AddToWishlist": return eventAddToWishlistEvent(map)
15
+ case "ClickAdv": return eventClickAdv(map)
16
+ case "CompleteRegistration": return eventCompleteRegistrationEvent(map)
17
+ case "CompleteStream": return eventCompleteStreamEvent(map)
18
+ case "CompleteTrial": return eventCompleteTrialEvent(map)
19
+ case "CompleteTutorial": return eventCompleteTutorialEvent(map)
20
+ case "ContentItemsView": return eventContentItemsViewEvent(map)
21
+ case "CustomId01": return eventCustomId01Event(map)
22
+ case "CustomId02": return eventCustomId02Event(map)
23
+ case "CustomId03": return eventCustomId03Event(map)
24
+ case "CustomId04": return eventCustomId04Event(map)
25
+ case "CustomId05": return eventCustomId05Event(map)
26
+ case "CustomId06": return eventCustomId06Event(map)
27
+ case "CustomId07": return eventCustomId07Event(map)
28
+ case "CustomId08": return eventCustomId08Event(map)
29
+ case "CustomId09": return eventCustomId09Event(map)
30
+ case "CustomId10": return eventCustomId10Event(map)
31
+ case "DeepLinked": return eventDeepLinkedEvent(map)
32
+ case "InitiatePurchase": return eventInitiatePurchaseEvent(map)
33
+ case "InitiateStream": return eventInitiateStreamEvent(map)
34
+ case "Invite": return eventInviteEvent(map)
35
+ case "LastAttributedTouch": return eventLastAttributedTouchEvent(map)
36
+ case "ListView": return eventListViewEvent(map)
37
+ case "Login": return eventLoginEvent(map)
38
+ case "OpenedFromPushNotification": return eventOpenedFromPushNotificationEvent(map)
39
+ case "Purchase": return eventPurchaseEvent(map)
40
+ case "Rate": return eventRateEvent(map)
41
+ case "ReEngage": return eventReEngageEvent(map)
42
+ case "Reserve": return eventReserveEvent(map)
43
+ case "Search": return eventSearchEvent(map)
44
+ case "Share": return eventShareEvent(map)
45
+ case "SpendCredits": return eventSpendCreditsEvent(map)
46
+ case "StartRegistration": return eventStartRegistrationEvent(map)
47
+ case "StartTrial": return eventStartTrialEvent(map)
48
+ case "StartTutorial": return eventStartTutorialEvent(map)
49
+ case "Subscribe": return eventSubscribeEvent(map)
50
+ case "TravelBooking": return eventTravelBookingEvent(map)
51
+ case "UnlockAchievement": return eventUnlockAchievementEvent(map)
52
+ case "Unsubscribe": return eventUnsubscribeEvent(map)
53
+ case "Update": return eventUpdateEvent(map)
54
+ case "ViewAdv": return eventViewAdvEvent(map)
55
+ case "ViewCart": return eventViewCartEvent(map)
56
+ case "ViewItem": return eventViewItemEvent(map)
57
+ case "ViewItems": return eventViewItemsEvent(map)
58
+
59
+ case SubscriptionParameters.AFFISE_SUBSCRIPTION_ACTIVATION.rawValue: return subscriptionEventsFactory.event(map)
60
+ case SubscriptionParameters.AFFISE_SUBSCRIPTION_CANCELLATION.rawValue: return subscriptionEventsFactory.event(map)
61
+ case SubscriptionParameters.AFFISE_SUBSCRIPTION_ENTERED_BILLING_RETRY.rawValue: return subscriptionEventsFactory.event(map)
62
+ case SubscriptionParameters.AFFISE_SUBSCRIPTION_FIRST_CONVERSION.rawValue: return subscriptionEventsFactory.event(map)
63
+ case SubscriptionParameters.AFFISE_SUBSCRIPTION_REACTIVATION.rawValue: return subscriptionEventsFactory.event(map)
64
+ case SubscriptionParameters.AFFISE_SUBSCRIPTION_RENEWAL.rawValue: return subscriptionEventsFactory.event(map)
65
+ case SubscriptionParameters.AFFISE_SUBSCRIPTION_RENEWAL_FROM_BILLING_RETRY.rawValue: return subscriptionEventsFactory.event(map)
66
+
67
+ default:
68
+ return nil
69
+ }
70
+ }
71
+
72
+ private func eventAchieveLevelEvent(_ map: [String: Any?]?) -> AchieveLevelEvent {
73
+ let (timeStamp, userData) = getUserDataAndTimeStamp(
74
+ map,
75
+ "affise_event_achieve_level_timestamp"
76
+ )
77
+ let level = getArrayOfData(map, "affise_event_achieve_level")
78
+
79
+ var event = AchieveLevelEvent(
80
+ level: level,
81
+ timeStampMillis: timeStamp,
82
+ userData: userData
83
+ )
84
+
85
+ addPredefinedParameters(event: &event, map: map)
86
+ return event
87
+ }
88
+
89
+ private func eventAddPaymentInfoEvent(_ map: [String: Any?]?) -> AddPaymentInfoEvent {
90
+ let (timeStamp, userData) = getUserDataAndTimeStamp(
91
+ map,
92
+ "affise_event_add_payment_info_timestamp"
93
+ )
94
+ let paymentInfo = getArrayOfData(map, "affise_event_add_payment_info")
95
+
96
+ var event = AddPaymentInfoEvent(
97
+ paymentInfo: paymentInfo,
98
+ timeStampMillis: timeStamp,
99
+ userData: userData
100
+ )
101
+
102
+ addPredefinedParameters(event: &event, map: map)
103
+ return event
104
+ }
105
+
106
+ private func eventAddToCartEvent(_ map: [String: Any?]?) -> AddToCartEvent {
107
+ let (timeStamp, userData) = getUserDataAndTimeStamp(
108
+ map,
109
+ "affise_event_add_to_cart_timestamp"
110
+ )
111
+ let addToCartObject = getArrayOfData(map, "affise_event_add_to_cart")
112
+
113
+ var event = AddToCartEvent(
114
+ addToCartObject: addToCartObject,
115
+ timeStampMillis: timeStamp,
116
+ userData: userData
117
+ )
118
+
119
+ addPredefinedParameters(event: &event, map: map)
120
+ return event
121
+ }
122
+
123
+ private func eventAddToWishlistEvent(_ map: [String: Any?]?) -> AddToWishlistEvent {
124
+ let (timeStamp, userData) = getUserDataAndTimeStamp(
125
+ map,
126
+ "affise_event_add_to_wishlist_timestamp"
127
+ )
128
+ let wishList = getArrayOfData(map, "affise_event_add_to_wishlist")
129
+
130
+ var event = AddToWishlistEvent(
131
+ wishList: wishList,
132
+ timeStampMillis: timeStamp,
133
+ userData: userData
134
+ )
135
+ addPredefinedParameters(event: &event, map: map)
136
+ return event
137
+ }
138
+
139
+ private func eventClickAdv(_ map: [String: Any?]?) -> ClickAdvEvent {
140
+ let (timeStamp, userData) = getUserDataAndTimeStamp(
141
+ map,
142
+ "affise_event_click_adv_timestamp"
143
+ )
144
+ let advertisement = getSerializeString(map, "affise_event_click_adv") ?? ""
145
+
146
+ var event = ClickAdvEvent(
147
+ advertisement: advertisement,
148
+ timeStampMillis: timeStamp,
149
+ userData: userData
150
+ )
151
+ addPredefinedParameters(event: &event, map: map)
152
+ return event
153
+ }
154
+
155
+ private func eventCompleteRegistrationEvent(_ map: [String: Any?]?) -> CompleteRegistrationEvent {
156
+ let (timeStamp, userData) = getUserDataAndTimeStamp(
157
+ map,
158
+ "affise_event_complete_registration_timestamp"
159
+ )
160
+ let registration = getArrayOfData(map, "affise_event_complete_registration")
161
+
162
+ var event = CompleteRegistrationEvent(
163
+ registration: registration,
164
+ timeStampMillis: timeStamp,
165
+ userData: userData
166
+ )
167
+ addPredefinedParameters(event: &event, map: map)
168
+ return event
169
+ }
170
+
171
+ private func eventCompleteStreamEvent(_ map: [String: Any?]?) -> CompleteStreamEvent {
172
+ let (timeStamp, userData) = getUserDataAndTimeStamp(
173
+ map,
174
+ "affise_event_complete_stream_timestamp"
175
+ )
176
+ let stream = getArrayOfData(map, "affise_event_complete_stream")
177
+
178
+ var event = CompleteStreamEvent(
179
+ stream: stream,
180
+ timeStampMillis: timeStamp,
181
+ userData: userData
182
+ )
183
+ addPredefinedParameters(event: &event, map: map)
184
+ return event
185
+ }
186
+
187
+ private func eventCompleteTrialEvent(_ map: [String: Any?]?) -> CompleteTrialEvent {
188
+ let (timeStamp, userData) = getUserDataAndTimeStamp(
189
+ map,
190
+ "affise_event_complete_trial_timestamp"
191
+ )
192
+ let trial = getArrayOfData(map, "affise_event_complete_trial")
193
+
194
+ var event = CompleteTrialEvent(
195
+ trial: trial,
196
+ timeStampMillis: timeStamp,
197
+ userData: userData
198
+ )
199
+ addPredefinedParameters(event: &event, map: map)
200
+ return event
201
+ }
202
+
203
+ private func eventCompleteTutorialEvent(_ map: [String: Any?]?) -> CompleteTutorialEvent {
204
+ let (timeStamp, userData) = getUserDataAndTimeStamp(
205
+ map,
206
+ "affise_event_complete_tutorial_timestamp"
207
+ )
208
+ let tutorial = getArrayOfData(map, "affise_event_complete_tutorial")
209
+
210
+ var event = CompleteTutorialEvent(
211
+ tutorial: tutorial,
212
+ timeStampMillis: timeStamp,
213
+ userData: userData
214
+ )
215
+ addPredefinedParameters(event: &event, map: map)
216
+ return event
217
+ }
218
+
219
+ private func eventContentItemsViewEvent(_ map: [String: Any?]?) -> ContentItemsViewEvent {
220
+ let userData = getUserData(map)
221
+ let objects = getSerializeArrayOfArray(map, "affise_event_content_items_view")
222
+
223
+ var event = ContentItemsViewEvent(
224
+ objects: objects,
225
+ userData: userData
226
+ )
227
+ addPredefinedParameters(event: &event, map: map)
228
+ return event
229
+ }
230
+
231
+ private func eventCustomId01Event(_ map: [String: Any?]?) -> CustomId01Event {
232
+ let (timeStamp, userData) = getUserDataAndTimeStamp(
233
+ map,
234
+ "affise_event_custom_id_01_timestamp"
235
+ )
236
+ let custom = getSerializeString(map, "affise_event_custom_id_01") ?? ""
237
+
238
+ var event = CustomId01Event(
239
+ custom: custom,
240
+ timeStampMillis: timeStamp,
241
+ userData: userData
242
+ )
243
+ addPredefinedParameters(event: &event, map: map)
244
+ return event
245
+ }
246
+
247
+ private func eventCustomId02Event(_ map: [String: Any?]?) -> CustomId02Event {
248
+ let (timeStamp, userData) = getUserDataAndTimeStamp(
249
+ map,
250
+ "affise_event_custom_id_02_timestamp"
251
+ )
252
+ let custom = getSerializeString(map, "affise_event_custom_id_02") ?? ""
253
+
254
+ var event = CustomId02Event(
255
+ custom: custom,
256
+ timeStampMillis: timeStamp,
257
+ userData: userData
258
+ )
259
+ addPredefinedParameters(event: &event, map: map)
260
+ return event
261
+ }
262
+
263
+ private func eventCustomId03Event(_ map: [String: Any?]?) -> CustomId03Event {
264
+ let (timeStamp, userData) = getUserDataAndTimeStamp(
265
+ map,
266
+ "affise_event_custom_id_03_timestamp"
267
+ )
268
+ let custom = getSerializeString(map, "affise_event_custom_id_03") ?? ""
269
+
270
+ var event = CustomId03Event(
271
+ custom: custom,
272
+ timeStampMillis: timeStamp,
273
+ userData: userData
274
+ )
275
+ addPredefinedParameters(event: &event, map: map)
276
+ return event
277
+ }
278
+
279
+ private func eventCustomId04Event(_ map: [String: Any?]?) -> CustomId04Event {
280
+ let (timeStamp, userData) = getUserDataAndTimeStamp(
281
+ map,
282
+ "affise_event_custom_id_04_timestamp"
283
+ )
284
+ let custom = getSerializeString(map, "affise_event_custom_id_04") ?? ""
285
+
286
+ var event = CustomId04Event(
287
+ custom: custom,
288
+ timeStampMillis: timeStamp,
289
+ userData: userData
290
+ )
291
+ addPredefinedParameters(event: &event, map: map)
292
+ return event
293
+ }
294
+
295
+ private func eventCustomId05Event(_ map: [String: Any?]?) -> CustomId05Event {
296
+ let (timeStamp, userData) = getUserDataAndTimeStamp(
297
+ map,
298
+ "affise_event_custom_id_05_timestamp"
299
+ )
300
+ let custom = getSerializeString(map, "affise_event_custom_id_05") ?? ""
301
+
302
+ var event = CustomId05Event(
303
+ custom: custom,
304
+ timeStampMillis: timeStamp,
305
+ userData: userData
306
+ )
307
+ addPredefinedParameters(event: &event, map: map)
308
+ return event
309
+ }
310
+
311
+ private func eventCustomId06Event(_ map: [String: Any?]?) -> CustomId06Event {
312
+ let (timeStamp, userData) = getUserDataAndTimeStamp(
313
+ map,
314
+ "affise_event_custom_id_06_timestamp"
315
+ )
316
+ let custom = getSerializeString(map, "affise_event_custom_id_06") ?? ""
317
+
318
+ var event = CustomId06Event(
319
+ custom: custom,
320
+ timeStampMillis: timeStamp,
321
+ userData: userData
322
+ )
323
+ addPredefinedParameters(event: &event, map: map)
324
+ return event
325
+ }
326
+
327
+ private func eventCustomId07Event(_ map: [String: Any?]?) -> CustomId07Event {
328
+ let (timeStamp, userData) = getUserDataAndTimeStamp(
329
+ map,
330
+ "affise_event_custom_id_07_timestamp"
331
+ )
332
+ let custom = getSerializeString(map, "affise_event_custom_id_07") ?? ""
333
+
334
+ var event = CustomId07Event(
335
+ custom: custom,
336
+ timeStampMillis: timeStamp,
337
+ userData: userData
338
+ )
339
+ addPredefinedParameters(event: &event, map: map)
340
+ return event
341
+ }
342
+
343
+ private func eventCustomId08Event(_ map: [String: Any?]?) -> CustomId08Event {
344
+ let (timeStamp, userData) = getUserDataAndTimeStamp(
345
+ map,
346
+ "affise_event_custom_id_08_timestamp"
347
+ )
348
+ let custom = getSerializeString(map, "affise_event_custom_id_08") ?? ""
349
+
350
+ var event = CustomId08Event(
351
+ custom: custom,
352
+ timeStampMillis: timeStamp,
353
+ userData: userData
354
+ )
355
+ addPredefinedParameters(event: &event, map: map)
356
+ return event
357
+ }
358
+
359
+ private func eventCustomId09Event(_ map: [String: Any?]?) -> CustomId09Event {
360
+ let (timeStamp, userData) = getUserDataAndTimeStamp(
361
+ map,
362
+ "affise_event_custom_id_09_timestamp"
363
+ )
364
+ let custom = getSerializeString(map, "affise_event_custom_id_09") ?? ""
365
+
366
+ var event = CustomId09Event(
367
+ custom: custom,
368
+ timeStampMillis: timeStamp,
369
+ userData: userData
370
+ )
371
+ addPredefinedParameters(event: &event, map: map)
372
+ return event
373
+ }
374
+
375
+ private func eventCustomId10Event(_ map: [String: Any?]?) -> CustomId10Event {
376
+ let (timeStamp, userData) = getUserDataAndTimeStamp(
377
+ map,
378
+ "affise_event_custom_id_10_timestamp"
379
+ )
380
+ let custom = getSerializeString(map, "affise_event_custom_id_10") ?? ""
381
+
382
+ var event = CustomId10Event(
383
+ custom: custom,
384
+ timeStampMillis: timeStamp,
385
+ userData: userData
386
+ )
387
+ addPredefinedParameters(event: &event, map: map)
388
+ return event
389
+ }
390
+
391
+ private func eventDeepLinkedEvent(_ map: [String: Any?]?) -> DeepLinkedEvent {
392
+ let userData = getUserData(map)
393
+ let isLinked = getSerializeBool(map, "affise_event_deep_linked")
394
+
395
+ var event = DeepLinkedEvent(
396
+ isLinked: isLinked,
397
+ userData: userData
398
+ )
399
+ addPredefinedParameters(event: &event, map: map)
400
+ return event
401
+ }
402
+
403
+ private func eventInitiatePurchaseEvent(_ map: [String: Any?]?) -> InitiatePurchaseEvent {
404
+ let (timeStamp, userData) = getUserDataAndTimeStamp(
405
+ map,
406
+ "affise_event_initiate_purchase_timestamp"
407
+ )
408
+ let purchaseData = getArrayOfData(map, "affise_event_initiate_purchase")
409
+
410
+ var event = InitiatePurchaseEvent(
411
+ purchaseData: purchaseData,
412
+ timeStampMillis: timeStamp,
413
+ userData: userData
414
+ )
415
+ addPredefinedParameters(event: &event, map: map)
416
+ return event
417
+ }
418
+
419
+ private func eventInitiateStreamEvent(_ map: [String: Any?]?) -> InitiateStreamEvent {
420
+ let (timeStamp, userData) = getUserDataAndTimeStamp(
421
+ map,
422
+ "affise_event_initiate_stream_timestamp"
423
+ )
424
+ let stream = getArrayOfData(map, "affise_event_initiate_stream")
425
+
426
+ var event = InitiateStreamEvent(
427
+ stream: stream,
428
+ timeStampMillis: timeStamp,
429
+ userData: userData
430
+ )
431
+ addPredefinedParameters(event: &event, map: map)
432
+ return event
433
+ }
434
+
435
+ private func eventInviteEvent(_ map: [String: Any?]?) -> InviteEvent {
436
+ let (timeStamp, userData) = getUserDataAndTimeStamp(
437
+ map,
438
+ "affise_event_invite_timestamp"
439
+ )
440
+ let invite = getArrayOfData(map, "affise_event_invite")
441
+
442
+ var event = InviteEvent(
443
+ invite: invite,
444
+ timeStampMillis: timeStamp,
445
+ userData: userData
446
+ )
447
+ addPredefinedParameters(event: &event, map: map)
448
+ return event
449
+ }
450
+
451
+ private func eventLastAttributedTouchEvent(_ map: [String: Any?]?) -> LastAttributedTouchEvent {
452
+ let (timeStamp, userData) = getUserDataAndTimeStamp(map, "affise_event_last_attributed_touch_timestamp")
453
+ let touchType = toTouchType(getSerializeString(map, "affise_event_last_attributed_touch_type")) ?? TouchType.CLICK
454
+ let touchData = getArrayOfData(map, "affise_event_last_attributed_touch_data")
455
+
456
+ var event = LastAttributedTouchEvent(
457
+ touchType: touchType,
458
+ timeStampMillis: timeStamp,
459
+ touchData: touchData,
460
+ userData: userData
461
+ )
462
+ addPredefinedParameters(event: &event, map: map)
463
+ return event
464
+ }
465
+
466
+ private func eventListViewEvent(_ map: [String: Any?]?) -> ListViewEvent {
467
+ let userData = getUserData(map)
468
+ let list = getArrayOfData(map, "affise_event_list_view")
469
+
470
+ var event = ListViewEvent(
471
+ list: list,
472
+ userData: userData
473
+ )
474
+ addPredefinedParameters(event: &event, map: map)
475
+ return event
476
+ }
477
+
478
+ private func eventLoginEvent(_ map: [String: Any?]?) -> LoginEvent {
479
+ let (timeStamp, userData) = getUserDataAndTimeStamp(
480
+ map,
481
+ "affise_event_login_timestamp"
482
+ )
483
+ let login = getArrayOfData(map, "affise_event_login")
484
+
485
+ var event = LoginEvent(
486
+ login: login,
487
+ timeStampMillis: timeStamp,
488
+ userData: userData
489
+ )
490
+ addPredefinedParameters(event: &event, map: map)
491
+ return event
492
+ }
493
+
494
+ private func eventOpenedFromPushNotificationEvent(_ map: [String: Any?]?) -> OpenedFromPushNotificationEvent {
495
+ let userData = getUserData(map)
496
+ let details = getSerializeString(map, "affise_event_opened_from_push_notification") ?? ""
497
+
498
+ var event = OpenedFromPushNotificationEvent(
499
+ details: details,
500
+ userData: userData
501
+ )
502
+ addPredefinedParameters(event: &event, map: map)
503
+ return event
504
+ }
505
+
506
+ private func eventPurchaseEvent(_ map: [String: Any?]?) -> PurchaseEvent {
507
+ let (timeStamp, userData) = getUserDataAndTimeStamp(
508
+ map,
509
+ "affise_event_purchase_timestamp"
510
+ )
511
+ let purchaseData = getArrayOfData(map, "affise_event_purchase")
512
+
513
+ var event = PurchaseEvent(
514
+ purchaseData: purchaseData,
515
+ timeStampMillis: timeStamp,
516
+ userData: userData
517
+ )
518
+ addPredefinedParameters(event: &event, map: map)
519
+ return event
520
+ }
521
+
522
+ private func eventRateEvent(_ map: [String: Any?]?) -> RateEvent {
523
+ let (timeStamp, userData) = getUserDataAndTimeStamp(map, "affise_event_rate_timestamp")
524
+ let rate = getArrayOfData(map, "affise_event_rate")
525
+
526
+ var event = RateEvent(
527
+ rate: rate,
528
+ timeStampMillis: timeStamp,
529
+ userData: userData
530
+ )
531
+ addPredefinedParameters(event: &event, map: map)
532
+ return event
533
+ }
534
+
535
+ private func eventReEngageEvent(_ map: [String: Any?]?) -> ReEngageEvent {
536
+ let userData = getUserData(map)
537
+ let reEngage = getSerializeString(map, "affise_event_re_engage") ?? ""
538
+
539
+ var event = ReEngageEvent(
540
+ reEngage: reEngage,
541
+ userData: userData
542
+ )
543
+ addPredefinedParameters(event: &event, map: map)
544
+ return event
545
+ }
546
+
547
+ private func eventReserveEvent(_ map: [String: Any?]?) -> ReserveEvent {
548
+ let (timeStamp, userData) = getUserDataAndTimeStamp(
549
+ map,
550
+ "affise_event_reserve_timestamp"
551
+ )
552
+ let reserve = getSerializeArrayOfArray(map, "affise_event_reserve")
553
+
554
+ var event = ReserveEvent(
555
+ reserve: reserve,
556
+ timeStampMillis: timeStamp,
557
+ userData: userData
558
+ )
559
+ addPredefinedParameters(event: &event, map: map)
560
+ return event
561
+ }
562
+
563
+ private func eventSearchEvent(_ map: [String: Any?]?) -> SearchEvent {
564
+ let (timeStamp, userData) = getUserDataAndTimeStamp(
565
+ map,
566
+ "affise_event_search_timestamp"
567
+ )
568
+ let search = getSerializeArrayOfAny(map, "affise_event_search")
569
+
570
+ var event = SearchEvent(
571
+ search: search,
572
+ timeStampMillis: timeStamp,
573
+ userData: userData
574
+ )
575
+ addPredefinedParameters(event: &event, map: map)
576
+ return event
577
+ }
578
+
579
+ private func eventShareEvent(_ map: [String: Any?]?) -> ShareEvent {
580
+ let (timeStamp, userData) = getUserDataAndTimeStamp(
581
+ map,
582
+ "affise_event_share_timestamp"
583
+ )
584
+ let share = getArrayOfData(map, "affise_event_share")
585
+
586
+ var event = ShareEvent(
587
+ share: share,
588
+ timeStampMillis: timeStamp,
589
+ userData: userData
590
+ )
591
+ addPredefinedParameters(event: &event, map: map)
592
+ return event
593
+ }
594
+
595
+ private func eventSpendCreditsEvent(_ map: [String: Any?]?) -> SpendCreditsEvent {
596
+ let (timeStamp, userData) = getUserDataAndTimeStamp(
597
+ map,
598
+ "affise_event_spend_credits_timestamp"
599
+ )
600
+ let credits = getSerializeNumber(map, "affise_event_spend_credits")?.int64Value ?? 0
601
+
602
+ var event = SpendCreditsEvent(
603
+ credits: credits,
604
+ timeStampMillis: timeStamp,
605
+ userData: userData
606
+ )
607
+ addPredefinedParameters(event: &event, map: map)
608
+ return event
609
+ }
610
+
611
+ private func eventStartRegistrationEvent(_ map: [String: Any?]?) -> StartRegistrationEvent {
612
+ let (timeStamp, userData) = getUserDataAndTimeStamp(
613
+ map,
614
+ "affise_event_start_registration_timestamp"
615
+ )
616
+ let registration = getArrayOfData(map, "affise_event_start_registration")
617
+
618
+ var event = StartRegistrationEvent(
619
+ registration: registration,
620
+ timeStampMillis: timeStamp,
621
+ userData: userData
622
+ )
623
+ addPredefinedParameters(event: &event, map: map)
624
+ return event
625
+ }
626
+
627
+ private func eventStartTrialEvent(_ map: [String: Any?]?) -> StartTrialEvent {
628
+ let (timeStamp, userData) = getUserDataAndTimeStamp(
629
+ map,
630
+ "affise_event_start_trial_timestamp"
631
+ )
632
+ let trial = getArrayOfData(map, "affise_event_start_trial")
633
+
634
+ var event = StartTrialEvent(
635
+ trial: trial,
636
+ timeStampMillis: timeStamp,
637
+ userData: userData
638
+ )
639
+ addPredefinedParameters(event: &event, map: map)
640
+ return event
641
+ }
642
+
643
+ private func eventStartTutorialEvent(_ map: [String: Any?]?) -> StartTutorialEvent {
644
+ let (timeStamp, userData) = getUserDataAndTimeStamp(
645
+ map,
646
+ "affise_event_start_tutorial_timestamp"
647
+ )
648
+ let tutorial = getArrayOfData(map, "affise_event_start_tutorial")
649
+
650
+ var event = StartTutorialEvent(
651
+ tutorial: tutorial,
652
+ timeStampMillis: timeStamp,
653
+ userData: userData
654
+ )
655
+ addPredefinedParameters(event: &event, map: map)
656
+ return event
657
+ }
658
+
659
+ private func eventSubscribeEvent(_ map: [String: Any?]?) -> SubscribeEvent {
660
+ let (timeStamp, userData) = getUserDataAndTimeStamp(
661
+ map,
662
+ "affise_event_subscribe_timestamp"
663
+ )
664
+ let subscribe = getArrayOfData(map, "affise_event_subscribe")
665
+
666
+ var event = SubscribeEvent(
667
+ subscribe: subscribe,
668
+ timeStampMillis: timeStamp,
669
+ userData: userData
670
+ )
671
+ addPredefinedParameters(event: &event, map: map)
672
+ return event
673
+ }
674
+
675
+ private func eventTravelBookingEvent(_ map: [String: Any?]?) -> TravelBookingEvent {
676
+ let userData = getUserData(map)
677
+ let details = getSerializeArrayOfAny(map, "affise_event_travel_booking")
678
+
679
+ var event = TravelBookingEvent(
680
+ details: details,
681
+ userData: userData
682
+ )
683
+ addPredefinedParameters(event: &event, map: map)
684
+ return event
685
+ }
686
+
687
+ private func eventUnlockAchievementEvent(_ map: [String: Any?]?) -> UnlockAchievementEvent {
688
+ let (timeStamp, userData) = getUserDataAndTimeStamp(
689
+ map,
690
+ "affise_event_unlock_achievement_timestamp"
691
+ )
692
+ let achievement = getArrayOfData(map, "affise_event_unlock_achievement")
693
+
694
+ var event = UnlockAchievementEvent(
695
+ achievement: achievement,
696
+ timeStampMillis: timeStamp,
697
+ userData: userData
698
+ )
699
+ addPredefinedParameters(event: &event, map: map)
700
+ return event
701
+ }
702
+
703
+ private func eventUnsubscribeEvent(_ map: [String: Any?]?) -> UnsubscribeEvent {
704
+ let (timeStamp, userData) = getUserDataAndTimeStamp(
705
+ map,
706
+ "affise_event_unsubscribe_timestamp"
707
+ )
708
+ let unsubscribe = getArrayOfData(map, "affise_event_unsubscribe")
709
+
710
+ var event = UnsubscribeEvent(
711
+ unsubscribe: unsubscribe,
712
+ timeStampMillis: timeStamp,
713
+ userData: userData
714
+ )
715
+ addPredefinedParameters(event: &event, map: map)
716
+ return event
717
+ }
718
+
719
+ private func eventUpdateEvent(_ map: [String: Any?]?) -> UpdateEvent {
720
+ let userData = getUserData(map)
721
+ let details = getSerializeArrayOfAny(map, "affise_event_update")
722
+
723
+ var event = UpdateEvent(
724
+ details: details,
725
+ userData: userData
726
+ )
727
+ addPredefinedParameters(event: &event, map: map)
728
+ return event
729
+ }
730
+
731
+ private func eventViewAdvEvent(_ map: [String: Any?]?) -> ViewAdvEvent {
732
+ let (timeStamp, userData) = getUserDataAndTimeStamp(
733
+ map,
734
+ "affise_event_view_adv_timestamp"
735
+ )
736
+ let ad = getArrayOfData(map, "affise_event_view_adv")
737
+
738
+ var event = ViewAdvEvent(
739
+ ad: ad,
740
+ timeStampMillis: timeStamp,
741
+ userData: userData
742
+ )
743
+ addPredefinedParameters(event: &event, map: map)
744
+ return event
745
+ }
746
+
747
+ private func eventViewCartEvent(_ map: [String: Any?]?) -> ViewCartEvent {
748
+ let userData = getUserData(map)
749
+ let objects = getArrayOfData(map, "affise_event_view_cart")
750
+
751
+ var event = ViewCartEvent(
752
+ objects: objects,
753
+ userData: userData
754
+ )
755
+ addPredefinedParameters(event: &event, map: map)
756
+ return event
757
+ }
758
+
759
+ private func eventViewItemEvent(_ map: [String: Any?]?) -> ViewItemEvent {
760
+ let userData = getUserData(map)
761
+ let item = getArrayOfData(map, "affise_event_view_item")
762
+
763
+ var event = ViewItemEvent(
764
+ item: item,
765
+ userData: userData
766
+ )
767
+ addPredefinedParameters(event: &event, map: map)
768
+ return event
769
+ }
770
+
771
+ private func eventViewItemsEvent(_ map: [String: Any?]?) -> ViewItemsEvent {
772
+ let userData = getUserData(map)
773
+ let items = getSerializeArrayOfAny(map, "affise_event_view_items")
774
+
775
+ var event = ViewItemsEvent(
776
+ items: items,
777
+ userData: userData
778
+ )
779
+ addPredefinedParameters(event: &event, map: map)
780
+ return event
781
+ }
782
+ }