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/src/index.tsx
ADDED
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
import {EmitterSubscription, NativeEventEmitter, NativeModules, Platform} from 'react-native';
|
|
2
|
+
import type {AffiseInitProperties, AutoCatchingType, AffiseEvent} from "./Export";
|
|
3
|
+
|
|
4
|
+
export * from "./Export";
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
const LINKING_ERROR =
|
|
8
|
+
`The package 'affise-attribution-lib' doesn't seem to be linked. Make sure: \n\n` +
|
|
9
|
+
Platform.select({ios: "- You have run 'pod install'\n", default: ''}) +
|
|
10
|
+
'- You rebuilt the app after installing the package\n' +
|
|
11
|
+
'- You are not using Expo Go\n';
|
|
12
|
+
|
|
13
|
+
const AffiseNative = NativeModules.AffiseAttributionNative
|
|
14
|
+
? NativeModules.AffiseAttributionNative
|
|
15
|
+
: new Proxy(
|
|
16
|
+
{},
|
|
17
|
+
{
|
|
18
|
+
get() {
|
|
19
|
+
throw new Error(LINKING_ERROR);
|
|
20
|
+
},
|
|
21
|
+
}
|
|
22
|
+
);
|
|
23
|
+
|
|
24
|
+
const DEEPLINK_CALLBACK_EVENT = "affiseDeeplinkEvent";
|
|
25
|
+
const DEEPLINK_CALLBACK_URI_PARAMETER = "uri";
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Entry point to initialise Affise Attribution library
|
|
29
|
+
*/
|
|
30
|
+
export class Affise {
|
|
31
|
+
private static eventListener?: EmitterSubscription;
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* @param initProperties
|
|
35
|
+
*/
|
|
36
|
+
static init(
|
|
37
|
+
initProperties: AffiseInitProperties
|
|
38
|
+
) {
|
|
39
|
+
AffiseNative.nativeInit(initProperties);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Send events
|
|
44
|
+
*/
|
|
45
|
+
static sendEvents() {
|
|
46
|
+
AffiseNative.nativeSendEvents();
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Store and send [event]
|
|
51
|
+
*/
|
|
52
|
+
static sendEvent(event: AffiseEvent) {
|
|
53
|
+
AffiseNative.nativeSendEvent(event);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Add [pushToken]
|
|
58
|
+
*/
|
|
59
|
+
static addPushToken(pushToken: string) {
|
|
60
|
+
AffiseNative.nativeAddPushToken(pushToken);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Register [callback] for deeplink
|
|
65
|
+
*/
|
|
66
|
+
static registerDeeplinkCallback(callback: (uri: string) => void) {
|
|
67
|
+
this.unregisterDeeplinkCallback();
|
|
68
|
+
const eventEmitter = new NativeEventEmitter(AffiseNative);
|
|
69
|
+
this.eventListener = eventEmitter.addListener(DEEPLINK_CALLBACK_EVENT, (event) => {
|
|
70
|
+
callback(event[DEEPLINK_CALLBACK_URI_PARAMETER]);
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
AffiseNative.nativeRegisterDeeplinkCallback();
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
static unregisterDeeplinkCallback() {
|
|
77
|
+
this.eventListener?.remove();
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Set new secretId
|
|
82
|
+
*/
|
|
83
|
+
static setSecretId(secretId: string) {
|
|
84
|
+
AffiseNative.nativeSetSecretId(secretId);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Send enabled autoCatching types
|
|
89
|
+
*/
|
|
90
|
+
|
|
91
|
+
static setAutoCatchingTypes(types: AutoCatchingType[]) {
|
|
92
|
+
AffiseNative.nativeSetAutoCatchingTypes(types);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Sets offline mode to [enabled] state
|
|
97
|
+
*
|
|
98
|
+
* When enabled, no network activity should be triggered by this library,
|
|
99
|
+
* but background work is not paused. When offline mode is enabled,
|
|
100
|
+
* all recorded events should be sent
|
|
101
|
+
*/
|
|
102
|
+
static setOfflineModeEnabled(enabled: boolean) {
|
|
103
|
+
AffiseNative.nativeSetOfflineModeEnabled(enabled);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* Returns current offline mode state
|
|
108
|
+
*/
|
|
109
|
+
static isOfflineModeEnabled(): Promise<boolean> {
|
|
110
|
+
return AffiseNative.nativeIsOfflineModeEnabled();
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* Sets background tracking mode to [enabled] state
|
|
115
|
+
*
|
|
116
|
+
* When disabled, library should not generate any tracking events while in background
|
|
117
|
+
*/
|
|
118
|
+
static setBackgroundTrackingEnabled(enabled: boolean) {
|
|
119
|
+
AffiseNative.nativeSetBackgroundTrackingEnabled(enabled);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* Returns current background tracking state
|
|
124
|
+
*/
|
|
125
|
+
static isBackgroundTrackingEnabled(): Promise<boolean> {
|
|
126
|
+
return AffiseNative.nativeIsBackgroundTrackingEnabled();
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* Sets offline mode to [enabled] state
|
|
131
|
+
*
|
|
132
|
+
* When disabled, library should not generate any tracking events
|
|
133
|
+
*/
|
|
134
|
+
static setTrackingEnabled(enabled: boolean) {
|
|
135
|
+
AffiseNative.nativeSetTrackingEnabled(enabled);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* Returns current tracking state
|
|
140
|
+
*/
|
|
141
|
+
static isTrackingEnabled(): Promise<boolean> {
|
|
142
|
+
return AffiseNative.nativeIsTrackingEnabled();
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* Erases all user data from mobile and sends [GDPREvent]
|
|
147
|
+
*/
|
|
148
|
+
static forget(userData: string) {
|
|
149
|
+
AffiseNative.nativeForget(userData);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* Set [enabled] collect metrics
|
|
154
|
+
*
|
|
155
|
+
* When disabled, library should not generate any metrics events,
|
|
156
|
+
* but will send the saved metrics events
|
|
157
|
+
*/
|
|
158
|
+
static setEnabledMetrics(enabled: boolean) {
|
|
159
|
+
AffiseNative.nativeSetEnabledMetrics(enabled);
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
static crashApplication() {
|
|
163
|
+
AffiseNative.nativeCrashApplication();
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
/**
|
|
167
|
+
* Get referrer
|
|
168
|
+
*/
|
|
169
|
+
static getReferrer(): Promise<string> {
|
|
170
|
+
return AffiseNative.nativeGetReferrer();
|
|
171
|
+
}
|
|
172
|
+
}
|