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.
- package/LICENSE +21 -0
- package/README.md +549 -0
- package/affise-attribution-native.podspec +37 -0
- package/android/build.gradle +87 -0
- package/android/gradle.properties +5 -0
- package/android/libs/attribution-release.aar +0 -0
- package/android/libs/oaid_sdk_1.0.26.aar +0 -0
- package/android/src/main/AndroidManifest.xml +4 -0
- package/android/src/main/java/com/affise/attribution/react/AffiseAttributionNativeModule.kt +147 -0
- package/android/src/main/java/com/affise/attribution/react/AffiseAttributionNativePackage.kt +17 -0
- package/android/src/main/java/com/affise/attribution/react/ext/AffiseInitPropertiesExt.kt +29 -0
- package/android/src/main/java/com/affise/attribution/react/ext/AutoCatchingTypeExt.kt +15 -0
- package/android/src/main/java/com/affise/attribution/react/ext/JSONObjectExt.kt +15 -0
- package/android/src/main/java/com/affise/attribution/react/ext/PredefinedParametersExt.kt +82 -0
- package/android/src/main/java/com/affise/attribution/react/ext/TouchTypeExt.kt +12 -0
- package/android/src/main/java/com/affise/attribution/react/factories/AffiseBaseEvensFactory.kt +97 -0
- package/android/src/main/java/com/affise/attribution/react/factories/AffiseEvensFactory.kt +781 -0
- package/android/src/main/java/com/affise/attribution/react/factories/AffiseSubtypeEventsFactory.kt +266 -0
- package/ios/AffiseAttributionNative-Bridging-Header.h +3 -0
- package/ios/AffiseAttributionNative.m +90 -0
- package/ios/AffiseAttributionNative.swift +148 -0
- package/ios/AffiseAttributionNative.xcodeproj/project.pbxproj +305 -0
- package/ios/extensions/AffiseInitPropertiesExt.swift +29 -0
- package/ios/extensions/PredefinedParametersExt.swift +83 -0
- package/ios/extensions/TouchTypeExt.swift +13 -0
- package/ios/factories/AffiseBaseEvensFactory.swift +110 -0
- package/ios/factories/AffiseEvensFactory.swift +782 -0
- package/ios/factories/AffiseSubtypeEventsFactory.swift +261 -0
- package/ios/log/Log.swift +19 -0
- package/ios/log/RCTSwiftLog.h +16 -0
- package/ios/log/RCTSwiftLog.m +32 -0
- package/package.json +162 -0
- package/src/AffiseInitProperties.ts +32 -0
- package/src/Export.ts +73 -0
- package/src/events/AutoCatchingType.ts +9 -0
- package/src/events/PredefinedParameters.ts +75 -0
- package/src/events/TouchType.ts +5 -0
- package/src/events/base/AffiseEvent.ts +60 -0
- package/src/events/base/NativeEvent.ts +9 -0
- package/src/events/custom/CustomId01Event.ts +21 -0
- package/src/events/custom/CustomId02Event.ts +21 -0
- package/src/events/custom/CustomId03Event.ts +21 -0
- package/src/events/custom/CustomId04Event.ts +21 -0
- package/src/events/custom/CustomId05Event.ts +21 -0
- package/src/events/custom/CustomId06Event.ts +21 -0
- package/src/events/custom/CustomId07Event.ts +21 -0
- package/src/events/custom/CustomId08Event.ts +21 -0
- package/src/events/custom/CustomId09Event.ts +21 -0
- package/src/events/custom/CustomId10Event.ts +21 -0
- package/src/events/predefined/AchieveLevelEvent.ts +14 -0
- package/src/events/predefined/AddPaymentInfoEvent.ts +14 -0
- package/src/events/predefined/AddToCartEvent.ts +14 -0
- package/src/events/predefined/AddToWishlistEvent.ts +14 -0
- package/src/events/predefined/ClickAdvEvent.ts +14 -0
- package/src/events/predefined/CompleteRegistrationEvent.ts +14 -0
- package/src/events/predefined/CompleteStreamEvent.ts +14 -0
- package/src/events/predefined/CompleteTrialEvent.ts +14 -0
- package/src/events/predefined/CompleteTutorialEvent.ts +14 -0
- package/src/events/predefined/ContentItemsViewEvent.ts +13 -0
- package/src/events/predefined/DeepLinkedEvent.ts +13 -0
- package/src/events/predefined/InitiatePurchaseEvent.ts +14 -0
- package/src/events/predefined/InitiateStreamEvent.ts +14 -0
- package/src/events/predefined/InviteEvent.ts +14 -0
- package/src/events/predefined/LastAttributedTouchEvent.ts +15 -0
- package/src/events/predefined/ListViewEvent.ts +13 -0
- package/src/events/predefined/LoginEvent.ts +14 -0
- package/src/events/predefined/OpenedFromPushNotificationEvent.ts +13 -0
- package/src/events/predefined/PurchaseEvent.ts +14 -0
- package/src/events/predefined/RateEvent.ts +14 -0
- package/src/events/predefined/ReEngageEvent.ts +13 -0
- package/src/events/predefined/ReserveEvent.ts +14 -0
- package/src/events/predefined/SearchEvent.ts +14 -0
- package/src/events/predefined/ShareEvent.ts +14 -0
- package/src/events/predefined/SpendCreditsEvent.ts +14 -0
- package/src/events/predefined/StartRegistrationEvent.ts +14 -0
- package/src/events/predefined/StartTrialEvent.ts +14 -0
- package/src/events/predefined/StartTutorialEvent.ts +14 -0
- package/src/events/predefined/SubscribeEvent.ts +14 -0
- package/src/events/predefined/TravelBookingEvent.ts +13 -0
- package/src/events/predefined/UnlockAchievementEvent.ts +14 -0
- package/src/events/predefined/UnsubscribeEvent.ts +14 -0
- package/src/events/predefined/UpdateEvent.ts +13 -0
- package/src/events/predefined/ViewAdvEvent.ts +14 -0
- package/src/events/predefined/ViewCartEvent.ts +13 -0
- package/src/events/predefined/ViewItemEvent.ts +13 -0
- package/src/events/predefined/ViewItemsEvent.ts +13 -0
- package/src/events/subscription/BaseSubscriptionEvent.ts +32 -0
- package/src/events/subscription/ConvertedOfferEvent.ts +13 -0
- package/src/events/subscription/ConvertedOfferFromRetryEvent.ts +14 -0
- package/src/events/subscription/ConvertedTrialEvent.ts +13 -0
- package/src/events/subscription/ConvertedTrialFromRetryEvent.ts +13 -0
- package/src/events/subscription/FailedOfferFromRetryEvent.ts +13 -0
- package/src/events/subscription/FailedOfferiseEvent.ts +13 -0
- package/src/events/subscription/FailedSubscriptionEvent.ts +13 -0
- package/src/events/subscription/FailedSubscriptionFromRetryEvent.ts +13 -0
- package/src/events/subscription/FailedTrialEvent.ts +13 -0
- package/src/events/subscription/FailedTrialFromRetryEvent.ts +13 -0
- package/src/events/subscription/InitialOfferEvent.ts +13 -0
- package/src/events/subscription/InitialSubscriptionEvent.ts +13 -0
- package/src/events/subscription/InitialTrialEvent.ts +13 -0
- package/src/events/subscription/OfferInRetryEvent.ts +13 -0
- package/src/events/subscription/ReactivatedSubscriptionEvent.ts +13 -0
- package/src/events/subscription/RenewedSubscriptionEvent.ts +13 -0
- package/src/events/subscription/RenewedSubscriptionFromRetryEvent.ts +13 -0
- package/src/events/subscription/SubscriptionInRetryEvent.ts +13 -0
- package/src/events/subscription/SubscriptionParameters.ts +36 -0
- package/src/events/subscription/TrialInRetryEvent.ts +13 -0
- package/src/index.tsx +172 -0
package/android/src/main/java/com/affise/attribution/react/factories/AffiseSubtypeEventsFactory.kt
ADDED
|
@@ -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,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
|
+
}
|