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,266 @@
1
+ package com.affise.attribution.react.factories
2
+
3
+ import com.affise.attribution.events.Event
4
+ import com.affise.attribution.events.subscription.*
5
+ import com.affise.attribution.react.ext.toJSONObject
6
+ import org.json.JSONObject
7
+
8
+ class AffiseSubtypeEventsFactory : AffiseBaseEvensFactory() {
9
+
10
+ override fun event(map: Map<*, *>?): Event? {
11
+ return when (map?.get(KEY_SUBTYPE)) {
12
+ SubscriptionParameters.AFFISE_SUB_INITIAL_SUBSCRIPTION -> eventInitialSubscriptionEvent(map)
13
+ SubscriptionParameters.AFFISE_SUB_INITIAL_TRIAL -> eventInitialTrialEvent(map)
14
+ SubscriptionParameters.AFFISE_SUB_INITIAL_OFFER -> eventInitialOfferEvent(map)
15
+ SubscriptionParameters.AFFISE_SUB_FAILED_TRIAL -> eventFailedTrialEvent(map)
16
+ SubscriptionParameters.AFFISE_SUB_FAILED_OFFERISE -> eventFailedOfferiseEvent(map)
17
+ SubscriptionParameters.AFFISE_SUB_FAILED_SUBSCRIPTION -> eventFailedSubscriptionEvent(map)
18
+ SubscriptionParameters.AFFISE_SUB_FAILED_TRIAL_FROM_RETRY -> eventFailedTrialFromRetryEvent(map)
19
+ SubscriptionParameters.AFFISE_SUB_FAILED_OFFER_FROM_RETRY -> eventFailedOfferFromRetryEvent(map)
20
+ SubscriptionParameters.AFFISE_SUB_FAILED_SUBSCRIPTION_FROM_RETRY -> eventFailedSubscriptionFromRetryEvent(map)
21
+ SubscriptionParameters.AFFISE_SUB_TRIAL_IN_RETRY -> eventTrialInRetryEvent(map)
22
+ SubscriptionParameters.AFFISE_SUB_OFFER_IN_RETRY -> eventOfferInRetryEvent(map)
23
+ SubscriptionParameters.AFFISE_SUB_SUBSCRIPTION_IN_RETRY -> eventSubscriptionInRetryEvent(map)
24
+ SubscriptionParameters.AFFISE_SUB_CONVERTED_TRIAL -> eventConvertedTrialEvent(map)
25
+ SubscriptionParameters.AFFISE_SUB_CONVERTED_OFFER -> eventConvertedOfferEvent(map)
26
+ SubscriptionParameters.AFFISE_SUB_REACTIVATED_SUBSCRIPTION -> eventReactivatedSubscriptionEvent(map)
27
+ SubscriptionParameters.AFFISE_SUB_RENEWED_SUBSCRIPTION -> eventRenewedSubscriptionEvent(map)
28
+ SubscriptionParameters.AFFISE_SUB_CONVERTED_TRIAL_FROM_RETRY -> eventConvertedTrialFromRetryEvent(map)
29
+ SubscriptionParameters.AFFISE_SUB_CONVERTED_OFFER_FROM_RETRY -> eventConvertedOfferFromRetryEvent(map)
30
+ SubscriptionParameters.AFFISE_SUB_RENEWED_SUBSCRIPTION_FROM_RETRY -> eventRenewedSubscriptionFromRetryEvent(map)
31
+ else -> null
32
+ }
33
+ }
34
+
35
+ private fun getDataJSONObject(map: Map<*, *>): JSONObject {
36
+ return (map[KEY_DATA] as? Map<*, *>)?.toJSONObject() ?: JSONObject()
37
+ }
38
+
39
+ private fun eventInitialSubscriptionEvent(map: Map<*, *>): InitialSubscriptionEvent {
40
+ val userData = getUserData(map)
41
+ val data = getDataJSONObject(map)
42
+
43
+ return InitialSubscriptionEvent(
44
+ data,
45
+ userData,
46
+ ).apply {
47
+ addPredefinedParameters(this, map)
48
+ }
49
+ }
50
+
51
+ private fun eventInitialTrialEvent(map: Map<*, *>): InitialTrialEvent {
52
+ val userData = getUserData(map)
53
+ val data = getDataJSONObject(map)
54
+
55
+ return InitialTrialEvent(
56
+ data,
57
+ userData,
58
+ ).apply {
59
+ addPredefinedParameters(this, map)
60
+ }
61
+ }
62
+
63
+ private fun eventInitialOfferEvent(map: Map<*, *>): InitialOfferEvent {
64
+ val userData = getUserData(map)
65
+ val data = getDataJSONObject(map)
66
+
67
+ return InitialOfferEvent(
68
+ data,
69
+ userData,
70
+ ).apply {
71
+ addPredefinedParameters(this, map)
72
+ }
73
+ }
74
+
75
+ private fun eventFailedTrialEvent(map: Map<*, *>): FailedTrialEvent {
76
+ val userData = getUserData(map)
77
+ val data = getDataJSONObject(map)
78
+
79
+ return FailedTrialEvent(
80
+ data,
81
+ userData,
82
+ ).apply {
83
+ addPredefinedParameters(this, map)
84
+ }
85
+ }
86
+
87
+ private fun eventFailedOfferiseEvent(map: Map<*, *>): FailedOfferiseEvent {
88
+ val userData = getUserData(map)
89
+ val data = getDataJSONObject(map)
90
+
91
+ return FailedOfferiseEvent(
92
+ data,
93
+ userData,
94
+ ).apply {
95
+ addPredefinedParameters(this, map)
96
+ }
97
+ }
98
+
99
+ private fun eventFailedSubscriptionEvent(map: Map<*, *>): FailedSubscriptionEvent {
100
+ val userData = getUserData(map)
101
+ val data = getDataJSONObject(map)
102
+
103
+ return FailedSubscriptionEvent(
104
+ data,
105
+ userData,
106
+ ).apply {
107
+ addPredefinedParameters(this, map)
108
+ }
109
+ }
110
+
111
+ private fun eventFailedTrialFromRetryEvent(map: Map<*, *>): FailedTrialFromRetryEvent {
112
+ val userData = getUserData(map)
113
+ val data = getDataJSONObject(map)
114
+
115
+ return FailedTrialFromRetryEvent(
116
+ data,
117
+ userData,
118
+ ).apply {
119
+ addPredefinedParameters(this, map)
120
+ }
121
+ }
122
+
123
+ private fun eventFailedOfferFromRetryEvent(map: Map<*, *>): FailedOfferFromRetryEvent {
124
+ val userData = getUserData(map)
125
+ val data = getDataJSONObject(map)
126
+
127
+ return FailedOfferFromRetryEvent(
128
+ data,
129
+ userData,
130
+ ).apply {
131
+ addPredefinedParameters(this, map)
132
+ }
133
+ }
134
+
135
+ private fun eventFailedSubscriptionFromRetryEvent(map: Map<*, *>): FailedSubscriptionFromRetryEvent {
136
+ val userData = getUserData(map)
137
+ val data = getDataJSONObject(map)
138
+
139
+ return FailedSubscriptionFromRetryEvent(
140
+ data,
141
+ userData,
142
+ ).apply {
143
+ addPredefinedParameters(this, map)
144
+ }
145
+ }
146
+
147
+ private fun eventTrialInRetryEvent(map: Map<*, *>): TrialInRetryEvent {
148
+ val userData = getUserData(map)
149
+ val data = getDataJSONObject(map)
150
+
151
+ return TrialInRetryEvent(
152
+ data,
153
+ userData,
154
+ ).apply {
155
+ addPredefinedParameters(this, map)
156
+ }
157
+ }
158
+
159
+ private fun eventOfferInRetryEvent(map: Map<*, *>): OfferInRetryEvent {
160
+ val userData = getUserData(map)
161
+ val data = getDataJSONObject(map)
162
+
163
+ return OfferInRetryEvent(
164
+ data,
165
+ userData,
166
+ ).apply {
167
+ addPredefinedParameters(this, map)
168
+ }
169
+ }
170
+
171
+ private fun eventSubscriptionInRetryEvent(map: Map<*, *>): SubscriptionInRetryEvent {
172
+ val userData = getUserData(map)
173
+ val data = getDataJSONObject(map)
174
+
175
+ return SubscriptionInRetryEvent(
176
+ data,
177
+ userData,
178
+ ).apply {
179
+ addPredefinedParameters(this, map)
180
+ }
181
+ }
182
+
183
+ private fun eventConvertedTrialEvent(map: Map<*, *>): ConvertedTrialEvent {
184
+ val userData = getUserData(map)
185
+ val data = getDataJSONObject(map)
186
+
187
+ return ConvertedTrialEvent(
188
+ data,
189
+ userData,
190
+ ).apply {
191
+ addPredefinedParameters(this, map)
192
+ }
193
+ }
194
+
195
+ private fun eventConvertedOfferEvent(map: Map<*, *>): ConvertedOfferEvent {
196
+ val userData = getUserData(map)
197
+ val data = getDataJSONObject(map)
198
+
199
+ return ConvertedOfferEvent(
200
+ data,
201
+ userData,
202
+ ).apply {
203
+ addPredefinedParameters(this, map)
204
+ }
205
+ }
206
+
207
+ private fun eventReactivatedSubscriptionEvent(map: Map<*, *>): ReactivatedSubscriptionEvent {
208
+ val userData = getUserData(map)
209
+ val data = getDataJSONObject(map)
210
+
211
+ return ReactivatedSubscriptionEvent(
212
+ data,
213
+ userData,
214
+ ).apply {
215
+ addPredefinedParameters(this, map)
216
+ }
217
+ }
218
+
219
+ private fun eventRenewedSubscriptionEvent(map: Map<*, *>): RenewedSubscriptionEvent {
220
+ val userData = getUserData(map)
221
+ val data = getDataJSONObject(map)
222
+
223
+ return RenewedSubscriptionEvent(
224
+ data,
225
+ userData,
226
+ ).apply {
227
+ addPredefinedParameters(this, map)
228
+ }
229
+ }
230
+
231
+ private fun eventConvertedTrialFromRetryEvent(map: Map<*, *>): ConvertedTrialFromRetryEvent {
232
+ val userData = getUserData(map)
233
+ val data = getDataJSONObject(map)
234
+
235
+ return ConvertedTrialFromRetryEvent(
236
+ data,
237
+ userData,
238
+ ).apply {
239
+ addPredefinedParameters(this, map)
240
+ }
241
+ }
242
+
243
+ private fun eventConvertedOfferFromRetryEvent(map: Map<*, *>): ConvertedOfferFromRetryEvent {
244
+ val userData = getUserData(map)
245
+ val data = getDataJSONObject(map)
246
+
247
+ return ConvertedOfferFromRetryEvent(
248
+ data,
249
+ userData,
250
+ ).apply {
251
+ addPredefinedParameters(this, map)
252
+ }
253
+ }
254
+
255
+ private fun eventRenewedSubscriptionFromRetryEvent(map: Map<*, *>): RenewedSubscriptionFromRetryEvent {
256
+ val userData = getUserData(map)
257
+ val data = getDataJSONObject(map)
258
+
259
+ return RenewedSubscriptionFromRetryEvent(
260
+ data,
261
+ userData,
262
+ ).apply {
263
+ addPredefinedParameters(this, map)
264
+ }
265
+ }
266
+ }
@@ -0,0 +1,3 @@
1
+ #import <React/RCTBridgeModule.h>
2
+ #import <React/RCTViewManager.h>
3
+ #import <React/RCTEventEmitter.h>
@@ -0,0 +1,90 @@
1
+ #import <React/RCTBridgeModule.h>
2
+ #import <React/RCTEventEmitter.h>
3
+
4
+ @interface RCT_EXTERN_MODULE(AffiseAttributionNative, RCTEventEmitter)
5
+
6
+ RCT_EXTERN_METHOD(
7
+ nativeInit: (NSDictionary)initProperties
8
+ )
9
+
10
+ RCT_EXTERN_METHOD(
11
+ nativeSendEvent: (NSDictionary)event
12
+ )
13
+
14
+ RCT_EXTERN_METHOD(
15
+ nativeSendEvents
16
+ )
17
+
18
+ RCT_EXTERN_METHOD(
19
+ nativeAddPushToken: (NSString)pushToken
20
+ )
21
+
22
+ RCT_EXTERN_METHOD(
23
+ nativeRegisterWebView
24
+ )
25
+
26
+ RCT_EXTERN_METHOD(
27
+ nativeUnregisterWebView
28
+ )
29
+
30
+ RCT_EXTERN_METHOD(
31
+ nativeRegisterDeeplinkCallback
32
+ )
33
+
34
+ RCT_EXTERN_METHOD(
35
+ nativeSetSecretId: (NSString)secretId
36
+ )
37
+
38
+ RCT_EXTERN_METHOD(
39
+ nativeSetAutoCatchingTypes: (NSArray)types
40
+ )
41
+
42
+ RCT_EXTERN_METHOD(
43
+ nativeSetOfflineModeEnabled: (BOOL)enabled
44
+ )
45
+
46
+ RCT_EXTERN_METHOD(
47
+ nativeIsOfflineModeEnabled:
48
+ (RCTPromiseResolveBlock)resolve
49
+ withRejecter: (RCTPromiseRejectBlock)reject
50
+ )
51
+
52
+ RCT_EXTERN_METHOD(
53
+ nativeSetBackgroundTrackingEnabled: (BOOL)enabled
54
+ )
55
+
56
+ RCT_EXTERN_METHOD(
57
+ nativeIsBackgroundTrackingEnabled:
58
+ (RCTPromiseResolveBlock)resolve
59
+ withRejecter: (RCTPromiseRejectBlock)reject
60
+ )
61
+
62
+ RCT_EXTERN_METHOD(
63
+ nativeSetTrackingEnabled: (BOOL)enabled
64
+ )
65
+
66
+ RCT_EXTERN_METHOD(
67
+ nativeIsTrackingEnabled:
68
+ (RCTPromiseResolveBlock)resolve
69
+ withRejecter: (RCTPromiseRejectBlock)reject
70
+ )
71
+
72
+ RCT_EXTERN_METHOD(
73
+ nativeForget: (NSString)userData
74
+ )
75
+
76
+ RCT_EXTERN_METHOD(
77
+ nativeSetEnabledMetrics: (BOOL)enabled
78
+ )
79
+
80
+ RCT_EXTERN_METHOD(
81
+ nativeCrashApplication
82
+ )
83
+
84
+ RCT_EXTERN_METHOD(
85
+ nativeGetReferrer:
86
+ (RCTPromiseResolveBlock)resolve
87
+ withRejecter: (RCTPromiseRejectBlock)reject
88
+ )
89
+
90
+ @end
@@ -0,0 +1,148 @@
1
+ import AffiseAttributionLib
2
+ import React
3
+
4
+
5
+ @objc(AffiseAttributionNative)
6
+ class AffiseAttributionNative: RCTEventEmitter {
7
+
8
+ static private let DEEPLINK_CALLBACK_EVENT = "affiseDeeplinkEvent"
9
+ static private let DEEPLINK_CALLBACK_URI_PARAMETER = "uri"
10
+
11
+ var app: UIApplication? = nil
12
+ var launchOptions: [UIApplication.LaunchOptionsKey: Any]?
13
+
14
+ private let evensFactory: AffiseEvensFactory = AffiseEvensFactory()
15
+
16
+ @objc
17
+ override static func requiresMainQueueSetup() -> Bool{
18
+ return true;
19
+ }
20
+
21
+ @objc
22
+ override func constantsToExport() -> [AnyHashable: Any]!{
23
+ return [:];
24
+ }
25
+
26
+ override func supportedEvents() -> [String]! {
27
+ return [AffiseAttributionNative.DEEPLINK_CALLBACK_EVENT];
28
+ }
29
+
30
+ @objc(nativeInit:)
31
+ public func nativeInit(initProperties: NSDictionary) -> Void {
32
+ app = UIApplication.shared
33
+ launchOptions = bridge.launchOptions as? [UIApplication.LaunchOptionsKey: Any]
34
+ if app == nil {
35
+ RCTLogWarn("Affise init UIApplication not found")
36
+ return
37
+ }
38
+ if let properties = (initProperties as? [String: Any?])?.toAffiseInitProperties {
39
+ Affise.shared.load(app: app!, initProperties: properties, launchOptions: launchOptions)
40
+ } else {
41
+ RCTLogWarn("Affise init properties parse \(initProperties)")
42
+ }
43
+ }
44
+
45
+ @objc(nativeSendEvent:)
46
+ public func nativeSendEvent(event: NSDictionary) -> Void {
47
+ if let event = evensFactory.event(event as? [String: Any?]) {
48
+ Affise.shared.sendEvent(event: event)
49
+ } else {
50
+
51
+ }
52
+ }
53
+
54
+ @objc
55
+ public func nativeSendEvents() -> Void {
56
+ Affise.shared.sendEvents()
57
+ }
58
+
59
+ @objc(nativeAddPushToken:)
60
+ public func nativeAddPushToken(pushToken: NSString) -> Void {
61
+ Affise.shared.addPushToken(pushToken: pushToken as String)
62
+ }
63
+
64
+ @objc
65
+ public func nativeRegisterWebView() -> Void {
66
+ // Affise.shared.registerWebView(webView)
67
+ RCTLogInfo("NotImplemented")
68
+ }
69
+
70
+ @objc
71
+ public func nativeUnregisterWebView() -> Void {
72
+ // Affise.shared.unregisterWebView()
73
+ RCTLogInfo("NotImplemented")
74
+ }
75
+
76
+ @objc
77
+ public func nativeRegisterDeeplinkCallback() -> Void {
78
+ RCTLogWarn("!> nativeRegisterDeeplinkCallback")
79
+ Affise.shared.registerDeeplinkCallback {url in
80
+ self.sendEvent(
81
+ withName: AffiseAttributionNative.DEEPLINK_CALLBACK_EVENT,
82
+ body: [
83
+ AffiseAttributionNative.DEEPLINK_CALLBACK_URI_PARAMETER: url.absoluteString
84
+ ]
85
+ )
86
+ }
87
+ }
88
+
89
+ @objc(nativeSetSecretId:)
90
+ public func nativeSetSecretId(secretId: NSString) -> Void {
91
+ Affise.shared.setSecretId(secretId: secretId as String)
92
+ }
93
+
94
+ @objc(nativeSetAutoCatchingTypes:)
95
+ public func nativeSetAutoCatchingTypes(types: NSArray) -> Void {
96
+ RCTLogInfo("NotImplemented")
97
+ }
98
+
99
+ @objc(nativeSetOfflineModeEnabled:)
100
+ public func nativeSetOfflineModeEnabled(enabled: Bool) -> Void {
101
+ Affise.shared.setOfflineModeEnabled(enabled: enabled)
102
+ }
103
+
104
+ @objc(nativeIsOfflineModeEnabled:withRejecter:)
105
+ public func nativeIsOfflineModeEnabled(resolve:RCTPromiseResolveBlock, reject:RCTPromiseRejectBlock) -> Void {
106
+ resolve(Affise.shared.isOfflineModeEnabled())
107
+ }
108
+
109
+ @objc(nativeSetBackgroundTrackingEnabled:)
110
+ public func nativeSetBackgroundTrackingEnabled(enabled: Bool) -> Void {
111
+ Affise.shared.setBackgroundTrackingEnabled(enabled: enabled)
112
+ }
113
+
114
+ @objc(nativeIsBackgroundTrackingEnabled:withRejecter:)
115
+ public func nativeIsBackgroundTrackingEnabled(resolve:RCTPromiseResolveBlock, reject:RCTPromiseRejectBlock) -> Void {
116
+ resolve(Affise.shared.isBackgroundTrackingEnabled())
117
+ }
118
+
119
+ @objc(nativeSetTrackingEnabled:)
120
+ public func nativeSetTrackingEnabled(enabled: Bool) -> Void {
121
+ Affise.shared.setTrackingEnabled(enabled: enabled)
122
+ }
123
+
124
+ @objc(nativeIsTrackingEnabled:withRejecter:)
125
+ public func nativeIsTrackingEnabled(resolve:RCTPromiseResolveBlock, reject:RCTPromiseRejectBlock) -> Void {
126
+ resolve(Affise.shared.isTrackingEnabled())
127
+ }
128
+
129
+ @objc(nativeForget:)
130
+ public func nativeForget(userData: NSString) -> Void {
131
+ RCTLogInfo("NotImplemented")
132
+ }
133
+
134
+ @objc(nativeSetEnabledMetrics:)
135
+ public func nativeSetEnabledMetrics(enabled: Bool) -> Void {
136
+ RCTLogInfo("NotImplemented")
137
+ }
138
+
139
+ @objc
140
+ public func nativeCrashApplication() -> Void {
141
+ RCTLogInfo("NotImplemented")
142
+ }
143
+
144
+ @objc(nativeGetReferrer:withRejecter:)
145
+ public func nativeGetReferrer(resolve:RCTPromiseResolveBlock, reject:RCTPromiseRejectBlock) -> Void {
146
+ RCTLogInfo("NotImplemented")
147
+ }
148
+ }