rn-linkrunner 0.9.1 → 1.0.1
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 +81 -15
- package/lib/commonjs/helper.js +18 -0
- package/lib/commonjs/helper.js.map +1 -1
- package/lib/commonjs/index.js +104 -32
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/helper.js +17 -1
- package/lib/module/helper.js.map +1 -1
- package/lib/module/index.js +105 -33
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/helper.d.ts +3 -1
- package/lib/typescript/src/helper.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +5 -3
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/helper.ts +20 -1
- package/src/index.ts +120 -39
package/README.md
CHANGED
|
@@ -2,6 +2,23 @@
|
|
|
2
2
|
|
|
3
3
|
React Native Package for [linkrunner.io](https://www.linkrunner.io)
|
|
4
4
|
|
|
5
|
+
## Table of Contents
|
|
6
|
+
|
|
7
|
+
- [Installation](#installation)
|
|
8
|
+
- [Step 1: Prerequisites](#step-1-prerequisites)
|
|
9
|
+
- [Step 2: Installing rn-linkrunner](#step-2-installing-rn-linkrunner)
|
|
10
|
+
- [Expo](#expo)
|
|
11
|
+
- [Usage](#usage)
|
|
12
|
+
- [Initialisation](#initialisation)
|
|
13
|
+
- [Signup](#signup)
|
|
14
|
+
- [Set User Data](#set-user-data)
|
|
15
|
+
- [Trigger Deeplink](#trigger-deeplink-for-deferred-deep-linking)
|
|
16
|
+
- [Track Event](#track-event)
|
|
17
|
+
- [Capture Payment](#capture-payment)
|
|
18
|
+
- [Remove Payment](#remove-payment)
|
|
19
|
+
- [Support](#facing-issues-during-integration)
|
|
20
|
+
- [License](#license)
|
|
21
|
+
|
|
5
22
|
## Installation
|
|
6
23
|
|
|
7
24
|
### Step 1: Prerequisites
|
|
@@ -91,17 +108,15 @@ const init = async () => {
|
|
|
91
108
|
}
|
|
92
109
|
```
|
|
93
110
|
|
|
94
|
-
###
|
|
95
|
-
|
|
96
|
-
Call this function once your onboarding is completed and the navigation stack can be accessed by a deeplink:
|
|
111
|
+
### Signup
|
|
97
112
|
|
|
98
|
-
|
|
113
|
+
Call this function only once after the user has completed the onboarding process in your app. This should be triggered at the final step of your onboarding flow to register the user with Linkrunner.
|
|
99
114
|
|
|
100
115
|
```jsx
|
|
101
116
|
import linkrunner from 'rn-linkrunner';
|
|
102
117
|
|
|
103
|
-
const
|
|
104
|
-
const
|
|
118
|
+
const onSignup = async () => {
|
|
119
|
+
const signup = await linkrunner.signup({
|
|
105
120
|
user_data: {
|
|
106
121
|
id: '1',
|
|
107
122
|
name: 'John Doe', // optional
|
|
@@ -109,17 +124,11 @@ const onTrigger = async () => {
|
|
|
109
124
|
email: 'support@linkrunner.io', //optional
|
|
110
125
|
},
|
|
111
126
|
data: {}, // Any other data you might need
|
|
112
|
-
config: {
|
|
113
|
-
trigger_deeplink: true, // Default is true
|
|
114
127
|
});
|
|
115
128
|
};
|
|
116
129
|
```
|
|
117
130
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
- `trigger_deeplink`: boolean (optional) - When set to false, prevents automatic triggering of the deeplink even if one is returned
|
|
121
|
-
|
|
122
|
-
#### Response type for `linkrunner.trigger`
|
|
131
|
+
#### Response type for `linkrunner.signup`
|
|
123
132
|
|
|
124
133
|
```
|
|
125
134
|
{
|
|
@@ -136,11 +145,54 @@ The config parameter allows you to control the behavior of the trigger function:
|
|
|
136
145
|
};
|
|
137
146
|
deeplink: string;
|
|
138
147
|
root_domain: boolean;
|
|
139
|
-
trigger: boolean; // Deeplink won't be triggered if false
|
|
140
148
|
}
|
|
141
149
|
```
|
|
142
150
|
|
|
143
|
-
|
|
151
|
+
### Set User Data
|
|
152
|
+
|
|
153
|
+
Call this function everytime the app is opened and the user is logged in.
|
|
154
|
+
|
|
155
|
+
```jsx
|
|
156
|
+
import linkrunner from 'rn-linkrunner';
|
|
157
|
+
|
|
158
|
+
const setUserData = async () => {
|
|
159
|
+
await linkrunner.setUserData({
|
|
160
|
+
user_data: {
|
|
161
|
+
id: '1',
|
|
162
|
+
name: 'John Doe', // optional
|
|
163
|
+
phone: '9583849238', // optional
|
|
164
|
+
email: 'support@linkrunner.io', //optional
|
|
165
|
+
},
|
|
166
|
+
});
|
|
167
|
+
};
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
### Trigger Deeplink (For Deferred Deep Linking)
|
|
171
|
+
|
|
172
|
+
This function triggers the original deeplink that led to the app installation. Call it only after your main navigation is initialized and all deeplink-accessible screens are ready to receive navigation events.
|
|
173
|
+
|
|
174
|
+
Note: For this to work properly make sure you have added verification objects on the [Linkrunner Dashboard](https://www.linkrunner.io/settings?sort_by=activity-1&s=store-verification).
|
|
175
|
+
|
|
176
|
+
```jsx
|
|
177
|
+
import linkrunner from 'rn-linkrunner';
|
|
178
|
+
|
|
179
|
+
const onTriggerDeeplink = async () => {
|
|
180
|
+
await linkrunner.triggerDeeplink();
|
|
181
|
+
};
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
### Track Event
|
|
185
|
+
|
|
186
|
+
Use this method to track custom events
|
|
187
|
+
|
|
188
|
+
```js
|
|
189
|
+
const trackEvent = async () => {
|
|
190
|
+
await linkrunner.trackEvent(
|
|
191
|
+
'event_name', // Name of the event
|
|
192
|
+
{ key: 'value' } // Optional: Additional JSON data for the event
|
|
193
|
+
);
|
|
194
|
+
};
|
|
195
|
+
```
|
|
144
196
|
|
|
145
197
|
### Capture Payment
|
|
146
198
|
|
|
@@ -182,6 +234,20 @@ const removePayment = async () => {
|
|
|
182
234
|
|
|
183
235
|
Note: Either `paymentId` or `userId` must be provided when calling `removePayment`. If `userId` is provided, all payments for that user will be removed.
|
|
184
236
|
|
|
237
|
+
### Function Placement Guide
|
|
238
|
+
|
|
239
|
+
Below is a simple guide on where to place each function in your application:
|
|
240
|
+
|
|
241
|
+
| Function | Where to Place | When to Call |
|
|
242
|
+
| ---------------------------- | ----------------------------------------------------------------------- | -------------------------------------------------------- |
|
|
243
|
+
| `linkrunner.init` | In your `App.tsx` within a `useEffect` hook with empty dependency array | Once when the app starts |
|
|
244
|
+
| `linkrunner.signup` | In your onboarding flow | Once after user completes the onboarding process |
|
|
245
|
+
| `linkrunner.setUserData` | In your authentication logic | Every time the app is opened and the user is logged in |
|
|
246
|
+
| `linkrunner.triggerDeeplink` | After navigation initialization | Once after your navigation is ready to handle deep links |
|
|
247
|
+
| `linkrunner.trackEvent` | Throughout your app where events need to be tracked | When specific user actions or events occur |
|
|
248
|
+
| `linkrunner.capturePayment` | In your payment processing flow | When a user makes a payment |
|
|
249
|
+
| `linkrunner.removePayment` | In your payment cancellation/refund flow | When a payment needs to be removed |
|
|
250
|
+
|
|
185
251
|
### Facing issues during integration?
|
|
186
252
|
|
|
187
253
|
Mail us on darshil@linkrunner.io
|
package/lib/commonjs/helper.js
CHANGED
|
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.device_data = void 0;
|
|
7
|
+
exports.getDeeplinkURL = getDeeplinkURL;
|
|
7
8
|
exports.getLinkRunnerInstallInstanceId = getLinkRunnerInstallInstanceId;
|
|
9
|
+
exports.setDeeplinkURL = setDeeplinkURL;
|
|
8
10
|
var _reactNativeDeviceInfo = _interopRequireWildcard(require("react-native-device-info"));
|
|
9
11
|
var _netinfo = require("@react-native-community/netinfo");
|
|
10
12
|
var _reactNativePlayInstallReferrer = require("react-native-play-install-referrer");
|
|
@@ -104,4 +106,20 @@ function generateRandomString(length) {
|
|
|
104
106
|
const chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
|
|
105
107
|
return Array(length).fill(null).map(() => chars.charAt(Math.floor(Math.random() * chars.length))).join('');
|
|
106
108
|
}
|
|
109
|
+
const DEEPLINK_URL_STORAGE_KEY = 'linkrunner_deeplink_url';
|
|
110
|
+
async function setDeeplinkURL(deeplink_url) {
|
|
111
|
+
try {
|
|
112
|
+
await _asyncStorage.default.setItem(DEEPLINK_URL_STORAGE_KEY, deeplink_url);
|
|
113
|
+
} catch (error) {
|
|
114
|
+
console.error('Error setting deeplink URL:', error);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
async function getDeeplinkURL() {
|
|
118
|
+
try {
|
|
119
|
+
return await _asyncStorage.default.getItem(DEEPLINK_URL_STORAGE_KEY);
|
|
120
|
+
} catch (error) {
|
|
121
|
+
console.error('Error getting deeplink URL:', error);
|
|
122
|
+
return null;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
107
125
|
//# sourceMappingURL=helper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeDeviceInfo","_interopRequireWildcard","require","_netinfo","_reactNativePlayInstallReferrer","_asyncStorage","_interopRequireDefault","_reactNative","_reactNativeIdfaAaid","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","device_data","getInstallReferrerInfo","Promise","resolve","Platform","OS","timeoutId","setTimeout","PlayInstallReferrer","installReferrerInfo","error","clearTimeout","getAdvertisingIdentifier","identifier","ReactNativeIdfaAaid","getAdvertisingInfo","isAdTrackingLimited","id","connectivity","manufacturer","systemVersion","all","netinfoFetch","getManufacturer","getSystemVersion","android_id","DeviceInfo","getAndroidId","api_level","getApiLevel","application_name","getApplicationName","base_os","getBaseOs","build_id","getBuildId","brand","getBrand","build_number","getBuildNumber","bundle_id","getBundleId","carrier","getCarrier","device","getDevice","device_id","getDeviceId","device_display","getDisplay","device_type","getDeviceType","device_name","getDeviceName","device_token","getDeviceToken","device_ip","getIpAddress","install_ref","getInstallReferrer","system_version","version","getVersion","type","user_agent","getUserAgent","gaid","idfa","idfv","getUniqueId","exports","STORAGE_KEY","ID_LENGTH","getLinkRunnerInstallInstanceId","installInstanceId","AsyncStorage","getItem","generateRandomString","setItem","console","length","chars","Array","fill","map","charAt","Math","floor","random","join"],"sourceRoot":"../../src","sources":["helper.ts"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_reactNativeDeviceInfo","_interopRequireWildcard","require","_netinfo","_reactNativePlayInstallReferrer","_asyncStorage","_interopRequireDefault","_reactNative","_reactNativeIdfaAaid","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","device_data","getInstallReferrerInfo","Promise","resolve","Platform","OS","timeoutId","setTimeout","PlayInstallReferrer","installReferrerInfo","error","clearTimeout","getAdvertisingIdentifier","identifier","ReactNativeIdfaAaid","getAdvertisingInfo","isAdTrackingLimited","id","connectivity","manufacturer","systemVersion","all","netinfoFetch","getManufacturer","getSystemVersion","android_id","DeviceInfo","getAndroidId","api_level","getApiLevel","application_name","getApplicationName","base_os","getBaseOs","build_id","getBuildId","brand","getBrand","build_number","getBuildNumber","bundle_id","getBundleId","carrier","getCarrier","device","getDevice","device_id","getDeviceId","device_display","getDisplay","device_type","getDeviceType","device_name","getDeviceName","device_token","getDeviceToken","device_ip","getIpAddress","install_ref","getInstallReferrer","system_version","version","getVersion","type","user_agent","getUserAgent","gaid","idfa","idfv","getUniqueId","exports","STORAGE_KEY","ID_LENGTH","getLinkRunnerInstallInstanceId","installInstanceId","AsyncStorage","getItem","generateRandomString","setItem","console","length","chars","Array","fill","map","charAt","Math","floor","random","join","DEEPLINK_URL_STORAGE_KEY","setDeeplinkURL","deeplink_url","getDeeplinkURL"],"sourceRoot":"../../src","sources":["helper.ts"],"mappings":"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"}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -14,6 +14,7 @@ const app_version = _reactNativeDeviceInfo.default.getVersion();
|
|
|
14
14
|
const baseUrl = 'https://api.linkrunner.io';
|
|
15
15
|
const initApiCall = async (token, source, link) => {
|
|
16
16
|
try {
|
|
17
|
+
var _result$data;
|
|
17
18
|
const fetch_result = await fetch(baseUrl + '/api/client/init', {
|
|
18
19
|
method: 'POST',
|
|
19
20
|
headers: {
|
|
@@ -39,6 +40,7 @@ const initApiCall = async (token, source, link) => {
|
|
|
39
40
|
console.log('Linkrunner initialised successfully 🔥');
|
|
40
41
|
console.log('init response > ', result);
|
|
41
42
|
}
|
|
43
|
+
(0, _helper.setDeeplinkURL)(result === null || result === void 0 || (_result$data = result.data) === null || _result$data === void 0 ? void 0 : _result$data.deeplink);
|
|
42
44
|
return result === null || result === void 0 ? void 0 : result.data;
|
|
43
45
|
} catch (error) {
|
|
44
46
|
console.error('Error initializing linkrunner', error);
|
|
@@ -56,17 +58,15 @@ class Linkrunner {
|
|
|
56
58
|
this.token = token;
|
|
57
59
|
return await initApiCall(token, 'GENERAL');
|
|
58
60
|
}
|
|
59
|
-
async
|
|
61
|
+
async signup({
|
|
60
62
|
data,
|
|
61
|
-
user_data
|
|
62
|
-
config
|
|
63
|
+
user_data
|
|
63
64
|
}) {
|
|
64
65
|
if (!this.token) {
|
|
65
|
-
console.error('Linkrunner:
|
|
66
|
+
console.error('Linkrunner: Signup failed, token not initialized');
|
|
66
67
|
return;
|
|
67
68
|
}
|
|
68
69
|
try {
|
|
69
|
-
var _result$data, _result$data2;
|
|
70
70
|
const response = await fetch(baseUrl + '/api/client/trigger', {
|
|
71
71
|
method: 'POST',
|
|
72
72
|
headers: {
|
|
@@ -86,43 +86,77 @@ class Linkrunner {
|
|
|
86
86
|
});
|
|
87
87
|
const result = await response.json();
|
|
88
88
|
if ((result === null || result === void 0 ? void 0 : result.status) !== 200 && (result === null || result === void 0 ? void 0 : result.status) !== 201) {
|
|
89
|
-
console.error('Linkrunner:
|
|
89
|
+
console.error('Linkrunner: Signup failed');
|
|
90
90
|
console.error('Linkrunner: ', result === null || result === void 0 ? void 0 : result.msg);
|
|
91
91
|
return;
|
|
92
92
|
}
|
|
93
|
-
if (result !== null && result !== void 0 && (_result$data = result.data) !== null && _result$data !== void 0 && _result$data.deeplink && (config === null || config === void 0 ? void 0 : config.trigger_deeplink) !== false && result !== null && result !== void 0 && (_result$data2 = result.data) !== null && _result$data2 !== void 0 && _result$data2.trigger) {
|
|
94
|
-
var _result$data4;
|
|
95
|
-
if (__DEV__) {
|
|
96
|
-
var _result$data3;
|
|
97
|
-
console.log('Triggering deeplink > ', result === null || result === void 0 || (_result$data3 = result.data) === null || _result$data3 === void 0 ? void 0 : _result$data3.deeplink);
|
|
98
|
-
}
|
|
99
|
-
_reactNative.Linking.openURL(result === null || result === void 0 || (_result$data4 = result.data) === null || _result$data4 === void 0 ? void 0 : _result$data4.deeplink).then(() => {
|
|
100
|
-
fetch(baseUrl + '/api/client/deeplink-triggered', {
|
|
101
|
-
method: 'POST',
|
|
102
|
-
headers: {
|
|
103
|
-
'Accept': 'application/json',
|
|
104
|
-
'Content-Type': 'application/json'
|
|
105
|
-
},
|
|
106
|
-
body: JSON.stringify({
|
|
107
|
-
token: this.token
|
|
108
|
-
})
|
|
109
|
-
}).then(() => {
|
|
110
|
-
if (__DEV__) {
|
|
111
|
-
var _result$data5;
|
|
112
|
-
console.log('Linkrunner: Deeplink triggered successfully', result === null || result === void 0 || (_result$data5 = result.data) === null || _result$data5 === void 0 ? void 0 : _result$data5.deeplink);
|
|
113
|
-
}
|
|
114
|
-
}).catch(() => {});
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
93
|
if (__DEV__) {
|
|
118
|
-
console.log('Linkrunner:
|
|
94
|
+
console.log('Linkrunner: Signup called 🔥');
|
|
119
95
|
}
|
|
120
96
|
return result.data;
|
|
121
97
|
} catch (err) {
|
|
122
|
-
console.error('Linkrunner:
|
|
98
|
+
console.error('Linkrunner: Signup failed');
|
|
123
99
|
console.error('Linkrunner: ', err.message);
|
|
124
100
|
}
|
|
125
101
|
}
|
|
102
|
+
async triggerDeeplink() {
|
|
103
|
+
const deeplink_url = await (0, _helper.getDeeplinkURL)();
|
|
104
|
+
if (!deeplink_url) {
|
|
105
|
+
console.error('Linkrunner: Deeplink URL not found');
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
_reactNative.Linking.openURL(deeplink_url).then(() => {
|
|
109
|
+
fetch(baseUrl + '/api/client/deeplink-triggered', {
|
|
110
|
+
method: 'POST',
|
|
111
|
+
headers: {
|
|
112
|
+
'Accept': 'application/json',
|
|
113
|
+
'Content-Type': 'application/json'
|
|
114
|
+
},
|
|
115
|
+
body: JSON.stringify({
|
|
116
|
+
token: this.token
|
|
117
|
+
})
|
|
118
|
+
}).then(() => {
|
|
119
|
+
if (__DEV__) {
|
|
120
|
+
console.log('Linkrunner: Deeplink triggered successfully', deeplink_url);
|
|
121
|
+
}
|
|
122
|
+
}).catch(() => {
|
|
123
|
+
if (__DEV__) {
|
|
124
|
+
console.error('Linkrunner: Deeplink triggering failed', deeplink_url);
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
async setUserData(user_data) {
|
|
130
|
+
if (!this.token) {
|
|
131
|
+
console.error('Linkrunner: Set user data failed, token not initialized');
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
try {
|
|
135
|
+
const response = await fetch(baseUrl + '/api/client/set-user-data', {
|
|
136
|
+
method: 'POST',
|
|
137
|
+
headers: {
|
|
138
|
+
'Accept': 'application/json',
|
|
139
|
+
'Content-Type': 'application/json'
|
|
140
|
+
},
|
|
141
|
+
body: JSON.stringify({
|
|
142
|
+
token: this.token,
|
|
143
|
+
user_data,
|
|
144
|
+
device_data: await (0, _helper.device_data)(),
|
|
145
|
+
install_instance_id: await (0, _helper.getLinkRunnerInstallInstanceId)()
|
|
146
|
+
})
|
|
147
|
+
});
|
|
148
|
+
const result = await response.json();
|
|
149
|
+
if ((result === null || result === void 0 ? void 0 : result.status) !== 200 && (result === null || result === void 0 ? void 0 : result.status) !== 201) {
|
|
150
|
+
console.error('Linkrunner: Set user data failed');
|
|
151
|
+
console.error('Linkrunner: ', result === null || result === void 0 ? void 0 : result.msg);
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
return result.data;
|
|
155
|
+
} catch (err) {
|
|
156
|
+
console.error('Linkrunner: Set user data failed');
|
|
157
|
+
console.error('Linkrunner: ', err === null || err === void 0 ? void 0 : err.message);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
126
160
|
async capturePayment({
|
|
127
161
|
amount,
|
|
128
162
|
userId,
|
|
@@ -215,6 +249,44 @@ class Linkrunner {
|
|
|
215
249
|
return;
|
|
216
250
|
}
|
|
217
251
|
}
|
|
252
|
+
async trackEvent(eventName, eventData) {
|
|
253
|
+
if (!this.token) {
|
|
254
|
+
console.error('Linkrunner: Track event failed, token not initialized');
|
|
255
|
+
return;
|
|
256
|
+
}
|
|
257
|
+
if (!eventName) {
|
|
258
|
+
return console.error('Linkrunner: Event name is required');
|
|
259
|
+
}
|
|
260
|
+
try {
|
|
261
|
+
const response = await fetch(baseUrl + '/api/client/capture-event', {
|
|
262
|
+
method: 'POST',
|
|
263
|
+
headers: {
|
|
264
|
+
'Accept': 'application/json',
|
|
265
|
+
'Content-Type': 'application/json'
|
|
266
|
+
},
|
|
267
|
+
body: JSON.stringify({
|
|
268
|
+
token: this.token,
|
|
269
|
+
event_name: eventName,
|
|
270
|
+
event_data: eventData,
|
|
271
|
+
device_data: await (0, _helper.device_data)(),
|
|
272
|
+
install_instance_id: await (0, _helper.getLinkRunnerInstallInstanceId)()
|
|
273
|
+
})
|
|
274
|
+
});
|
|
275
|
+
const result = await response.json();
|
|
276
|
+
if ((result === null || result === void 0 ? void 0 : result.status) !== 200 && (result === null || result === void 0 ? void 0 : result.status) !== 201) {
|
|
277
|
+
console.error('Linkrunner: Track event failed');
|
|
278
|
+
console.error('Linkrunner: ', result === null || result === void 0 ? void 0 : result.msg);
|
|
279
|
+
return;
|
|
280
|
+
}
|
|
281
|
+
if (__DEV__) {
|
|
282
|
+
console.log('Linkrunner: Tracking event', eventName, eventData);
|
|
283
|
+
}
|
|
284
|
+
return result === null || result === void 0 ? void 0 : result.data;
|
|
285
|
+
} catch (error) {
|
|
286
|
+
console.error('Linkrunner: Track event failed');
|
|
287
|
+
console.error('Linkrunner: ', error);
|
|
288
|
+
}
|
|
289
|
+
}
|
|
218
290
|
}
|
|
219
291
|
const linkrunner = new Linkrunner();
|
|
220
292
|
var _default = exports.default = linkrunner;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_reactNativeDeviceInfo","_interopRequireDefault","_helper","_package","obj","__esModule","default","package_version","packageJson","version","app_version","DeviceInfo","getVersion","baseUrl","initApiCall","token","source","link","fetch_result","fetch","method","headers","body","JSON","stringify","device_data","platform","install_instance_id","getLinkRunnerInstallInstanceId","result","json","status","Error","msg","__DEV__","console","log","data","error","Linkrunner","constructor","init","
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_reactNativeDeviceInfo","_interopRequireDefault","_helper","_package","obj","__esModule","default","package_version","packageJson","version","app_version","DeviceInfo","getVersion","baseUrl","initApiCall","token","source","link","_result$data","fetch_result","fetch","method","headers","body","JSON","stringify","device_data","platform","install_instance_id","getLinkRunnerInstallInstanceId","result","json","status","Error","msg","__DEV__","console","log","setDeeplinkURL","data","deeplink","error","Linkrunner","constructor","init","signup","user_data","response","err","message","triggerDeeplink","deeplink_url","getDeeplinkURL","Linking","openURL","then","catch","setUserData","capturePayment","amount","userId","paymentId","user_id","payment_id","removePayment","trackEvent","eventName","eventData","event_name","event_data","linkrunner","_default","exports"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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"}
|
package/lib/module/helper.js
CHANGED
|
@@ -93,5 +93,21 @@ function generateRandomString(length) {
|
|
|
93
93
|
const chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
|
|
94
94
|
return Array(length).fill(null).map(() => chars.charAt(Math.floor(Math.random() * chars.length))).join('');
|
|
95
95
|
}
|
|
96
|
-
|
|
96
|
+
const DEEPLINK_URL_STORAGE_KEY = 'linkrunner_deeplink_url';
|
|
97
|
+
async function setDeeplinkURL(deeplink_url) {
|
|
98
|
+
try {
|
|
99
|
+
await AsyncStorage.setItem(DEEPLINK_URL_STORAGE_KEY, deeplink_url);
|
|
100
|
+
} catch (error) {
|
|
101
|
+
console.error('Error setting deeplink URL:', error);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
async function getDeeplinkURL() {
|
|
105
|
+
try {
|
|
106
|
+
return await AsyncStorage.getItem(DEEPLINK_URL_STORAGE_KEY);
|
|
107
|
+
} catch (error) {
|
|
108
|
+
console.error('Error getting deeplink URL:', error);
|
|
109
|
+
return null;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
export { device_data, getLinkRunnerInstallInstanceId, setDeeplinkURL, getDeeplinkURL };
|
|
97
113
|
//# sourceMappingURL=helper.js.map
|
package/lib/module/helper.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DeviceInfo","getManufacturer","getSystemVersion","fetch","netinfoFetch","PlayInstallReferrer","AsyncStorage","Platform","ReactNativeIdfaAaid","device_data","getInstallReferrerInfo","Promise","resolve","OS","timeoutId","setTimeout","installReferrerInfo","error","clearTimeout","e","getAdvertisingIdentifier","identifier","getAdvertisingInfo","isAdTrackingLimited","id","connectivity","manufacturer","systemVersion","all","android_id","getAndroidId","api_level","getApiLevel","application_name","getApplicationName","base_os","getBaseOs","build_id","getBuildId","brand","getBrand","build_number","getBuildNumber","bundle_id","getBundleId","carrier","getCarrier","device","getDevice","device_id","getDeviceId","device_display","getDisplay","device_type","getDeviceType","device_name","getDeviceName","device_token","getDeviceToken","device_ip","getIpAddress","install_ref","getInstallReferrer","system_version","version","getVersion","type","user_agent","getUserAgent","gaid","idfa","idfv","getUniqueId","STORAGE_KEY","ID_LENGTH","getLinkRunnerInstallInstanceId","installInstanceId","getItem","generateRandomString","setItem","console","length","chars","Array","fill","map","charAt","Math","floor","random","join"],"sourceRoot":"../../src","sources":["helper.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["DeviceInfo","getManufacturer","getSystemVersion","fetch","netinfoFetch","PlayInstallReferrer","AsyncStorage","Platform","ReactNativeIdfaAaid","device_data","getInstallReferrerInfo","Promise","resolve","OS","timeoutId","setTimeout","installReferrerInfo","error","clearTimeout","e","getAdvertisingIdentifier","identifier","getAdvertisingInfo","isAdTrackingLimited","id","connectivity","manufacturer","systemVersion","all","android_id","getAndroidId","api_level","getApiLevel","application_name","getApplicationName","base_os","getBaseOs","build_id","getBuildId","brand","getBrand","build_number","getBuildNumber","bundle_id","getBundleId","carrier","getCarrier","device","getDevice","device_id","getDeviceId","device_display","getDisplay","device_type","getDeviceType","device_name","getDeviceName","device_token","getDeviceToken","device_ip","getIpAddress","install_ref","getInstallReferrer","system_version","version","getVersion","type","user_agent","getUserAgent","gaid","idfa","idfv","getUniqueId","STORAGE_KEY","ID_LENGTH","getLinkRunnerInstallInstanceId","installInstanceId","getItem","generateRandomString","setItem","console","length","chars","Array","fill","map","charAt","Math","floor","random","join","DEEPLINK_URL_STORAGE_KEY","setDeeplinkURL","deeplink_url","getDeeplinkURL"],"sourceRoot":"../../src","sources":["helper.ts"],"mappings":"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"}
|
package/lib/module/index.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { Linking } from 'react-native';
|
|
2
2
|
import DeviceInfo from 'react-native-device-info';
|
|
3
|
-
import { device_data, getLinkRunnerInstallInstanceId } from './helper';
|
|
3
|
+
import { device_data, getDeeplinkURL, getLinkRunnerInstallInstanceId, setDeeplinkURL } from './helper';
|
|
4
4
|
import packageJson from '../package.json';
|
|
5
5
|
const package_version = packageJson.version;
|
|
6
6
|
const app_version = DeviceInfo.getVersion();
|
|
7
7
|
const baseUrl = 'https://api.linkrunner.io';
|
|
8
8
|
const initApiCall = async (token, source, link) => {
|
|
9
9
|
try {
|
|
10
|
+
var _result$data;
|
|
10
11
|
const fetch_result = await fetch(baseUrl + '/api/client/init', {
|
|
11
12
|
method: 'POST',
|
|
12
13
|
headers: {
|
|
@@ -32,6 +33,7 @@ const initApiCall = async (token, source, link) => {
|
|
|
32
33
|
console.log('Linkrunner initialised successfully 🔥');
|
|
33
34
|
console.log('init response > ', result);
|
|
34
35
|
}
|
|
36
|
+
setDeeplinkURL(result === null || result === void 0 || (_result$data = result.data) === null || _result$data === void 0 ? void 0 : _result$data.deeplink);
|
|
35
37
|
return result === null || result === void 0 ? void 0 : result.data;
|
|
36
38
|
} catch (error) {
|
|
37
39
|
console.error('Error initializing linkrunner', error);
|
|
@@ -49,17 +51,15 @@ class Linkrunner {
|
|
|
49
51
|
this.token = token;
|
|
50
52
|
return await initApiCall(token, 'GENERAL');
|
|
51
53
|
}
|
|
52
|
-
async
|
|
54
|
+
async signup({
|
|
53
55
|
data,
|
|
54
|
-
user_data
|
|
55
|
-
config
|
|
56
|
+
user_data
|
|
56
57
|
}) {
|
|
57
58
|
if (!this.token) {
|
|
58
|
-
console.error('Linkrunner:
|
|
59
|
+
console.error('Linkrunner: Signup failed, token not initialized');
|
|
59
60
|
return;
|
|
60
61
|
}
|
|
61
62
|
try {
|
|
62
|
-
var _result$data, _result$data2;
|
|
63
63
|
const response = await fetch(baseUrl + '/api/client/trigger', {
|
|
64
64
|
method: 'POST',
|
|
65
65
|
headers: {
|
|
@@ -79,43 +79,77 @@ class Linkrunner {
|
|
|
79
79
|
});
|
|
80
80
|
const result = await response.json();
|
|
81
81
|
if ((result === null || result === void 0 ? void 0 : result.status) !== 200 && (result === null || result === void 0 ? void 0 : result.status) !== 201) {
|
|
82
|
-
console.error('Linkrunner:
|
|
82
|
+
console.error('Linkrunner: Signup failed');
|
|
83
83
|
console.error('Linkrunner: ', result === null || result === void 0 ? void 0 : result.msg);
|
|
84
84
|
return;
|
|
85
85
|
}
|
|
86
|
-
if (result !== null && result !== void 0 && (_result$data = result.data) !== null && _result$data !== void 0 && _result$data.deeplink && (config === null || config === void 0 ? void 0 : config.trigger_deeplink) !== false && result !== null && result !== void 0 && (_result$data2 = result.data) !== null && _result$data2 !== void 0 && _result$data2.trigger) {
|
|
87
|
-
var _result$data4;
|
|
88
|
-
if (__DEV__) {
|
|
89
|
-
var _result$data3;
|
|
90
|
-
console.log('Triggering deeplink > ', result === null || result === void 0 || (_result$data3 = result.data) === null || _result$data3 === void 0 ? void 0 : _result$data3.deeplink);
|
|
91
|
-
}
|
|
92
|
-
Linking.openURL(result === null || result === void 0 || (_result$data4 = result.data) === null || _result$data4 === void 0 ? void 0 : _result$data4.deeplink).then(() => {
|
|
93
|
-
fetch(baseUrl + '/api/client/deeplink-triggered', {
|
|
94
|
-
method: 'POST',
|
|
95
|
-
headers: {
|
|
96
|
-
'Accept': 'application/json',
|
|
97
|
-
'Content-Type': 'application/json'
|
|
98
|
-
},
|
|
99
|
-
body: JSON.stringify({
|
|
100
|
-
token: this.token
|
|
101
|
-
})
|
|
102
|
-
}).then(() => {
|
|
103
|
-
if (__DEV__) {
|
|
104
|
-
var _result$data5;
|
|
105
|
-
console.log('Linkrunner: Deeplink triggered successfully', result === null || result === void 0 || (_result$data5 = result.data) === null || _result$data5 === void 0 ? void 0 : _result$data5.deeplink);
|
|
106
|
-
}
|
|
107
|
-
}).catch(() => {});
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
86
|
if (__DEV__) {
|
|
111
|
-
console.log('Linkrunner:
|
|
87
|
+
console.log('Linkrunner: Signup called 🔥');
|
|
112
88
|
}
|
|
113
89
|
return result.data;
|
|
114
90
|
} catch (err) {
|
|
115
|
-
console.error('Linkrunner:
|
|
91
|
+
console.error('Linkrunner: Signup failed');
|
|
116
92
|
console.error('Linkrunner: ', err.message);
|
|
117
93
|
}
|
|
118
94
|
}
|
|
95
|
+
async triggerDeeplink() {
|
|
96
|
+
const deeplink_url = await getDeeplinkURL();
|
|
97
|
+
if (!deeplink_url) {
|
|
98
|
+
console.error('Linkrunner: Deeplink URL not found');
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
Linking.openURL(deeplink_url).then(() => {
|
|
102
|
+
fetch(baseUrl + '/api/client/deeplink-triggered', {
|
|
103
|
+
method: 'POST',
|
|
104
|
+
headers: {
|
|
105
|
+
'Accept': 'application/json',
|
|
106
|
+
'Content-Type': 'application/json'
|
|
107
|
+
},
|
|
108
|
+
body: JSON.stringify({
|
|
109
|
+
token: this.token
|
|
110
|
+
})
|
|
111
|
+
}).then(() => {
|
|
112
|
+
if (__DEV__) {
|
|
113
|
+
console.log('Linkrunner: Deeplink triggered successfully', deeplink_url);
|
|
114
|
+
}
|
|
115
|
+
}).catch(() => {
|
|
116
|
+
if (__DEV__) {
|
|
117
|
+
console.error('Linkrunner: Deeplink triggering failed', deeplink_url);
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
async setUserData(user_data) {
|
|
123
|
+
if (!this.token) {
|
|
124
|
+
console.error('Linkrunner: Set user data failed, token not initialized');
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
try {
|
|
128
|
+
const response = await fetch(baseUrl + '/api/client/set-user-data', {
|
|
129
|
+
method: 'POST',
|
|
130
|
+
headers: {
|
|
131
|
+
'Accept': 'application/json',
|
|
132
|
+
'Content-Type': 'application/json'
|
|
133
|
+
},
|
|
134
|
+
body: JSON.stringify({
|
|
135
|
+
token: this.token,
|
|
136
|
+
user_data,
|
|
137
|
+
device_data: await device_data(),
|
|
138
|
+
install_instance_id: await getLinkRunnerInstallInstanceId()
|
|
139
|
+
})
|
|
140
|
+
});
|
|
141
|
+
const result = await response.json();
|
|
142
|
+
if ((result === null || result === void 0 ? void 0 : result.status) !== 200 && (result === null || result === void 0 ? void 0 : result.status) !== 201) {
|
|
143
|
+
console.error('Linkrunner: Set user data failed');
|
|
144
|
+
console.error('Linkrunner: ', result === null || result === void 0 ? void 0 : result.msg);
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
return result.data;
|
|
148
|
+
} catch (err) {
|
|
149
|
+
console.error('Linkrunner: Set user data failed');
|
|
150
|
+
console.error('Linkrunner: ', err === null || err === void 0 ? void 0 : err.message);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
119
153
|
async capturePayment({
|
|
120
154
|
amount,
|
|
121
155
|
userId,
|
|
@@ -208,6 +242,44 @@ class Linkrunner {
|
|
|
208
242
|
return;
|
|
209
243
|
}
|
|
210
244
|
}
|
|
245
|
+
async trackEvent(eventName, eventData) {
|
|
246
|
+
if (!this.token) {
|
|
247
|
+
console.error('Linkrunner: Track event failed, token not initialized');
|
|
248
|
+
return;
|
|
249
|
+
}
|
|
250
|
+
if (!eventName) {
|
|
251
|
+
return console.error('Linkrunner: Event name is required');
|
|
252
|
+
}
|
|
253
|
+
try {
|
|
254
|
+
const response = await fetch(baseUrl + '/api/client/capture-event', {
|
|
255
|
+
method: 'POST',
|
|
256
|
+
headers: {
|
|
257
|
+
'Accept': 'application/json',
|
|
258
|
+
'Content-Type': 'application/json'
|
|
259
|
+
},
|
|
260
|
+
body: JSON.stringify({
|
|
261
|
+
token: this.token,
|
|
262
|
+
event_name: eventName,
|
|
263
|
+
event_data: eventData,
|
|
264
|
+
device_data: await device_data(),
|
|
265
|
+
install_instance_id: await getLinkRunnerInstallInstanceId()
|
|
266
|
+
})
|
|
267
|
+
});
|
|
268
|
+
const result = await response.json();
|
|
269
|
+
if ((result === null || result === void 0 ? void 0 : result.status) !== 200 && (result === null || result === void 0 ? void 0 : result.status) !== 201) {
|
|
270
|
+
console.error('Linkrunner: Track event failed');
|
|
271
|
+
console.error('Linkrunner: ', result === null || result === void 0 ? void 0 : result.msg);
|
|
272
|
+
return;
|
|
273
|
+
}
|
|
274
|
+
if (__DEV__) {
|
|
275
|
+
console.log('Linkrunner: Tracking event', eventName, eventData);
|
|
276
|
+
}
|
|
277
|
+
return result === null || result === void 0 ? void 0 : result.data;
|
|
278
|
+
} catch (error) {
|
|
279
|
+
console.error('Linkrunner: Track event failed');
|
|
280
|
+
console.error('Linkrunner: ', error);
|
|
281
|
+
}
|
|
282
|
+
}
|
|
211
283
|
}
|
|
212
284
|
const linkrunner = new Linkrunner();
|
|
213
285
|
export default linkrunner;
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Linking","DeviceInfo","device_data","getLinkRunnerInstallInstanceId","packageJson","package_version","version","app_version","getVersion","baseUrl","initApiCall","token","source","link","fetch_result","fetch","method","headers","body","JSON","stringify","platform","install_instance_id","result","json","status","Error","msg","__DEV__","console","log","data","error","Linkrunner","constructor","init","
|
|
1
|
+
{"version":3,"names":["Linking","DeviceInfo","device_data","getDeeplinkURL","getLinkRunnerInstallInstanceId","setDeeplinkURL","packageJson","package_version","version","app_version","getVersion","baseUrl","initApiCall","token","source","link","_result$data","fetch_result","fetch","method","headers","body","JSON","stringify","platform","install_instance_id","result","json","status","Error","msg","__DEV__","console","log","data","deeplink","error","Linkrunner","constructor","init","signup","user_data","response","err","message","triggerDeeplink","deeplink_url","openURL","then","catch","setUserData","capturePayment","amount","userId","paymentId","user_id","payment_id","removePayment","trackEvent","eventName","eventData","event_name","event_data","linkrunner"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
declare const device_data: () => Promise<Record<string, any>>;
|
|
2
2
|
declare function getLinkRunnerInstallInstanceId(): Promise<string>;
|
|
3
|
-
|
|
3
|
+
declare function setDeeplinkURL(deeplink_url: string): Promise<void>;
|
|
4
|
+
declare function getDeeplinkURL(): Promise<string | null>;
|
|
5
|
+
export { device_data, getLinkRunnerInstallInstanceId, setDeeplinkURL, getDeeplinkURL };
|
|
4
6
|
//# sourceMappingURL=helper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../../../src/helper.ts"],"names":[],"mappings":"AAaA,QAAA,MAAM,WAAW,QAAa,QAAQ,OAAO,MAAM,EAAE,GAAG,CAAC,CA+ExD,CAAC;AAKF,iBAAe,8BAA8B,IAAI,OAAO,CAAC,MAAM,CAAC,CAgB/D;
|
|
1
|
+
{"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../../../src/helper.ts"],"names":[],"mappings":"AAaA,QAAA,MAAM,WAAW,QAAa,QAAQ,OAAO,MAAM,EAAE,GAAG,CAAC,CA+ExD,CAAC;AAKF,iBAAe,8BAA8B,IAAI,OAAO,CAAC,MAAM,CAAC,CAgB/D;AAaD,iBAAe,cAAc,CAAC,YAAY,EAAE,MAAM,iBAMjD;AAED,iBAAe,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAOtD;AAED,OAAO,EAAE,WAAW,EAAE,8BAA8B,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC"}
|
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
import type { CampaignData, LRIPLocationData,
|
|
1
|
+
import type { CampaignData, LRIPLocationData, UserData } from './types';
|
|
2
2
|
declare class Linkrunner {
|
|
3
3
|
private token;
|
|
4
4
|
constructor();
|
|
5
5
|
init(token: string): Promise<void | LRInitResponse>;
|
|
6
|
-
|
|
7
|
-
config?: TriggerConfig;
|
|
6
|
+
signup({ data, user_data, }: {
|
|
8
7
|
data?: {
|
|
9
8
|
[key: string]: any;
|
|
10
9
|
};
|
|
11
10
|
user_data: UserData;
|
|
12
11
|
}): Promise<void | LRTriggerResponse>;
|
|
12
|
+
triggerDeeplink(): Promise<void>;
|
|
13
|
+
setUserData(user_data: UserData): Promise<any>;
|
|
13
14
|
capturePayment({ amount, userId, paymentId, }: {
|
|
14
15
|
paymentId?: string;
|
|
15
16
|
userId: string;
|
|
@@ -19,6 +20,7 @@ declare class Linkrunner {
|
|
|
19
20
|
paymentId?: string;
|
|
20
21
|
userId: string;
|
|
21
22
|
}): Promise<void>;
|
|
23
|
+
trackEvent(eventName: string, eventData?: Record<string, any>): Promise<any>;
|
|
22
24
|
}
|
|
23
25
|
declare const linkrunner: Linkrunner;
|
|
24
26
|
export type LRInitResponse = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAChB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAChB,QAAQ,EACT,MAAM,SAAS,CAAC;AAoDjB,cAAM,UAAU;IACd,OAAO,CAAC,KAAK,CAAgB;;IAMvB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,cAAc,CAAC;IAWnD,MAAM,CAAC,EACX,IAAI,EACJ,SAAS,GACV,EAAE;QACD,IAAI,CAAC,EAAE;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;SAAE,CAAC;QAC9B,SAAS,EAAE,QAAQ,CAAC;KACrB,GAAG,OAAO,CAAC,IAAI,GAAG,iBAAiB,CAAC;IA2C/B,eAAe;IA8Bf,WAAW,CAAC,SAAS,EAAE,QAAQ;IAoC/B,cAAc,CAAC,EACnB,MAAM,EACN,MAAM,EACN,SAAS,GACV,EAAE;QACD,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;KAChB;IAiDK,aAAa,CAAC,EAClB,MAAM,EACN,SAAS,GACV,EAAE;QACD,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;KAChB;IAsDK,UAAU,CACd,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CA6ClC;AAED,QAAA,MAAM,UAAU,YAAmB,CAAC;AAEpC,MAAM,MAAM,cAAc,GAAG;IAC3B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,YAAY,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CAAC;AAEzC,eAAe,UAAU,CAAC"}
|
package/package.json
CHANGED
package/src/helper.ts
CHANGED
|
@@ -122,4 +122,23 @@ function generateRandomString(length: number): string {
|
|
|
122
122
|
.join('');
|
|
123
123
|
}
|
|
124
124
|
|
|
125
|
-
|
|
125
|
+
const DEEPLINK_URL_STORAGE_KEY = 'linkrunner_deeplink_url';
|
|
126
|
+
|
|
127
|
+
async function setDeeplinkURL(deeplink_url: string) {
|
|
128
|
+
try {
|
|
129
|
+
await AsyncStorage.setItem(DEEPLINK_URL_STORAGE_KEY, deeplink_url);
|
|
130
|
+
} catch (error) {
|
|
131
|
+
console.error('Error setting deeplink URL:', error);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
async function getDeeplinkURL(): Promise<string | null> {
|
|
136
|
+
try {
|
|
137
|
+
return await AsyncStorage.getItem(DEEPLINK_URL_STORAGE_KEY);
|
|
138
|
+
} catch (error) {
|
|
139
|
+
console.error('Error getting deeplink URL:', error);
|
|
140
|
+
return null;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
export { device_data, getLinkRunnerInstallInstanceId, setDeeplinkURL, getDeeplinkURL };
|
package/src/index.ts
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { Linking } from 'react-native';
|
|
2
2
|
import DeviceInfo from 'react-native-device-info';
|
|
3
|
-
import { device_data, getLinkRunnerInstallInstanceId } from './helper';
|
|
3
|
+
import { device_data, getDeeplinkURL, getLinkRunnerInstallInstanceId, setDeeplinkURL } from './helper';
|
|
4
4
|
import type {
|
|
5
5
|
CampaignData,
|
|
6
6
|
LRIPLocationData,
|
|
7
|
-
TriggerConfig,
|
|
8
7
|
UserData,
|
|
9
8
|
} from './types';
|
|
10
9
|
import packageJson from '../package.json';
|
|
@@ -50,6 +49,8 @@ const initApiCall = async (
|
|
|
50
49
|
console.log('init response > ', result);
|
|
51
50
|
}
|
|
52
51
|
|
|
52
|
+
setDeeplinkURL(result?.data?.deeplink);
|
|
53
|
+
|
|
53
54
|
return result?.data;
|
|
54
55
|
} catch (error) {
|
|
55
56
|
console.error('Error initializing linkrunner', error);
|
|
@@ -74,17 +75,15 @@ class Linkrunner {
|
|
|
74
75
|
return await initApiCall(token, 'GENERAL');
|
|
75
76
|
}
|
|
76
77
|
|
|
77
|
-
async
|
|
78
|
+
async signup({
|
|
78
79
|
data,
|
|
79
80
|
user_data,
|
|
80
|
-
config,
|
|
81
81
|
}: {
|
|
82
|
-
config?: TriggerConfig;
|
|
83
82
|
data?: { [key: string]: any };
|
|
84
83
|
user_data: UserData;
|
|
85
84
|
}): Promise<void | LRTriggerResponse> {
|
|
86
85
|
if (!this.token) {
|
|
87
|
-
console.error('Linkrunner:
|
|
86
|
+
console.error('Linkrunner: Signup failed, token not initialized');
|
|
88
87
|
return;
|
|
89
88
|
}
|
|
90
89
|
|
|
@@ -109,51 +108,85 @@ class Linkrunner {
|
|
|
109
108
|
const result = await response.json();
|
|
110
109
|
|
|
111
110
|
if (result?.status !== 200 && result?.status !== 201) {
|
|
112
|
-
console.error('Linkrunner:
|
|
111
|
+
console.error('Linkrunner: Signup failed');
|
|
113
112
|
console.error('Linkrunner: ', result?.msg);
|
|
114
113
|
return;
|
|
115
114
|
}
|
|
116
115
|
|
|
117
|
-
if (
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
116
|
+
if (__DEV__) {
|
|
117
|
+
console.log('Linkrunner: Signup called 🔥');
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
return result.data;
|
|
121
|
+
} catch (err: any) {
|
|
122
|
+
console.error('Linkrunner: Signup failed');
|
|
123
|
+
console.error('Linkrunner: ', err.message);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
async triggerDeeplink() {
|
|
128
|
+
const deeplink_url = await getDeeplinkURL();
|
|
129
|
+
|
|
130
|
+
if (!deeplink_url) {
|
|
131
|
+
console.error('Linkrunner: Deeplink URL not found');
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
Linking.openURL(deeplink_url).then(() => {
|
|
136
|
+
fetch(baseUrl + '/api/client/deeplink-triggered', {
|
|
137
|
+
method: 'POST',
|
|
138
|
+
headers: {
|
|
139
|
+
'Accept': 'application/json',
|
|
140
|
+
'Content-Type': 'application/json',
|
|
141
|
+
},
|
|
142
|
+
body: JSON.stringify({
|
|
143
|
+
token: this.token,
|
|
144
|
+
}),
|
|
145
|
+
}).then(() => {
|
|
146
|
+
if (__DEV__) {
|
|
147
|
+
console.log('Linkrunner: Deeplink triggered successfully', deeplink_url);
|
|
148
|
+
}
|
|
149
|
+
}).catch(() => {
|
|
122
150
|
if (__DEV__) {
|
|
123
|
-
console.
|
|
151
|
+
console.error('Linkrunner: Deeplink triggering failed', deeplink_url);
|
|
124
152
|
}
|
|
153
|
+
});
|
|
154
|
+
});
|
|
155
|
+
}
|
|
125
156
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
'Content-Type': 'application/json',
|
|
132
|
-
},
|
|
133
|
-
body: JSON.stringify({
|
|
134
|
-
token: this.token,
|
|
135
|
-
}),
|
|
136
|
-
})
|
|
137
|
-
.then(() => {
|
|
138
|
-
if (__DEV__) {
|
|
139
|
-
console.log(
|
|
140
|
-
'Linkrunner: Deeplink triggered successfully',
|
|
141
|
-
result?.data?.deeplink
|
|
142
|
-
);
|
|
143
|
-
}
|
|
144
|
-
})
|
|
145
|
-
.catch(() => {});
|
|
146
|
-
});
|
|
147
|
-
}
|
|
157
|
+
async setUserData(user_data: UserData) {
|
|
158
|
+
if (!this.token) {
|
|
159
|
+
console.error('Linkrunner: Set user data failed, token not initialized');
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
148
162
|
|
|
149
|
-
|
|
150
|
-
|
|
163
|
+
try {
|
|
164
|
+
const response = await fetch(baseUrl + '/api/client/set-user-data', {
|
|
165
|
+
method: 'POST',
|
|
166
|
+
headers: {
|
|
167
|
+
'Accept': 'application/json',
|
|
168
|
+
'Content-Type': 'application/json',
|
|
169
|
+
},
|
|
170
|
+
body: JSON.stringify({
|
|
171
|
+
token: this.token,
|
|
172
|
+
user_data,
|
|
173
|
+
device_data: await device_data(),
|
|
174
|
+
install_instance_id: await getLinkRunnerInstallInstanceId(),
|
|
175
|
+
}),
|
|
176
|
+
});
|
|
177
|
+
|
|
178
|
+
const result = await response.json();
|
|
179
|
+
|
|
180
|
+
if (result?.status !== 200 && result?.status !== 201) {
|
|
181
|
+
console.error('Linkrunner: Set user data failed');
|
|
182
|
+
console.error('Linkrunner: ', result?.msg);
|
|
183
|
+
return;
|
|
151
184
|
}
|
|
152
185
|
|
|
153
186
|
return result.data;
|
|
154
187
|
} catch (err: any) {
|
|
155
|
-
|
|
156
|
-
|
|
188
|
+
console.error('Linkrunner: Set user data failed');
|
|
189
|
+
console.error('Linkrunner: ', err?.message);
|
|
157
190
|
}
|
|
158
191
|
}
|
|
159
192
|
|
|
@@ -273,6 +306,54 @@ class Linkrunner {
|
|
|
273
306
|
return;
|
|
274
307
|
}
|
|
275
308
|
}
|
|
309
|
+
|
|
310
|
+
async trackEvent(
|
|
311
|
+
eventName: string,
|
|
312
|
+
eventData?: Record<string, any>
|
|
313
|
+
) {
|
|
314
|
+
if (!this.token) {
|
|
315
|
+
console.error('Linkrunner: Track event failed, token not initialized');
|
|
316
|
+
return;
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
if (!eventName) {
|
|
320
|
+
return console.error('Linkrunner: Event name is required');
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
try {
|
|
324
|
+
const response = await fetch(baseUrl + '/api/client/capture-event', {
|
|
325
|
+
method: 'POST',
|
|
326
|
+
headers: {
|
|
327
|
+
'Accept': 'application/json',
|
|
328
|
+
'Content-Type': 'application/json',
|
|
329
|
+
},
|
|
330
|
+
body: JSON.stringify({
|
|
331
|
+
token: this.token,
|
|
332
|
+
event_name: eventName,
|
|
333
|
+
event_data: eventData,
|
|
334
|
+
device_data: await device_data(),
|
|
335
|
+
install_instance_id: await getLinkRunnerInstallInstanceId(),
|
|
336
|
+
}),
|
|
337
|
+
});
|
|
338
|
+
|
|
339
|
+
const result = await response.json();
|
|
340
|
+
|
|
341
|
+
if (result?.status !== 200 && result?.status !== 201) {
|
|
342
|
+
console.error('Linkrunner: Track event failed');
|
|
343
|
+
console.error('Linkrunner: ', result?.msg);
|
|
344
|
+
return;
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
if (__DEV__) {
|
|
348
|
+
console.log('Linkrunner: Tracking event', eventName, eventData);
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
return result?.data;
|
|
352
|
+
} catch (error) {
|
|
353
|
+
console.error('Linkrunner: Track event failed');
|
|
354
|
+
console.error('Linkrunner: ', error);
|
|
355
|
+
}
|
|
356
|
+
}
|
|
276
357
|
}
|
|
277
358
|
|
|
278
359
|
const linkrunner = new Linkrunner();
|