rn-linkrunner 0.9.0 → 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/README.md +81 -15
- package/lib/commonjs/helper.js +18 -0
- package/lib/commonjs/helper.js.map +1 -1
- package/lib/commonjs/index.js +106 -33
- 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 +107 -34
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/helper.d.ts +6 -0
- package/lib/typescript/src/helper.d.ts.map +1 -0
- package/lib/typescript/{index.d.ts → src/index.d.ts} +5 -3
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/lib/typescript/src/types.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/helper.ts +20 -1
- package/src/index.ts +122 -40
- package/lib/typescript/helper.d.ts +0 -4
- package/lib/typescript/helper.d.ts.map +0 -1
- package/lib/typescript/index.d.ts.map +0 -1
- package/lib/typescript/types.d.ts.map +0 -1
- /package/lib/typescript/{types.d.ts → src/types.d.ts} +0 -0
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?p_id=38&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
|
@@ -7,12 +7,14 @@ exports.default = void 0;
|
|
|
7
7
|
var _reactNative = require("react-native");
|
|
8
8
|
var _reactNativeDeviceInfo = _interopRequireDefault(require("react-native-device-info"));
|
|
9
9
|
var _helper = require("./helper");
|
|
10
|
+
var _package = _interopRequireDefault(require("../package.json"));
|
|
10
11
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
-
const package_version =
|
|
12
|
+
const package_version = _package.default.version;
|
|
12
13
|
const app_version = _reactNativeDeviceInfo.default.getVersion();
|
|
13
14
|
const baseUrl = 'https://api.linkrunner.io';
|
|
14
15
|
const initApiCall = async (token, source, link) => {
|
|
15
16
|
try {
|
|
17
|
+
var _result$data;
|
|
16
18
|
const fetch_result = await fetch(baseUrl + '/api/client/init', {
|
|
17
19
|
method: 'POST',
|
|
18
20
|
headers: {
|
|
@@ -38,6 +40,7 @@ const initApiCall = async (token, source, link) => {
|
|
|
38
40
|
console.log('Linkrunner initialised successfully 🔥');
|
|
39
41
|
console.log('init response > ', result);
|
|
40
42
|
}
|
|
43
|
+
(0, _helper.setDeeplinkURL)(result === null || result === void 0 || (_result$data = result.data) === null || _result$data === void 0 ? void 0 : _result$data.deeplink);
|
|
41
44
|
return result === null || result === void 0 ? void 0 : result.data;
|
|
42
45
|
} catch (error) {
|
|
43
46
|
console.error('Error initializing linkrunner', error);
|
|
@@ -55,17 +58,15 @@ class Linkrunner {
|
|
|
55
58
|
this.token = token;
|
|
56
59
|
return await initApiCall(token, 'GENERAL');
|
|
57
60
|
}
|
|
58
|
-
async
|
|
61
|
+
async signup({
|
|
59
62
|
data,
|
|
60
|
-
user_data
|
|
61
|
-
config
|
|
63
|
+
user_data
|
|
62
64
|
}) {
|
|
63
65
|
if (!this.token) {
|
|
64
|
-
console.error('Linkrunner:
|
|
66
|
+
console.error('Linkrunner: Signup failed, token not initialized');
|
|
65
67
|
return;
|
|
66
68
|
}
|
|
67
69
|
try {
|
|
68
|
-
var _result$data, _result$data2;
|
|
69
70
|
const response = await fetch(baseUrl + '/api/client/trigger', {
|
|
70
71
|
method: 'POST',
|
|
71
72
|
headers: {
|
|
@@ -85,43 +86,77 @@ class Linkrunner {
|
|
|
85
86
|
});
|
|
86
87
|
const result = await response.json();
|
|
87
88
|
if ((result === null || result === void 0 ? void 0 : result.status) !== 200 && (result === null || result === void 0 ? void 0 : result.status) !== 201) {
|
|
88
|
-
console.error('Linkrunner:
|
|
89
|
+
console.error('Linkrunner: Signup failed');
|
|
89
90
|
console.error('Linkrunner: ', result === null || result === void 0 ? void 0 : result.msg);
|
|
90
91
|
return;
|
|
91
92
|
}
|
|
92
|
-
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) {
|
|
93
|
-
var _result$data4;
|
|
94
|
-
if (__DEV__) {
|
|
95
|
-
var _result$data3;
|
|
96
|
-
console.log('Triggering deeplink > ', result === null || result === void 0 || (_result$data3 = result.data) === null || _result$data3 === void 0 ? void 0 : _result$data3.deeplink);
|
|
97
|
-
}
|
|
98
|
-
_reactNative.Linking.openURL(result === null || result === void 0 || (_result$data4 = result.data) === null || _result$data4 === void 0 ? void 0 : _result$data4.deeplink).then(() => {
|
|
99
|
-
fetch(baseUrl + '/api/client/deeplink-triggered', {
|
|
100
|
-
method: 'POST',
|
|
101
|
-
headers: {
|
|
102
|
-
'Accept': 'application/json',
|
|
103
|
-
'Content-Type': 'application/json'
|
|
104
|
-
},
|
|
105
|
-
body: JSON.stringify({
|
|
106
|
-
token: this.token
|
|
107
|
-
})
|
|
108
|
-
}).then(() => {
|
|
109
|
-
if (__DEV__) {
|
|
110
|
-
var _result$data5;
|
|
111
|
-
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);
|
|
112
|
-
}
|
|
113
|
-
}).catch(() => {});
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
93
|
if (__DEV__) {
|
|
117
|
-
console.log('Linkrunner:
|
|
94
|
+
console.log('Linkrunner: Signup called 🔥');
|
|
118
95
|
}
|
|
119
96
|
return result.data;
|
|
120
97
|
} catch (err) {
|
|
121
|
-
console.error('Linkrunner:
|
|
98
|
+
console.error('Linkrunner: Signup failed');
|
|
122
99
|
console.error('Linkrunner: ', err.message);
|
|
123
100
|
}
|
|
124
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
|
+
}
|
|
125
160
|
async capturePayment({
|
|
126
161
|
amount,
|
|
127
162
|
userId,
|
|
@@ -214,6 +249,44 @@ class Linkrunner {
|
|
|
214
249
|
return;
|
|
215
250
|
}
|
|
216
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
|
+
}
|
|
217
290
|
}
|
|
218
291
|
const linkrunner = new Linkrunner();
|
|
219
292
|
var _default = exports.default = linkrunner;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_reactNativeDeviceInfo","_interopRequireDefault","_helper","obj","__esModule","default","package_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,11 +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';
|
|
4
|
-
|
|
3
|
+
import { device_data, getDeeplinkURL, getLinkRunnerInstallInstanceId, setDeeplinkURL } from './helper';
|
|
4
|
+
import packageJson from '../package.json';
|
|
5
|
+
const package_version = packageJson.version;
|
|
5
6
|
const app_version = DeviceInfo.getVersion();
|
|
6
7
|
const baseUrl = 'https://api.linkrunner.io';
|
|
7
8
|
const initApiCall = async (token, source, link) => {
|
|
8
9
|
try {
|
|
10
|
+
var _result$data;
|
|
9
11
|
const fetch_result = await fetch(baseUrl + '/api/client/init', {
|
|
10
12
|
method: 'POST',
|
|
11
13
|
headers: {
|
|
@@ -31,6 +33,7 @@ const initApiCall = async (token, source, link) => {
|
|
|
31
33
|
console.log('Linkrunner initialised successfully 🔥');
|
|
32
34
|
console.log('init response > ', result);
|
|
33
35
|
}
|
|
36
|
+
setDeeplinkURL(result === null || result === void 0 || (_result$data = result.data) === null || _result$data === void 0 ? void 0 : _result$data.deeplink);
|
|
34
37
|
return result === null || result === void 0 ? void 0 : result.data;
|
|
35
38
|
} catch (error) {
|
|
36
39
|
console.error('Error initializing linkrunner', error);
|
|
@@ -48,17 +51,15 @@ class Linkrunner {
|
|
|
48
51
|
this.token = token;
|
|
49
52
|
return await initApiCall(token, 'GENERAL');
|
|
50
53
|
}
|
|
51
|
-
async
|
|
54
|
+
async signup({
|
|
52
55
|
data,
|
|
53
|
-
user_data
|
|
54
|
-
config
|
|
56
|
+
user_data
|
|
55
57
|
}) {
|
|
56
58
|
if (!this.token) {
|
|
57
|
-
console.error('Linkrunner:
|
|
59
|
+
console.error('Linkrunner: Signup failed, token not initialized');
|
|
58
60
|
return;
|
|
59
61
|
}
|
|
60
62
|
try {
|
|
61
|
-
var _result$data, _result$data2;
|
|
62
63
|
const response = await fetch(baseUrl + '/api/client/trigger', {
|
|
63
64
|
method: 'POST',
|
|
64
65
|
headers: {
|
|
@@ -78,43 +79,77 @@ class Linkrunner {
|
|
|
78
79
|
});
|
|
79
80
|
const result = await response.json();
|
|
80
81
|
if ((result === null || result === void 0 ? void 0 : result.status) !== 200 && (result === null || result === void 0 ? void 0 : result.status) !== 201) {
|
|
81
|
-
console.error('Linkrunner:
|
|
82
|
+
console.error('Linkrunner: Signup failed');
|
|
82
83
|
console.error('Linkrunner: ', result === null || result === void 0 ? void 0 : result.msg);
|
|
83
84
|
return;
|
|
84
85
|
}
|
|
85
|
-
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) {
|
|
86
|
-
var _result$data4;
|
|
87
|
-
if (__DEV__) {
|
|
88
|
-
var _result$data3;
|
|
89
|
-
console.log('Triggering deeplink > ', result === null || result === void 0 || (_result$data3 = result.data) === null || _result$data3 === void 0 ? void 0 : _result$data3.deeplink);
|
|
90
|
-
}
|
|
91
|
-
Linking.openURL(result === null || result === void 0 || (_result$data4 = result.data) === null || _result$data4 === void 0 ? void 0 : _result$data4.deeplink).then(() => {
|
|
92
|
-
fetch(baseUrl + '/api/client/deeplink-triggered', {
|
|
93
|
-
method: 'POST',
|
|
94
|
-
headers: {
|
|
95
|
-
'Accept': 'application/json',
|
|
96
|
-
'Content-Type': 'application/json'
|
|
97
|
-
},
|
|
98
|
-
body: JSON.stringify({
|
|
99
|
-
token: this.token
|
|
100
|
-
})
|
|
101
|
-
}).then(() => {
|
|
102
|
-
if (__DEV__) {
|
|
103
|
-
var _result$data5;
|
|
104
|
-
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);
|
|
105
|
-
}
|
|
106
|
-
}).catch(() => {});
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
86
|
if (__DEV__) {
|
|
110
|
-
console.log('Linkrunner:
|
|
87
|
+
console.log('Linkrunner: Signup called 🔥');
|
|
111
88
|
}
|
|
112
89
|
return result.data;
|
|
113
90
|
} catch (err) {
|
|
114
|
-
console.error('Linkrunner:
|
|
91
|
+
console.error('Linkrunner: Signup failed');
|
|
115
92
|
console.error('Linkrunner: ', err.message);
|
|
116
93
|
}
|
|
117
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
|
+
}
|
|
118
153
|
async capturePayment({
|
|
119
154
|
amount,
|
|
120
155
|
userId,
|
|
@@ -207,6 +242,44 @@ class Linkrunner {
|
|
|
207
242
|
return;
|
|
208
243
|
}
|
|
209
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
|
+
}
|
|
210
283
|
}
|
|
211
284
|
const linkrunner = new Linkrunner();
|
|
212
285
|
export default linkrunner;
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Linking","DeviceInfo","device_data","getLinkRunnerInstallInstanceId","package_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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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
declare const device_data: () => Promise<Record<string, any>>;
|
|
2
|
+
declare function getLinkRunnerInstallInstanceId(): Promise<string>;
|
|
3
|
+
declare function setDeeplinkURL(deeplink_url: string): Promise<void>;
|
|
4
|
+
declare function getDeeplinkURL(): Promise<string | null>;
|
|
5
|
+
export { device_data, getLinkRunnerInstallInstanceId, setDeeplinkURL, getDeeplinkURL };
|
|
6
|
+
//# sourceMappingURL=helper.d.ts.map
|
|
@@ -0,0 +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;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 = {
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,GAAG,WAAW,CAAC;IAC9B,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAAC;IACrC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,YAAY,CAAC;CAC7B,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,14 +1,14 @@
|
|
|
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';
|
|
9
|
+
import packageJson from '../package.json';
|
|
10
10
|
|
|
11
|
-
const package_version =
|
|
11
|
+
const package_version = packageJson.version;
|
|
12
12
|
const app_version: string = DeviceInfo.getVersion();
|
|
13
13
|
|
|
14
14
|
const baseUrl = 'https://api.linkrunner.io';
|
|
@@ -49,6 +49,8 @@ const initApiCall = async (
|
|
|
49
49
|
console.log('init response > ', result);
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
+
setDeeplinkURL(result?.data?.deeplink);
|
|
53
|
+
|
|
52
54
|
return result?.data;
|
|
53
55
|
} catch (error) {
|
|
54
56
|
console.error('Error initializing linkrunner', error);
|
|
@@ -73,17 +75,15 @@ class Linkrunner {
|
|
|
73
75
|
return await initApiCall(token, 'GENERAL');
|
|
74
76
|
}
|
|
75
77
|
|
|
76
|
-
async
|
|
78
|
+
async signup({
|
|
77
79
|
data,
|
|
78
80
|
user_data,
|
|
79
|
-
config,
|
|
80
81
|
}: {
|
|
81
|
-
config?: TriggerConfig;
|
|
82
82
|
data?: { [key: string]: any };
|
|
83
83
|
user_data: UserData;
|
|
84
84
|
}): Promise<void | LRTriggerResponse> {
|
|
85
85
|
if (!this.token) {
|
|
86
|
-
console.error('Linkrunner:
|
|
86
|
+
console.error('Linkrunner: Signup failed, token not initialized');
|
|
87
87
|
return;
|
|
88
88
|
}
|
|
89
89
|
|
|
@@ -108,51 +108,85 @@ class Linkrunner {
|
|
|
108
108
|
const result = await response.json();
|
|
109
109
|
|
|
110
110
|
if (result?.status !== 200 && result?.status !== 201) {
|
|
111
|
-
console.error('Linkrunner:
|
|
111
|
+
console.error('Linkrunner: Signup failed');
|
|
112
112
|
console.error('Linkrunner: ', result?.msg);
|
|
113
113
|
return;
|
|
114
114
|
}
|
|
115
115
|
|
|
116
|
-
if (
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
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(() => {
|
|
121
150
|
if (__DEV__) {
|
|
122
|
-
console.
|
|
151
|
+
console.error('Linkrunner: Deeplink triggering failed', deeplink_url);
|
|
123
152
|
}
|
|
153
|
+
});
|
|
154
|
+
});
|
|
155
|
+
}
|
|
124
156
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
'Content-Type': 'application/json',
|
|
131
|
-
},
|
|
132
|
-
body: JSON.stringify({
|
|
133
|
-
token: this.token,
|
|
134
|
-
}),
|
|
135
|
-
})
|
|
136
|
-
.then(() => {
|
|
137
|
-
if (__DEV__) {
|
|
138
|
-
console.log(
|
|
139
|
-
'Linkrunner: Deeplink triggered successfully',
|
|
140
|
-
result?.data?.deeplink
|
|
141
|
-
);
|
|
142
|
-
}
|
|
143
|
-
})
|
|
144
|
-
.catch(() => {});
|
|
145
|
-
});
|
|
146
|
-
}
|
|
157
|
+
async setUserData(user_data: UserData) {
|
|
158
|
+
if (!this.token) {
|
|
159
|
+
console.error('Linkrunner: Set user data failed, token not initialized');
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
147
162
|
|
|
148
|
-
|
|
149
|
-
|
|
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;
|
|
150
184
|
}
|
|
151
185
|
|
|
152
186
|
return result.data;
|
|
153
187
|
} catch (err: any) {
|
|
154
|
-
|
|
155
|
-
|
|
188
|
+
console.error('Linkrunner: Set user data failed');
|
|
189
|
+
console.error('Linkrunner: ', err?.message);
|
|
156
190
|
}
|
|
157
191
|
}
|
|
158
192
|
|
|
@@ -272,6 +306,54 @@ class Linkrunner {
|
|
|
272
306
|
return;
|
|
273
307
|
}
|
|
274
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
|
+
}
|
|
275
357
|
}
|
|
276
358
|
|
|
277
359
|
const linkrunner = new Linkrunner();
|
|
@@ -1 +0,0 @@
|
|
|
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;AAWD,OAAO,EAAE,WAAW,EAAE,8BAA8B,EAAE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,QAAQ,EACT,MAAM,SAAS,CAAC;AAiDjB,cAAM,UAAU;IACd,OAAO,CAAC,KAAK,CAAgB;;IAMvB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,cAAc,CAAC;IAWnD,OAAO,CAAC,EACZ,IAAI,EACJ,SAAS,EACT,MAAM,GACP,EAAE;QACD,MAAM,CAAC,EAAE,aAAa,CAAC;QACvB,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;IA2E/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;CAqDF;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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,GAAG,WAAW,CAAC;IAC9B,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAAC;IACrC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,YAAY,CAAC;CAC7B,CAAC"}
|
|
File without changes
|