affise-attribution-lib 1.0.8 → 1.1.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/README.md +47 -8
- package/affise-attribution-native.podspec +1 -1
- package/android/build.gradle +1 -1
- package/android/src/main/java/com/affise/attribution/react/AffiseAttributionNativeModule.kt +17 -6
- package/ios/AffiseAttributionNative.m +3 -0
- package/ios/AffiseAttributionNative.swift +44 -31
- package/lib/commonjs/index.js +10 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/index.js +11 -1
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/index.d.ts +2 -0
- package/lib/typescript/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/index.tsx +13 -1
package/README.md
CHANGED
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
- [APK preinstall tracking](#apk-preinstall-tracking)
|
|
24
24
|
- [Deeplinks](#deeplinks)
|
|
25
25
|
- [Android](#android-1)
|
|
26
|
+
- [iOS](#ios-1)
|
|
26
27
|
- [Offline mode](#offline-mode)
|
|
27
28
|
- [Disable tracking](#disable-tracking)
|
|
28
29
|
- [Disable background tracking](#disable-background-tracking)
|
|
@@ -433,9 +434,10 @@ To use this feature, create file with name `partner_key` in your app assets dire
|
|
|
433
434
|
|
|
434
435
|
### Deeplinks
|
|
435
436
|
|
|
436
|
-
|
|
437
|
+
Register deeplink callback right after Affise.init(..)
|
|
437
438
|
|
|
438
439
|
```typescript
|
|
440
|
+
Affise.init(..);
|
|
439
441
|
Affise.registerDeeplinkCallback((uri) => {
|
|
440
442
|
|
|
441
443
|
});
|
|
@@ -443,20 +445,57 @@ Affise.registerDeeplinkCallback((uri) => {
|
|
|
443
445
|
|
|
444
446
|
#### Android
|
|
445
447
|
|
|
446
|
-
To integrate
|
|
448
|
+
To integrate deeplink support in android you need:
|
|
447
449
|
|
|
448
|
-
|
|
450
|
+
Add intent filter to `AndroidManifest.xml` as in `example/android/app/src/main/AndroidManifest.xml`,
|
|
449
451
|
|
|
450
452
|
```xml
|
|
451
453
|
<intent-filter android:autoVerify="true">
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
454
|
+
<action android:name="android.intent.action.VIEW" />
|
|
455
|
+
|
|
456
|
+
<category android:name="android.intent.category.DEFAULT" />
|
|
457
|
+
<category android:name="android.intent.category.BROWSABLE" />
|
|
458
|
+
|
|
459
|
+
<data
|
|
460
|
+
android:host="YOUR_AFFISE_APP_ID.affattr.com"
|
|
461
|
+
android:scheme="react" />
|
|
457
462
|
</intent-filter>
|
|
458
463
|
```
|
|
459
464
|
|
|
465
|
+
#### iOS
|
|
466
|
+
|
|
467
|
+
To integrate deeplink support in iOS you need:
|
|
468
|
+
|
|
469
|
+
Add deeplink handler to `AppDelegate.mm` as in `example/ios/AffiseAttributionLibExample/AppDelegate.mm`
|
|
470
|
+
- [React Docs](https://reactnavigation.org/docs/deep-linking/#set-up-with-bare-react-native-projects)
|
|
471
|
+
|
|
472
|
+
```objective-c
|
|
473
|
+
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url
|
|
474
|
+
sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
|
|
475
|
+
{
|
|
476
|
+
return [RCTLinkingManager application:application openURL:url
|
|
477
|
+
sourceApplication:sourceApplication annotation:annotation];
|
|
478
|
+
}
|
|
479
|
+
```
|
|
480
|
+
|
|
481
|
+
Add key `CFBundleURLTypes` to `Info.plist` as in `example/ios/AffiseAttributionLibExample/Info.plist`
|
|
482
|
+
|
|
483
|
+
```html
|
|
484
|
+
<key>CFBundleURLTypes</key>
|
|
485
|
+
<array>
|
|
486
|
+
<dict>
|
|
487
|
+
<key>CFBundleTypeRole</key>
|
|
488
|
+
<string>Editor</string>
|
|
489
|
+
<key>CFBundleURLName</key>
|
|
490
|
+
<string>YOUR_AFFISE_APP_ID.affattr.com</string>
|
|
491
|
+
<key>CFBundleURLSchemes</key>
|
|
492
|
+
<array>
|
|
493
|
+
<string>react</string>
|
|
494
|
+
</array>
|
|
495
|
+
</dict>
|
|
496
|
+
</array>
|
|
497
|
+
```
|
|
498
|
+
|
|
460
499
|
### Offline mode
|
|
461
500
|
|
|
462
501
|
In some scenarious you would want to limit Affise network usage, to pause that activity call anywhere in your application following code after Affise init:
|
|
@@ -17,7 +17,7 @@ Pod::Spec.new do |s|
|
|
|
17
17
|
s.source_files = "ios/**/*.{h,m,mm,swift}"
|
|
18
18
|
|
|
19
19
|
s.dependency "React-Core"
|
|
20
|
-
s.dependency 'AffiseAttributionLib', '~> 1.0
|
|
20
|
+
s.dependency 'AffiseAttributionLib', '~> 1.1.0'
|
|
21
21
|
|
|
22
22
|
# Don't install the dependencies when we run `pod install` in the old architecture.
|
|
23
23
|
if ENV['RCT_NEW_ARCH_ENABLED'] == '1' then
|
package/android/build.gradle
CHANGED
|
@@ -73,7 +73,7 @@ dependencies {
|
|
|
73
73
|
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
|
|
74
74
|
|
|
75
75
|
implementation "com.android.installreferrer:installreferrer:2.2"
|
|
76
|
-
implementation "com.affise:attribution:1.
|
|
76
|
+
implementation "com.affise:attribution:1.5.0"
|
|
77
77
|
}
|
|
78
78
|
|
|
79
79
|
if (isNewArchitectureEnabled()) {
|
|
@@ -22,9 +22,9 @@ class AffiseAttributionNativeModule(
|
|
|
22
22
|
.emit(eventName, params)
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
private fun sendDeeplinkEvent(uri:
|
|
25
|
+
private fun sendDeeplinkEvent(uri: String) {
|
|
26
26
|
sendEvent(reactContext, DEEPLINK_CALLBACK_EVENT, Arguments.createMap().apply {
|
|
27
|
-
putString(DEEPLINK_CALLBACK_URI_PARAMETER, uri
|
|
27
|
+
putString(DEEPLINK_CALLBACK_URI_PARAMETER, uri)
|
|
28
28
|
})
|
|
29
29
|
}
|
|
30
30
|
|
|
@@ -35,7 +35,9 @@ class AffiseAttributionNativeModule(
|
|
|
35
35
|
@ReactMethod
|
|
36
36
|
fun nativeInit(initProperties: ReadableMap) {
|
|
37
37
|
(reactContext.applicationContext as? Application)?.let { application ->
|
|
38
|
+
Affise._crossPlatform.react()
|
|
38
39
|
Affise.init(application, initProperties.toHashMap().toAffiseInitProperties())
|
|
40
|
+
Affise._crossPlatform.start()
|
|
39
41
|
}
|
|
40
42
|
}
|
|
41
43
|
|
|
@@ -59,10 +61,7 @@ class AffiseAttributionNativeModule(
|
|
|
59
61
|
|
|
60
62
|
@ReactMethod
|
|
61
63
|
fun nativeRegisterDeeplinkCallback() {
|
|
62
|
-
|
|
63
|
-
sendDeeplinkEvent(it)
|
|
64
|
-
true
|
|
65
|
-
}
|
|
64
|
+
registerCallback()
|
|
66
65
|
}
|
|
67
66
|
|
|
68
67
|
@ReactMethod
|
|
@@ -138,6 +137,18 @@ class AffiseAttributionNativeModule(
|
|
|
138
137
|
result.resolve(Affise.getReferrer())
|
|
139
138
|
}
|
|
140
139
|
|
|
140
|
+
@ReactMethod
|
|
141
|
+
fun nativeHandleDeeplink(uri: String) {
|
|
142
|
+
Affise._crossPlatform.handleDeeplink(uri)
|
|
143
|
+
sendDeeplinkEvent(uri)
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
private fun registerCallback() {
|
|
147
|
+
Affise.registerDeeplinkCallback {
|
|
148
|
+
true
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
|
|
141
152
|
companion object {
|
|
142
153
|
const val NAME = "AffiseAttributionNative"
|
|
143
154
|
|
|
@@ -7,12 +7,12 @@ class AffiseAttributionNative: RCTEventEmitter {
|
|
|
7
7
|
|
|
8
8
|
static private let DEEPLINK_CALLBACK_EVENT = "affiseDeeplinkEvent"
|
|
9
9
|
static private let DEEPLINK_CALLBACK_URI_PARAMETER = "uri"
|
|
10
|
-
|
|
10
|
+
|
|
11
11
|
var app: UIApplication? = nil
|
|
12
12
|
var launchOptions: [UIApplication.LaunchOptionsKey: Any]?
|
|
13
13
|
|
|
14
14
|
private let evensFactory: AffiseEvensFactory = AffiseEvensFactory()
|
|
15
|
-
|
|
15
|
+
|
|
16
16
|
@objc
|
|
17
17
|
override static func requiresMainQueueSetup() -> Bool{
|
|
18
18
|
return true;
|
|
@@ -22,13 +22,13 @@ class AffiseAttributionNative: RCTEventEmitter {
|
|
|
22
22
|
override func constantsToExport() -> [AnyHashable: Any]!{
|
|
23
23
|
return [:];
|
|
24
24
|
}
|
|
25
|
-
|
|
25
|
+
|
|
26
26
|
override func supportedEvents() -> [String]! {
|
|
27
27
|
return [AffiseAttributionNative.DEEPLINK_CALLBACK_EVENT];
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
@objc(nativeInit:)
|
|
31
|
-
public func nativeInit(initProperties: NSDictionary) -> Void {
|
|
31
|
+
public func nativeInit(initProperties: NSDictionary) -> Void {
|
|
32
32
|
app = UIApplication.shared
|
|
33
33
|
launchOptions = bridge.launchOptions as? [UIApplication.LaunchOptionsKey: Any]
|
|
34
34
|
if app == nil {
|
|
@@ -36,12 +36,13 @@ class AffiseAttributionNative: RCTEventEmitter {
|
|
|
36
36
|
return
|
|
37
37
|
}
|
|
38
38
|
if let properties = (initProperties as? [String: Any?])?.toAffiseInitProperties {
|
|
39
|
+
Affise._crossPlatform.react()
|
|
39
40
|
Affise.shared.load(app: app!, initProperties: properties, launchOptions: launchOptions)
|
|
40
41
|
} else {
|
|
41
42
|
RCTLogWarn("Affise init properties parse \(initProperties)")
|
|
42
43
|
}
|
|
43
44
|
}
|
|
44
|
-
|
|
45
|
+
|
|
45
46
|
@objc(nativeSendEvent:)
|
|
46
47
|
public func nativeSendEvent(event: NSDictionary) -> Void {
|
|
47
48
|
if let event = evensFactory.event(event as? [String: Any?]) {
|
|
@@ -50,99 +51,111 @@ class AffiseAttributionNative: RCTEventEmitter {
|
|
|
50
51
|
|
|
51
52
|
}
|
|
52
53
|
}
|
|
53
|
-
|
|
54
|
+
|
|
54
55
|
@objc
|
|
55
56
|
public func nativeSendEvents() -> Void {
|
|
56
57
|
Affise.shared.sendEvents()
|
|
57
58
|
}
|
|
58
|
-
|
|
59
|
+
|
|
59
60
|
@objc(nativeAddPushToken:)
|
|
60
61
|
public func nativeAddPushToken(pushToken: NSString) -> Void {
|
|
61
62
|
Affise.shared.addPushToken(pushToken: pushToken as String)
|
|
62
63
|
}
|
|
63
|
-
|
|
64
|
+
|
|
64
65
|
@objc
|
|
65
66
|
public func nativeRegisterWebView() -> Void {
|
|
66
67
|
// Affise.shared.registerWebView(webView)
|
|
67
68
|
RCTLogInfo("NotImplemented")
|
|
68
69
|
}
|
|
69
|
-
|
|
70
|
+
|
|
70
71
|
@objc
|
|
71
72
|
public func nativeUnregisterWebView() -> Void {
|
|
72
73
|
// Affise.shared.unregisterWebView()
|
|
73
74
|
RCTLogInfo("NotImplemented")
|
|
74
75
|
}
|
|
75
|
-
|
|
76
|
+
|
|
76
77
|
@objc
|
|
77
78
|
public func nativeRegisterDeeplinkCallback() -> Void {
|
|
78
|
-
|
|
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
|
-
}
|
|
79
|
+
registerCallback()
|
|
87
80
|
}
|
|
88
|
-
|
|
81
|
+
|
|
89
82
|
@objc(nativeSetSecretId:)
|
|
90
83
|
public func nativeSetSecretId(secretId: NSString) -> Void {
|
|
91
84
|
Affise.shared.setSecretId(secretId: secretId as String)
|
|
92
85
|
}
|
|
93
|
-
|
|
86
|
+
|
|
94
87
|
@objc(nativeSetAutoCatchingTypes:)
|
|
95
88
|
public func nativeSetAutoCatchingTypes(types: NSArray) -> Void {
|
|
96
89
|
RCTLogInfo("NotImplemented")
|
|
97
90
|
}
|
|
98
|
-
|
|
91
|
+
|
|
99
92
|
@objc(nativeSetOfflineModeEnabled:)
|
|
100
93
|
public func nativeSetOfflineModeEnabled(enabled: Bool) -> Void {
|
|
101
94
|
Affise.shared.setOfflineModeEnabled(enabled: enabled)
|
|
102
95
|
}
|
|
103
|
-
|
|
96
|
+
|
|
104
97
|
@objc(nativeIsOfflineModeEnabled:withRejecter:)
|
|
105
98
|
public func nativeIsOfflineModeEnabled(resolve:RCTPromiseResolveBlock, reject:RCTPromiseRejectBlock) -> Void {
|
|
106
99
|
resolve(Affise.shared.isOfflineModeEnabled())
|
|
107
100
|
}
|
|
108
|
-
|
|
101
|
+
|
|
109
102
|
@objc(nativeSetBackgroundTrackingEnabled:)
|
|
110
103
|
public func nativeSetBackgroundTrackingEnabled(enabled: Bool) -> Void {
|
|
111
104
|
Affise.shared.setBackgroundTrackingEnabled(enabled: enabled)
|
|
112
105
|
}
|
|
113
|
-
|
|
106
|
+
|
|
114
107
|
@objc(nativeIsBackgroundTrackingEnabled:withRejecter:)
|
|
115
108
|
public func nativeIsBackgroundTrackingEnabled(resolve:RCTPromiseResolveBlock, reject:RCTPromiseRejectBlock) -> Void {
|
|
116
109
|
resolve(Affise.shared.isBackgroundTrackingEnabled())
|
|
117
110
|
}
|
|
118
|
-
|
|
111
|
+
|
|
119
112
|
@objc(nativeSetTrackingEnabled:)
|
|
120
113
|
public func nativeSetTrackingEnabled(enabled: Bool) -> Void {
|
|
121
114
|
Affise.shared.setTrackingEnabled(enabled: enabled)
|
|
122
115
|
}
|
|
123
|
-
|
|
116
|
+
|
|
124
117
|
@objc(nativeIsTrackingEnabled:withRejecter:)
|
|
125
118
|
public func nativeIsTrackingEnabled(resolve:RCTPromiseResolveBlock, reject:RCTPromiseRejectBlock) -> Void {
|
|
126
119
|
resolve(Affise.shared.isTrackingEnabled())
|
|
127
120
|
}
|
|
128
|
-
|
|
121
|
+
|
|
129
122
|
@objc(nativeForget:)
|
|
130
123
|
public func nativeForget(userData: NSString) -> Void {
|
|
131
124
|
RCTLogInfo("NotImplemented")
|
|
132
125
|
}
|
|
133
|
-
|
|
126
|
+
|
|
134
127
|
@objc(nativeSetEnabledMetrics:)
|
|
135
128
|
public func nativeSetEnabledMetrics(enabled: Bool) -> Void {
|
|
136
129
|
RCTLogInfo("NotImplemented")
|
|
137
130
|
}
|
|
138
|
-
|
|
131
|
+
|
|
139
132
|
@objc
|
|
140
133
|
public func nativeCrashApplication() -> Void {
|
|
141
134
|
RCTLogInfo("NotImplemented")
|
|
142
135
|
}
|
|
143
|
-
|
|
136
|
+
|
|
144
137
|
@objc(nativeGetReferrer:withRejecter:)
|
|
145
138
|
public func nativeGetReferrer(resolve:RCTPromiseResolveBlock, reject:RCTPromiseRejectBlock) -> Void {
|
|
146
139
|
RCTLogInfo("NotImplemented")
|
|
147
140
|
}
|
|
141
|
+
|
|
142
|
+
@objc(nativeHandleDeeplink:)
|
|
143
|
+
public func nativeHandleDeeplink(uri: NSString) -> Void {
|
|
144
|
+
if !(uri as String).isEmpty {
|
|
145
|
+
Affise._crossPlatform.handleDeeplink(uri: uri as String)
|
|
146
|
+
sendDeeplinkEvent(uri as String)
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
private func registerCallback() {
|
|
151
|
+
Affise.shared.registerDeeplinkCallback {url in
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
private func sendDeeplinkEvent(_ uri: String) {
|
|
156
|
+
sendEvent(
|
|
157
|
+
withName: AffiseAttributionNative.DEEPLINK_CALLBACK_EVENT,
|
|
158
|
+
body: [AffiseAttributionNative.DEEPLINK_CALLBACK_URI_PARAMETER: uri]
|
|
159
|
+
)
|
|
160
|
+
}
|
|
148
161
|
}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -77,6 +77,7 @@ class Affise {
|
|
|
77
77
|
callback(event[DEEPLINK_CALLBACK_URI_PARAMETER]);
|
|
78
78
|
});
|
|
79
79
|
AffiseNative.nativeRegisterDeeplinkCallback();
|
|
80
|
+
this.reactHandleDeeplink();
|
|
80
81
|
}
|
|
81
82
|
static unregisterDeeplinkCallback() {
|
|
82
83
|
var _this$eventListener;
|
|
@@ -174,6 +175,15 @@ class Affise {
|
|
|
174
175
|
static getReferrer() {
|
|
175
176
|
return AffiseNative.nativeGetReferrer();
|
|
176
177
|
}
|
|
178
|
+
static reactHandleDeeplink() {
|
|
179
|
+
_reactNative.Linking.getInitialURL().then(this.deeplinkCallback);
|
|
180
|
+
_reactNative.Linking.addEventListener('url', evt => this.deeplinkCallback(evt.url));
|
|
181
|
+
}
|
|
182
|
+
static deeplinkCallback(url) {
|
|
183
|
+
if (url != null && url.trim().length > 0) {
|
|
184
|
+
AffiseNative.nativeHandleDeeplink(url);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
177
187
|
}
|
|
178
188
|
exports.Affise = Affise;
|
|
179
189
|
_defineProperty(Affise, "eventListener", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["LINKING_ERROR","Platform","select","ios","default","AffiseNative","NativeModules","AffiseAttributionNative","Proxy","get","Error","DEEPLINK_CALLBACK_EVENT","DEEPLINK_CALLBACK_URI_PARAMETER","Affise","init","initProperties","nativeInit","sendEvents","nativeSendEvents","sendEvent","event","nativeSendEvent","addPushToken","pushToken","nativeAddPushToken","registerDeeplinkCallback","callback","unregisterDeeplinkCallback","eventEmitter","NativeEventEmitter","eventListener","addListener","nativeRegisterDeeplinkCallback","remove","setSecretId","secretId","nativeSetSecretId","setAutoCatchingTypes","types","nativeSetAutoCatchingTypes","setOfflineModeEnabled","enabled","nativeSetOfflineModeEnabled","isOfflineModeEnabled","nativeIsOfflineModeEnabled","setBackgroundTrackingEnabled","nativeSetBackgroundTrackingEnabled","isBackgroundTrackingEnabled","nativeIsBackgroundTrackingEnabled","setTrackingEnabled","nativeSetTrackingEnabled","isTrackingEnabled","nativeIsTrackingEnabled","forget","userData","nativeForget","setEnabledMetrics","nativeSetEnabledMetrics","crashApplication","nativeCrashApplication","getReferrer","nativeGetReferrer"],"sourceRoot":"..\\..\\src","sources":["index.tsx"],"mappings":";;;;;;;;;AAAA;AAGA;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AAAyB;AAAA;AAAA;AAGzB,MAAMA,aAAa,GACd,iFAAgF,GACjFC,qBAAQ,CAACC,MAAM,CAAC;EAACC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAE,CAAC,CAAC,GACrE,sDAAsD,GACtD,+BAA+B;AAEnC,MAAMC,YAAY,GAAGC,0BAAa,CAACC,uBAAuB,GACpDD,0BAAa,CAACC,uBAAuB,GACrC,IAAIC,KAAK,CACP,CAAC,CAAC,EACF;EACIC,GAAG,GAAG;IACF,MAAM,IAAIC,KAAK,CAACV,aAAa,CAAC;EAClC;AACJ,CAAC,CACJ;AAEL,MAAMW,uBAAuB,GAAG,qBAAqB;AACrD,MAAMC,+BAA+B,GAAG,KAAK;;AAE7C;AACA;AACA;AACO,MAAMC,MAAM,CAAC;EAGhB;AACJ;AACA;EACI,OAAOC,IAAI,CACPC,cAAoC,EACtC;IACEV,YAAY,CAACW,UAAU,CAACD,cAAc,CAAC;EAC3C;;EAEA;AACJ;AACA;EACI,OAAOE,UAAU,GAAG;IAChBZ,YAAY,CAACa,gBAAgB,EAAE;EACnC;;EAEA;AACJ;AACA;EACI,OAAOC,SAAS,CAACC,KAAkB,EAAE;IACjCf,YAAY,CAACgB,eAAe,CAACD,KAAK,CAAC;EACvC;;EAEA;AACJ;AACA;EACI,OAAOE,YAAY,CAACC,SAAiB,EAAE;IACnClB,YAAY,CAACmB,kBAAkB,CAACD,SAAS,CAAC;EAC9C;;EAEA;AACJ;AACA;EACI,OAAOE,wBAAwB,CAACC,QAA+B,EAAE;IAC7D,IAAI,CAACC,0BAA0B,EAAE;IACjC,MAAMC,YAAY,GAAG,IAAIC,+BAAkB,CAACxB,YAAY,CAAC;IACzD,IAAI,CAACyB,aAAa,GAAGF,YAAY,CAACG,WAAW,CAACpB,uBAAuB,EAAGS,KAAK,IAAK;MAC9EM,QAAQ,CAACN,KAAK,CAACR,+BAA+B,CAAC,CAAC;IACpD,CAAC,CAAC;IAEFP,YAAY,CAAC2B,8BAA8B,EAAE;
|
|
1
|
+
{"version":3,"names":["LINKING_ERROR","Platform","select","ios","default","AffiseNative","NativeModules","AffiseAttributionNative","Proxy","get","Error","DEEPLINK_CALLBACK_EVENT","DEEPLINK_CALLBACK_URI_PARAMETER","Affise","init","initProperties","nativeInit","sendEvents","nativeSendEvents","sendEvent","event","nativeSendEvent","addPushToken","pushToken","nativeAddPushToken","registerDeeplinkCallback","callback","unregisterDeeplinkCallback","eventEmitter","NativeEventEmitter","eventListener","addListener","nativeRegisterDeeplinkCallback","reactHandleDeeplink","remove","setSecretId","secretId","nativeSetSecretId","setAutoCatchingTypes","types","nativeSetAutoCatchingTypes","setOfflineModeEnabled","enabled","nativeSetOfflineModeEnabled","isOfflineModeEnabled","nativeIsOfflineModeEnabled","setBackgroundTrackingEnabled","nativeSetBackgroundTrackingEnabled","isBackgroundTrackingEnabled","nativeIsBackgroundTrackingEnabled","setTrackingEnabled","nativeSetTrackingEnabled","isTrackingEnabled","nativeIsTrackingEnabled","forget","userData","nativeForget","setEnabledMetrics","nativeSetEnabledMetrics","crashApplication","nativeCrashApplication","getReferrer","nativeGetReferrer","Linking","getInitialURL","then","deeplinkCallback","addEventListener","evt","url","trim","length","nativeHandleDeeplink"],"sourceRoot":"..\\..\\src","sources":["index.tsx"],"mappings":"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"}
|
package/lib/module/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
2
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
3
3
|
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
4
|
-
import { NativeEventEmitter, NativeModules, Platform } from 'react-native';
|
|
4
|
+
import { Linking, NativeEventEmitter, NativeModules, Platform } from 'react-native';
|
|
5
5
|
export * from "./Export";
|
|
6
6
|
const LINKING_ERROR = `The package 'affise-attribution-lib' doesn't seem to be linked. Make sure: \n\n` + Platform.select({
|
|
7
7
|
ios: "- You have run 'pod install'\n",
|
|
@@ -57,6 +57,7 @@ export class Affise {
|
|
|
57
57
|
callback(event[DEEPLINK_CALLBACK_URI_PARAMETER]);
|
|
58
58
|
});
|
|
59
59
|
AffiseNative.nativeRegisterDeeplinkCallback();
|
|
60
|
+
this.reactHandleDeeplink();
|
|
60
61
|
}
|
|
61
62
|
static unregisterDeeplinkCallback() {
|
|
62
63
|
var _this$eventListener;
|
|
@@ -154,6 +155,15 @@ export class Affise {
|
|
|
154
155
|
static getReferrer() {
|
|
155
156
|
return AffiseNative.nativeGetReferrer();
|
|
156
157
|
}
|
|
158
|
+
static reactHandleDeeplink() {
|
|
159
|
+
Linking.getInitialURL().then(this.deeplinkCallback);
|
|
160
|
+
Linking.addEventListener('url', evt => this.deeplinkCallback(evt.url));
|
|
161
|
+
}
|
|
162
|
+
static deeplinkCallback(url) {
|
|
163
|
+
if (url != null && url.trim().length > 0) {
|
|
164
|
+
AffiseNative.nativeHandleDeeplink(url);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
157
167
|
}
|
|
158
168
|
_defineProperty(Affise, "eventListener", void 0);
|
|
159
169
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeEventEmitter","NativeModules","Platform","LINKING_ERROR","select","ios","default","AffiseNative","AffiseAttributionNative","Proxy","get","Error","DEEPLINK_CALLBACK_EVENT","DEEPLINK_CALLBACK_URI_PARAMETER","Affise","init","initProperties","nativeInit","sendEvents","nativeSendEvents","sendEvent","event","nativeSendEvent","addPushToken","pushToken","nativeAddPushToken","registerDeeplinkCallback","callback","unregisterDeeplinkCallback","eventEmitter","eventListener","addListener","nativeRegisterDeeplinkCallback","remove","setSecretId","secretId","nativeSetSecretId","setAutoCatchingTypes","types","nativeSetAutoCatchingTypes","setOfflineModeEnabled","enabled","nativeSetOfflineModeEnabled","isOfflineModeEnabled","nativeIsOfflineModeEnabled","setBackgroundTrackingEnabled","nativeSetBackgroundTrackingEnabled","isBackgroundTrackingEnabled","nativeIsBackgroundTrackingEnabled","setTrackingEnabled","nativeSetTrackingEnabled","isTrackingEnabled","nativeIsTrackingEnabled","forget","userData","nativeForget","setEnabledMetrics","nativeSetEnabledMetrics","crashApplication","nativeCrashApplication","getReferrer","nativeGetReferrer"],"sourceRoot":"..\\..\\src","sources":["index.tsx"],"mappings":";;;AAAA,SAA6BA,kBAAkB,EAAEC,aAAa,EAAEC,QAAQ,QAAO,cAAc;
|
|
1
|
+
{"version":3,"names":["Linking","NativeEventEmitter","NativeModules","Platform","LINKING_ERROR","select","ios","default","AffiseNative","AffiseAttributionNative","Proxy","get","Error","DEEPLINK_CALLBACK_EVENT","DEEPLINK_CALLBACK_URI_PARAMETER","Affise","init","initProperties","nativeInit","sendEvents","nativeSendEvents","sendEvent","event","nativeSendEvent","addPushToken","pushToken","nativeAddPushToken","registerDeeplinkCallback","callback","unregisterDeeplinkCallback","eventEmitter","eventListener","addListener","nativeRegisterDeeplinkCallback","reactHandleDeeplink","remove","setSecretId","secretId","nativeSetSecretId","setAutoCatchingTypes","types","nativeSetAutoCatchingTypes","setOfflineModeEnabled","enabled","nativeSetOfflineModeEnabled","isOfflineModeEnabled","nativeIsOfflineModeEnabled","setBackgroundTrackingEnabled","nativeSetBackgroundTrackingEnabled","isBackgroundTrackingEnabled","nativeIsBackgroundTrackingEnabled","setTrackingEnabled","nativeSetTrackingEnabled","isTrackingEnabled","nativeIsTrackingEnabled","forget","userData","nativeForget","setEnabledMetrics","nativeSetEnabledMetrics","crashApplication","nativeCrashApplication","getReferrer","nativeGetReferrer","getInitialURL","then","deeplinkCallback","addEventListener","evt","url","trim","length","nativeHandleDeeplink"],"sourceRoot":"..\\..\\src","sources":["index.tsx"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,oBAAoB,EAAE,gBAAgB,EAAE,WAAW,EAAC,MAAM,UAAU,CAAC;AAElF,cAAc,UAAU,CAAC;AAuBzB;;GAEG;AACH,qBAAa,MAAM;IACf,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAsB;IAEnD;;OAEG;IACH,MAAM,CAAC,IAAI,CACP,cAAc,EAAE,oBAAoB;IAKxC;;OAEG;IACH,MAAM,CAAC,UAAU;IAIjB;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,WAAW;IAInC;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM;IAIrC;;OAEG;IACH,MAAM,CAAC,wBAAwB,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,oBAAoB,EAAE,gBAAgB,EAAE,WAAW,EAAC,MAAM,UAAU,CAAC;AAElF,cAAc,UAAU,CAAC;AAuBzB;;GAEG;AACH,qBAAa,MAAM;IACf,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAsB;IAEnD;;OAEG;IACH,MAAM,CAAC,IAAI,CACP,cAAc,EAAE,oBAAoB;IAKxC;;OAEG;IACH,MAAM,CAAC,UAAU;IAIjB;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,WAAW;IAInC;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM;IAIrC;;OAEG;IACH,MAAM,CAAC,wBAAwB,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI;IAW/D,MAAM,CAAC,0BAA0B;IAIjC;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM;IAInC;;OAEG;IAEH,MAAM,CAAC,oBAAoB,CAAC,KAAK,EAAE,gBAAgB,EAAE;IAIrD;;;;;;OAMG;IACH,MAAM,CAAC,qBAAqB,CAAC,OAAO,EAAE,OAAO;IAI7C;;OAEG;IACH,MAAM,CAAC,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC;IAI/C;;;;OAIG;IACH,MAAM,CAAC,4BAA4B,CAAC,OAAO,EAAE,OAAO;IAIpD;;OAEG;IACH,MAAM,CAAC,2BAA2B,IAAI,OAAO,CAAC,OAAO,CAAC;IAItD;;;;OAIG;IACH,MAAM,CAAC,kBAAkB,CAAC,OAAO,EAAE,OAAO;IAI1C;;OAEG;IACH,MAAM,CAAC,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC;IAI5C;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM;IAI9B;;;;;OAKG;IACH,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO;IAIzC,MAAM,CAAC,gBAAgB;IAIvB;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAIrC,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAKlC,OAAO,CAAC,MAAM,CAAC,gBAAgB;CAKlC"}
|
package/package.json
CHANGED
package/src/index.tsx
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {EmitterSubscription, NativeEventEmitter, NativeModules, Platform} from 'react-native';
|
|
1
|
+
import {EmitterSubscription, Linking, NativeEventEmitter, NativeModules, Platform} from 'react-native';
|
|
2
2
|
import type {AffiseInitProperties, AutoCatchingType, AffiseEvent} from "./Export";
|
|
3
3
|
|
|
4
4
|
export * from "./Export";
|
|
@@ -71,6 +71,7 @@ export class Affise {
|
|
|
71
71
|
});
|
|
72
72
|
|
|
73
73
|
AffiseNative.nativeRegisterDeeplinkCallback();
|
|
74
|
+
this.reactHandleDeeplink();
|
|
74
75
|
}
|
|
75
76
|
|
|
76
77
|
static unregisterDeeplinkCallback() {
|
|
@@ -169,4 +170,15 @@ export class Affise {
|
|
|
169
170
|
static getReferrer(): Promise<string> {
|
|
170
171
|
return AffiseNative.nativeGetReferrer();
|
|
171
172
|
}
|
|
173
|
+
|
|
174
|
+
private static reactHandleDeeplink() {
|
|
175
|
+
Linking.getInitialURL().then(this.deeplinkCallback);
|
|
176
|
+
Linking.addEventListener('url', (evt) => this.deeplinkCallback(evt.url))
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
private static deeplinkCallback(url: string | null) {
|
|
180
|
+
if (url != null && url.trim().length > 0) {
|
|
181
|
+
AffiseNative.nativeHandleDeeplink(url);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
172
184
|
}
|